Repository of FERIT Osijek
Not a member yet
4053 research outputs found
Sort by
Procedural generation of buildings in Blender using geometry nodes
Cilj ovog rada bio je napraviti Blender aplikaciju koja omogućuje proceduralno generiranje građevina koristeći geometrijske čvorove. Za stvaranje programskog rješenja korišten je priključak Open Street Map (OSM) i Quixel bridge aplikacija za uvoz 3D modela iz internetske baze podataka Megascans. Za proceduralno generiranje zgrada korištena je Blender aplikacija Buildify te je po uzoru na nju ugrađena funkcionalnost proceduralnog generiranja mostova. U korisničko sučelje izloženi su parametri koji mijenjaju svojstva generiranih objekata kako bi se olakšala njihova izmjena, odnosno kako bi bila moguća bez otvaranja i promjene postavki geometrijskih čvorova. Generiranje gradova omogućeno je integracijom OSM-a. Pri testiranju aplikacije potrebno je pravilno postaviti dimenzije objekata koji se koriste kako bi se postigli željeni rezultati. Aplikaciju je moguće proširiti dodavanjem podrške za rad sa zgradama kompleksnih oblika.The goal of this project was to create a Blender application which allows procedural generation of buildings using geometry nodes. Open Street Map (OSM) was a plug-in used in creation of this application, as well as the Quixel bridge application used for importing 3D models from a network library called Megascans. A blender application Buildify was used to enable procedural generation of buildings and, by its example, the function to procedurally generate bridges was added. Parameters which alter the properties of buildings are presented in the user interface in order to make their customization easier, precisely, making it possible without having to open the geometry nodes setup. City rendering was enabled by the use of the OSM plug-in. While testing this application, it's necessary to set the proper dimensions of objects used in order to ensure good results. It is possible to extend the application by adding support for working with buildings of complex shapes
Voxell space rendering application
Generiranje i iscrtavanje terena Voxel prostora zahtjeva rastavljanje prostora na manje isječke za lakše ažuriranje i manipuliranje prostorom. Kako su algoritmi za generiranje terena Voxel prostora i modela isječaka velike složenosti i računski zahtjevni, potrebno je strukturirati aplikaciju na način da se rastereti glavna nit koja iscrtava prostor prebacujući zadatak generiranja terena prostora i modela isječaka na druge niti kako bi se osigurale dobre performanse aplikacije. Pri tome je važno osmisliti model komunikacije niti koji osigurava sigurni i sinkroni pristup podacima o isječcima. Generiranje realističnog terena Voxel prostora je moguće koristeći generatore 2D i 3D šumova te preslikavajući njihove izlazne vrijednosti koristeći dodatne uvijete ili linearne interpolatore za dodatno oblikovanje terena. Koristeći generatore šuma moguće je generirati špilje unutar terena te ukrasiti isječke postavljajući dekoracije čiji položaj ovisi o izlazu generatora šuma. Zbog proceduralno generiranog terena koji se razlikuje za svaki isječak, potrebno je optimizirati modele isječaka koji se iscrtavaju na zaslon na način da se uklanjaju stranice kocaka koje nisu vidljive virtualnoj kameri unutar prostora čime se smanjuje vrijeme potrebno za iscrtavanje cijelog prostora na zaslon te omogućuje učitavanje većeg broja isječaka u memoriju i iscrtavanje istih. Za prilagođavanje izgleda vodenih površina u prostoru koriste se prilagođeni programi za sjenčanje verteksa i fragmenata koji omogućuje dodavanje efekata valova i efekta refleksije izvora svjetlosti na površini.Generating and rendering Voxel terrain requires splitting the Voxel space into smaller chunks which allows for easier terrain updating and manipulating. The algorithms used for generating Voxel space terrain and its model are complex and require lots of computing power. Structuring the application in a proper way is key to good performance of the application and is achieved by separating rendering from terrain and model generation into separate thread which require a good thread-communication model to ensure chunk data safety and synchronization. Genereating realistic Voxel terrain is posibble by using 2D and 3D noise generator and mapping their output using linear interpolators and additional conditions which can additionaly shape the terrain. Nosie generators are also used for generating caves inside the terrain and are also used to determine the placement of decorations. Because the terrain is procedurally generated, it is important to optimize chunk models by removing faces that are invisbile to the virtual camera inside the Voxel space. This ensures lower frame drawing time and allows for more chunks to be loaded into the memory and rendered. For modifying the appearance of water bodies across the Voxel terrain, custom Vertex and Fragment Shaders are used to create the effect of waves and light source reflection on the surface of the water
Voltage and frequency converters and applications
U ovome završnom radu riječ je o naponsko frekvencijskim pretvaračima i njihovoj primjeni. Na samom početku rada opisuju se područja primjene naponsko frekvencijskih pretvarača te kako su oni omogućili ili poboljšali rad istih. U drugom se poglavlju fokusira na električne strojeve kao najveće područje primjene naponsko frekvencijskih pretvarača te se opisuju osnove njihovog djelovanja kroz sheme i formule. U trećem poglavlju povezujemo osnove električnih strojeva s načinima upravljanja istih promjenom parametara napona i frekvencije. Tu spominjemo dva osnovna načina upravljanja naponsko frekvencijskim pretvaračem, skalarnom i vektorskom regulacijom. Nadalje poglavlje četiri govori o vrstama naponsko frekvencijskih pretvarača, njihovim prednostima i nedostatcima, detaljno se analiziraju sheme i funkciju svakog elementa u njoj. Na posljetku se govori o upravljačkom sklopu i efektivnosti naponsko frekvencijskog pretvarača i asinkroni stroja.This final paper is about voltage-frequency converters and their application. At the very beginning of the work, the areas of application of voltage-frequency converters are described and how they enabled or improved their operation. The second chapter focuses on electrical machines as the largest area of application of voltage-frequency converters, and the basics of their operation are described through schemes and formulas. In the third chapter, we connect the basics of electrical machines with ways of controlling them by changing voltage and frequency parameters. Here we mention two basic ways of controlling the voltage-frequency converter, scalar and vector regulation. Furthermore, chapter four talks about the types of voltage-frequency converters, their advantages and disadvantages, the schemes and the function of each element in it are analyzed in detail. Finally, we talk about the control unit and the effectiveness of the voltage-frequency converter and the asynchronous machine
Standard signals in industrial control systems
Rad opisuje standardne signale, njihove podjele, načine prijenosa, karakteristike, načine zaštite i ulogu u sustavima nadzora i upravljanje koji koriste PLC uređaje. Objašnjeni su glavni razlozi standardizacije signala u energetici i automatici.This work describes standard signals, their types, transmission, characteristics, protection methods and their tasks in supervisory control systems that use PLC devices. It explains the main reasons for standardizing signals in power engineering and automatics
Web application for solving systems of one linear and one quadratic equation
Cilj ovog rada bio je napraviti web aplikaciju za računanje sustava jedne linearne i jedne kvadratne jednadžbe koja osim što daje rješenje sustava, aplikacija daje i grafički prikaz jednadžbi. Napravljeno je istraživanje te su pronađene dvije aplikacije koje mogu računati sustav jedne linearne i jedne kvadratne jednadžbe. Nedostatci pronađenih aplikacija uklonjeni su u aplikaciji ovog rada. Korišteni alati za izradu ovog radu su Visual Studio Code i Gitlab. Korištene tehnologije za izradu ovog rada su HTML, CSS i JavaScript. Aplikacija je brza, točno računa sustav jedne linearne i jedne kvadratne jednadžbe i grafički prikazuje te jednadžbe na koordinatnom sustavu.The aim of this paper was to create a web application for solving systems of one linear and one quadratic equation, which not only provides solutions but also offers a graphical representation of the equations. Research was conducted, and two applications capable of solving systems of one linear and one quadratic equation were identified. The shortcomings of the discovered applications have been removed from application developed in this paper. The tools used for creating this paper were Visual Studio Code and GitLab. The technologies employed for this project include HTML, CSS, and JavaScript. The application is fast, accurately computes systems of one linear and one quadratic equation, and graphically displays these equations on a coordinate system
Microcontroller based gaming console
U ovom završnom radu je bilo potrebno omogućiti da korisnik igra igre pomoću
akcelerometra. Prikaz razvijene igre labirint i igre pong se prikazuje na LCD TFT zaslonu iz tog
razloga što to omogućava bolji korisnički doživljaj. Korisnik ima i mogućnost korištenja izbornika.
Korisnik se izbornikom služi pomoću joysticka. Ako korisnik želi izaći iz igre to može učiniti
pomoću tipke. Korisnik unutar izbornika ima i mogućnost uvida svojih postignutih bodova tijekom
igranja igara. Omogućeno je da korisnik ima i odabir kako želi napajati igraću konzolu. Odabir je
implementiran pomoću prekidača koji se nalazi na tiskanoj pločici na kojoj se nalazi zaslon,
joystick, tipke i akcelerometar. Omogućena su dva odabira načina napajanja , prvi odabir je
napajanje preko baterije. Igraća konzola se može napajati pomoću baterije jer svi moduli koji su
odabrani za razvoj igraće konzole rade na naponu od 3.3V. Baterija se uključi u konektor koji se
nalazi na tiskanoj pločici, na taj način korisnik može koristiti igraću konzolu i kretati se. Drugi
način je napajanje preko USB kabela, jedan dio kabela je uključen u izvor napajanja, a drugi dio
kabela je uključen u razvojnu pločicu, ovaj način ne omogućava da se korisnik slobodno kreće
tijekom igranja igre.In this final thesis, it was necessary to enable the user to play games using the
accelerometer. The developed games, including a maze and Pong, are displayed on the LCD TFT
screen to enhance the user experience. The user also has the option to navigate through a menu
using a joystick. If the user wishes to exit a game, they can do so using a button. Within the menu,
the user can also check their game scores. It's possible for the user to choose how to power the
gaming console, with the selection implemented using switches located on the printed circuit board
housing the screen, joystick, buttons, and accelerometer. Two power options are provided. The
first option is battery power. The gaming console can be powered by a battery since all modules
implemented for the development of the gaming console operate at a voltage of 3.3V. The battery
is connected to a connector on the printed circuit board, allowing the user to use the gaming
console and move around freely. The second option is power via a USB cable. One end of the
cable is connected to a power source, while the other end is connected to the development board.
This method does not allow the user to move freely during gameplay
Application for the organization and overview of football competitions
Ovaj završni rad omogućava jednostavnije stvaranje vlastitih natjecanja, turnira kao i liga, koje
drugi korisnici mogu pratiti. U svakom gradu ili selu se najčešće odražava nekakav oblik turnira
ili lige. Stvaranje takvog natjecanja može biti komplicirano, kao i praćenje istoga. Ova
aplikacija olakšava i stvaranje natjecanja i njegovo praćenje. Kako bi osoba kreirala natjecanje
potrebno je imati korisnički račun koji se može napraviti unutar aplikacije. Prilikom stvaranja
natjecanja stvaranju se timovi i igrači koji će sudjelovati u natjecanju. Osoba koja je stvorila
natjecanje također ga može ažurirati, a ostali korisnici mogu to natjecanje pratiti. U prvom
poglavlju opisan je zadatak te već postojeća rješenja. U drugom poglavlju opisane su
tehnologije koje su se koristile u aplikaciji. Treće poglavlje opisuje kako aplikacija izgleda,
navigacija između zaslona i kako je implementirana. U četvrtom poglavlju opisana je
arhitektura aplikacije, odnosno kako je sve raspoređeno unutar aplikacije, od samih paketa tako
i do klasa, odnosno obrasca MVVM. Potom je u zaključku opisan cilj te ukratko aplikacija.This final paper enables the easier creation of custom competitions, tournaments, and leagues
that other users can follow. In most towns or villages, some form of tournament or league is
commonly held. Creating such a competition can be complicated, as can tracking it. This
application simplifies both the creation and monitoring of competitions. To create a competition,
a person needs to have a user account that can be created within the application. When creating
a competition, teams and players who will participate in the competition are added. The person
who created the competition can also update it, and other users can follow that competition.
The first chapter describes the task and existing solutions. The second chapter discusses the
technologies used in the application. The third chapter describes how the application looks,
screen navigation, and its implementation. The fourth chapter describes the architecture of the
application, including how everything is organized within the application, from packages to
classes, following the MVVM pattern. Finally, the conclusion outlines the purpose of the
application briefly
A proactive auditory training system
U teorijskom dijelu rada navedene su osnovne informacije o problemima sluha, kao i metode
ublažavanja simptoma pojedinih problema primjenom auditornog treninga. Navedena su svojstva
auditornog treninga, razlike između formalnog i neformalnog treninga, te parametri koji utječu na
učinkovitost treninga. Navedeni su primjeri mobilnih i računalnih rješenja za auditorni trening i
njihove prednosti i mane. U praktičnom dijelu rada predstavljena je aplikacija Auditory Training.
Izrađena je s ciljem da poboljša kvalitetu sluha osobama s problemima sluha. Primjenjuju se
suvremene metode za auditorni trening, kao i značajna količina auditornih podražaja. Zamišljeni
način korištenja aplikacije je opisan uz prikaz ekrana i mehanizama koje implementiraju.Basic information about hearing problems and methods of soothing the symptoms of individual
hearing problems with the use of auditory training, are presented in the theoretical part of the
thesis. Also presented are the features of auditory training, differences between formal and
informal training and the parameters of training that affect its effectiveness. Examples of mobile
and computer-based solutions for auditory training are stated, as well as their advantages and
disadvantages. The application named Auditory Training is shown in the practical part of the
thesis. It was made to enhance the hearing quality of the hearing impaired. Modern methods of
auditory training are applied, as well as a significant quantity of auditory stimuli. The intended
way of using the application is described, including screens and the mechanisms they apply
Deep learning for brain tumor segmentation from MRI images
Tumori mozga, kao i svi ostali tumori nastaju nekontroliranom diobom stanica. Kako bih se ispravno planirala radioterapija, pratila progresija tumora te izabrala metoda liječenja, važno je ispravno ocrtavanje tumora. U ovom radu napravljen je model za automatsku segmentaciju GD pojačavajućeg tumora, peritumoralnog edema i nekrotične jezgre tumora bez povećanja. Za rješavanje ovog problema korištene su konvolucijske neuronske mreže, točnije U-Net arhitektura. Kod konvolucijskih neuronskih mreža protok informacija odvija se u samo jednom smjeru. U-Net arhitektura sastoji se od kodera, dekodera te mosta. Za izradu modela korišteni su Python, Keras, Google Colaboratory i ITK-snap. Za treniranje se koristio BraTS2020 skup podataka. Nakon predobrade i treniranja podataka dobiveni su sljedeći rezultati: Jaccard index iznosi 0.7123, Dice coefficient iznosi 0.7956, a iznos gubitka je 0.2151. Rezultati su relativno dobri, model se ne može koristiti kao zamjena za ručnu segmentaciju, ali se mogu koristiti za pomoć pri istoj.Brain tumors, like all other tumors, arise from uncontrolled cell division. In order to properly plan radiotherapy, monitor tumor progression and choose a treatment method, it is important to correctly label the tumor. In this paper, a model for automatic segmentation of GD-enhancing tumor, peritumoral edema and necrotic non-enhancing tumor core. To solve this problem, convolutional neural networks, more precisely the U-Net architecture, were used. In convolutional neural networks, information flows in only one direction. The U-Net architecture consists of an encoder, a decoder and a bridge. Python, Keras, Google Collaboratory and ITK-snap were used to create the model. The BraTS2020 dataset was used for training. After data preprocessing and training, the following results were obtained: Jaccard index is 0.7123, Dice coefficient is 0.7956, and the amount of loss is 0.2151. The results are relatively good, the model cannot be used instead of manual segmentation, but it can be used to help with it.
Brain tumors, like all other tumors, arise from uncontrolled cell division. In order to properly plan radiotherapy, monitor tumor progression and choose a treatment method, it is important to correctly label the tumor. In this paper, a model for automatic segmentation of GD-enhancing tumor, peritumoral edema and necrotic non-enhancing tumor core. To solve this problem, convolutional neural networks, more precisely the U-Net architecture, were used. In convolutional neural networks, information flows in only one direction. The U-Net architecture consists of an encoder, a decoder and a bridge. Python, Keras, Google Collaboratory and ITK-snap were used to create the model. The BraTS2020 dataset was used for training. After data preprocessing and training, the following results were obtained: Jaccard index is 0.7123, Dice coefficient is 0.7956, and the amount of loss is 0.2151. The results are relatively good, the model cannot be used instead of manual segmentation, but it can be used to help with it
Android application for tracking and planning personal home budget
Današnjim brzim rastom tehnologija, posebice pametnih uređaja kao što su tableti i telefoni,
omogućeno je olakšano odrađivanje svakodnevnih poslova i zadataka. Najviše zato što jer na koji god
problem naiđemo, već postoji nekakvo rješenje, jer je netko već imao takvih problema i za tu potrebu
kreirana je mobilna aplikacija. Svaka osoba danas većinu vremena uz sebe ima pametni mobilni uređaj
koji koristi z rješavanje svakodnevnih problema.
Odabran je problem praćenja financijskog budžeta. Za izradu rješenja ovog problema odabrana
je platforma Android zbog njene rasprostranjenosti i jednostavnosti korištenja. Uvidom u već gotove
primjere rješenja, odlučeno je napraviti aplikaciju koja omogućuje brzo i jednostavno rukovanje s
transakcijama. Omogućena je registracija korisnika kako bi se budžet mogao neometano pratiti s više
različitih uređaje u isto vrijeme.Today's rapid growth of technologies, especially smart devices such as tablets and phones, has
made it possible to perform everyday tasks and tasks more easily. Mostly for the reason that whatever
problem we come across, there is already some kind of solution, because someone has already had
such problems and a mobile application was created for that need. Today, every person has a smart
mobile device with them most of the time, which they use to solve everyday problems.
The problem of monitoring the financial budget was chosen. To create a solution to this
problem, the Android platform was chosen because of its prevalence and ease of use. By looking at
already finished examples of solutions, it was decided to create an application that enables quick and
easy handling of transactions. User registration is enabled so that the budget can be monitored without
interruption from several different devices at the same time