Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Računalna grafika
Computer Graphics
2021/2022
5 ECTSa
Informacijsko i programsko inženjerstvo 1.3 (IPI)
Organizacija poslovnih sustava 1.3 (OPS)
Baze podataka i baze znanja 1.3 (BPBZ)
Informatika u obrazovanju 1.3 (IUO)
Katedra za informatičke tehnologije i računarstvo
RI
3. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Cilj kolegija
Razumijevanje principa na kojima se temelji implementacija interaktivne 3D grafike na računalu. Radi se o izvrsnim primjerima kako se moderne tehnologije temelje na fundamentalnim matematičkim spoznajama koje ne zastarijevaju – složenost i sofisticiranost računalne grafike svakodnevno raste, ali principi ostaju isti. Upoznavanje s masovno-paralelnom arhitekturom modernih grafičkih procesora i načinima na koji se programiraju.
Preduvjeti
Kolegij nema definirane preduvjete
Norma kolegija
Predavanja
15 sati
Vježbe u praktikumu
30 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Hip Ivan Nositelj Predavanja 15 1 1
Horvat Damir Suradnik Vježbe u praktikumu 15 2 1
Sadržaj predavanja
  • Interaktivna 3D grafika
    Razvoj i primjena interaktivne 3D grafike: sustavi za računalno oblikovanje (CAD); vizualizacije u znanosti, medicini i obrazovanju; vizualne simulacije (simulatori letenja, vožnje i sl.); video igre. Izazovi interaktivne 3D grafike: reprezentacija objekata stvarnog ili zamišljenog svijeta u memoriji računala; projekcija i iscrtavanje na zaslon; simulacija ponašanja virtualnih objekata u skladu sa stvarnim iskustvom; efikasnost – interaktivnost s korisnikom zahtijeva da se aplikacija izvršava u realnom vremenu.
  • Geometrijske transformacije u 2D i njihova matrična reprezentacija
    Koordinatni sustavi i transformacije kod iscrtavanja. Lokalne, globalne i zaslonske koordinate. Homogene koordinate i matrična reprezentacija geometrijskih transformacija. Osnovne geometrijske transformacije u dvije dimenzije: translacija, rotacija, skaliranje i zrcaljenje. Inverzne transformacije. Kompozicija transformacija kao produkt matrica – operatora. Na vježbama se implementiraju matrični operatori za različite geometrijske transformacije.
  • Koordinatni sustavi i transformacije u 3D grafici
    Matrična reprezentacija geometrijskih transformacija u prostoru. Rotacija oko proizvoljne osi. Transformacija pogleda i koordinatni sustav kamere.
  • Ortogonalna i perspektivna projekcija
    Projekcija trodimenzionalnih objekata na dvodimenzionalni zaslon. Ortogonalna projekcija. Problem perspektive. Perspektivna projekcija. Na vježbama se eksperimentira s različitim transformacijama i animacijama žičanih modela u 3D.
  • Geometrijsko modeliranje
    Reprezentacijske sheme. Žičani prikaz. Reprezentacija površine trodimenzionalnih objekata pomoću mreže poligona. Konstruktivna stereometrija. Parametarske krivulje i plohe. Fraktali.
  • Programabilni grafički protočni sustav
    Paradigma programiranja 3D grafike na modernim grafičkim procesorima: programabilni grafički protočni sustav. Moderni GPU su masovno paralelna računala koja omogućavaju da se čitav niz zahtjevnih operacija izvede na razini hardvera. Procesori za sjenčanje vrhova i fragmenata.
  • Programiranje procesora za sjenčanje vrhova i fragmenata (engl. shadera)
    Geometrijska i rasterizacijska faza: programi za sjenčanje vrhova i fragmenata. Jezici za sjenčanje. Podrška za homogene koordinate, vektori i matrice kao tipovi podataka. Specifične vrste varijabli: attribute, uniform i varying. Prijenos podataka iz glavne memorije na GPU. Normirane koordinate. Crtanje linija i trokuta. Uklanjanje nevidljivih ploha: selektivno odbacivanje i spremnik dubine. Na vježbama se rade konkretni primjeri u jeziku za sjenčanje GLSL i programskom sučelju WebGL.
  • Modeli osvjetljavanja
    Optička svojstva površina. Refleksija, transmisija i apsorpcija. Ambijentalno svjetlo. Difuzna i zrcalna refleksija. Phongov model. Svojstva materijala. Vektori normale. Na vježbama se modeli osvjetljavanje implementiraju pomoću programa za sjenčanje vrhova i fragmenata.
  • Teksture
    Dodavanje površinskih detalja – tekstura. Učitavanje, inicijalizacija i pridruživanje tekstura na plohe. Koordinate vrhova i tekstura. Na vježbama se upoznaje s korištenjem tekstura za uvjerljivo modeliranje stvarnih objekata u virtualnom svijetu.
  • Simulacija fizike
    Sljedeći korak u realističnosti je da se animirani objekti ponašaju u skladu sa zakonima fizike – makroskopski objekti slijede zakone klasične mehanike. Mehanika materijalne točke. Mehanika krutog i deformabilnog tijela. Drugi Newtonov zakon. Integracija Eulerovom metodom. Na vježbama se implementira gibanje virtualnih objekata na koje djeluje gravitacijska sila.
  • Fraktalna geometrija prirode
    Šećer dolazi na kraju: euklidske metode ne daju realističan prikaz prirodnih objekata – ako želimo uvjerljivo prikazati drveće, planine ili oblake moramo posegnuti za metodama fraktalne geometrije. Fraktali i fraktalna dimenzija. Iteracije i područja konvergencije u kompleksnoj ravnini. Deterministički sebi-slični fraktali. Plazma fraktali. Modeli terena. Na vježbama studenti uživaju u čudesnim oblicima koji nastaju korištenjem jednostavnih iterativnih postupaka
  • Fourierove transformacije
    Razumijevanje ovog klasičnog, ali uvijek iznova fascinantnog poglavlje matematike omogućava razumijevanje principa na kojima se temelji kompresija, filtriranje i rekonstrukcija slikovnih i zvučnih zapisa. Fourierovi redovi. Fourierove transformacije. Inverzne Fourierove transformacije. Diskretne Fourierove transformacije. Na vježbama se ilustrira izračunavanje Fourierovih koeficijenata i aproksimacija periodičkih funkcija vodećim članovima odgovarajućeg Fourierovog reda.
  • Filtriranje i kompresija
    Diskretne Fourierove transformacije u dvije i više dimenzija. Potreba za efikasnom implementacijom. FFT – Fast Fourier Transform. Eliminacija određenih dijelova frekvencijskog spektra – filtriranje – uz pomoć diskretnih Fourierovih transformacija. Kompresija izostavljanjem visokofrekventnih Fourierovih modova. Moderne metode kompresije – JPEG i MP3 formati. Na vježbama studenti sami implementiraju i proučavaju efekte filtriranja i jednostavnih metoda kompresije.
  • Fraktalna geometrija prirode
    Šećer dolazi na kraju: euklidske metode ne daju realističan prikaz prirodnih objekata – ako želimo uvjerljivo prikazati drveće, planine ili oblake moramo posegnuti za metodama fraktalne geometrije. Fraktali i fraktalna dimenzija. Iteracije i područja konvergencije u kompleksnoj ravnini. Deterministički sebi-slični fraktali. Plazma fraktali. Modeli terena. Na vježbama studenti uživaju u čudesnim oblicima koji nastaju korištenjem jednostavnih iterativnih postupaka.
Sadržaj seminara/vježbi
  • Vježbe su integralni i esencijalni dio ovog kolegija, pa su opisane zajedno s predavanjima. Studenti
    • Vježbe su integralni i esencijalni dio ovog kolegija pa su opisane zajedno s predavanjima. Studenti će koristiti programske jezike Java, C i C++ za samostalno i kreativno rješavanje problema. Problemi, zajedno s relevantnim informacijama, fragmentima koda i savjetima korisnim za rješavanje, bit će zadani putem web stranica i sustava za e-učenje.
Ishodi učenja kolegija
  • Opisati principe interaktivne 3D grafike i računalne animacije.
  • Primijeniti i, po potrebi, implementirati matričnu reprezentaciju geometrijskih transformacija i projekcija u 3D.
  • Objasniti paradigme za efikasan rad s 3D grafikom koje su implementirane u suvremenom grafičkom sklopovlju i programskim sučeljima: virtualna scena, model kamere, grafički protočni sustav (engl. pipeline), procesori i programi za sjenčanje (engl. shading).
  • Primijeniti programsko sučelje WebGL u razvoju aplikacija koje koriste 3D grafiku.
  • Primijeniti jednostavnije modele osvjetljenja.
  • Primijeniti teksture.
  • Primijeniti fraktale za specijalne efekte i modele terena.
  • Implementirati fiziku - realno ponašanje virtualnih predmeta.
  • Kreirati složene interaktivne računalne programe s elementima numerike i simulacije koji se izvršavaju u realnom vremenu.
Ishodi učenja programa
  • Primijeniti etička načela, zakonsku regulativu i norme koje se koriste u struci
  • Procijeniti uvjete za primjenu suvremenih informacijskih i komunikacijskih tehnologija (IKT), savjetovati druge u primjeni IKT-a te u zadanom kontekstu odrediti utjecaj na pojedinca, organizaciju i društvo.
  • Modelirati probleme iz područja informacijskih i poslovnih sustava korištenjem matematičkih metoda, metoda razvoja informacijskih sustava i koncepata planiranja, upravljanja i poslovanja
  • Analizirati uvjete, donositi odluke, savjetovati druge te primijeniti odluke u zadanom kontekstu rješavanja problema iz područja informacijskih i poslovnih sustava
  • Vrednovati učinkovitost uvođenja i korištenja programskih rješenja i pripadajuće infrastrukture za konkretne problemske domene
  • Voditi interdisciplinarni tim i raditi u takvom timu te razviti planove upravljanja karijerom za sebe i članove tima uključujući elemente cjeloživotnog učenja i razvoj kompetencija poduzetnosti
  • Svrsishodno komunicirati na hrvatskom i stranom jeziku, unaprijediti komunikaciju sa svim dionicima (klijentima, korisnicima i kolegama) uz primjenu odgovarajuće terminologije uključujući popularizaciju suvremenih informatičkih trendova i tema
  • Primijeniti odgovarajuće metode i tehnike projektiranja, planiranja, razvoja i uvođenja složenog informacijskog sustava u suvremenim razvojnim okolinama
  • Optimizirati procese poslovnog sustava organizacije u suradnji sa stručnjacima odabirom metoda i koncepata planiranja, upravljanja organizacijom i analize poslovanja
  • Oblikovati softversku arhitekturu složenog informacijskog sustava, odabrati i postaviti njegovu odgovarajuću tehnološku platformu i sigurnosne mehanizme te programirati dijelove složenog sustava
  • Utvrditi uvjete za primjenu ključnih informacijskih tehnologija, procijeniti njihov učinak i u zadanom kontekstu donositi odluke i davati savjete vezano uz upravljanje IT uslugama i resursima
  • Analizirati uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz metodološke pristupe razvoju organizacijskih i informacijskih sustava
  • Osmsliti projekt učinkovitog unapređenja poslovnog sustava u osnovnim vertikalnim područjima uz korištenje suvremenih IKT, realizirati takav projekt vlastitim razvojem ili izborom odgovarajućeg standardnog softvera
  • Analizirati objekte poslovnog sustava te postaviti formalni model objektnog sustava kao temelj izgradnje informacijskog sustava.
  • Dizajnirati i izgraditi sustav temeljen na distribuiranim bazama podataka i velikim izvorima znanja korištenjem tehnika izgradnje velikih i distribuiranih podatkovnih sustava i razrješavanja konflikata između kompetitivnih izvora znanja.
  • Izgraditi računalni sustav za pohranu podataka i znanja uključujući digitalne arhive.
  • Predložiti poboljšanja poslovnog sustava temeljem optimiziranog modela poslovnih procesa i poslovnih pravila.
  • Modelirati i izgraditi analitički podatkovni sustav skladišta podataka i višedimenzionalnih kocaka temeljen na postojećem transakcijskom sustavu.
  • Izgraditi i optimizirati model procesa, klasa podataka i poslovnih pravila poslovnog sustava te predložiti poboljšanja poslovnog sustava.
  • Modelirati i izgraditi sustave temeljene na znanju i sustave za podršku u odlučivanju.
  • Identificirati potrebe za strategijskim i upravljačkim promjenama u organizacijama
  • Primijeniti metode upravljanja životnim ciklusom informacijskog sustava organizacije te osmisliti i primijeniti suvremene strategije nastupa na tržištu informatičkih proizvoda i usluga
  • Definirati elemente strategijskog kontinuuma i primijeniti metode strategijskog upravljanja uz potporu informacijsko komunikacijske tehnologije.
  • Razviti i validirati sustav mjerenja organizacijske učinkovitosti uz primjenu IKT
  • Analizirati tržište primjenom informacijsko-komunikacijskih tehnologija
  • Analizirati poslovne procese te preporučiti i primijeniti odgovarajuće informacijske i komunikacijske tehnologije za unapređenje poslovnih procesa
  • Prezentirati razvoj i organizaciju odgojno-obrazovnih sustava, povijest informatike i računarstva, ustroj odgojno-obrazovnog procesa, društvenu uvjetovanost odgojno-obrazovne prakse i primijeniti suvremene odgojno-obrazovne koncepcije
  • Organizirati nastavni proces uključujući i poučavanje upotrebom tehnologije i u kriznim uvjetima te osmisliti postupke za upravljanje procesom učenja i poučavanja uz primjenu odrednica djelovanja i ponašanja ljudske jedinke i dinamike grupe
  • Artikulirati nastavni sat primjenjujući primjerene nastavne metode i oblike rada, didaktičke principe i nastavna sredstva
  • Voditi pedagošku dokumentaciju, ispitivanje, ocjenjivanje i vrednovanje u skladu sa zakonskom regulativom i kriterijima osobne i profesionalne etičnosti
  • Poučavati učenike primjeni različitih oblika učenja, samovrednovanju i samoreguliranom učenju
  • Upravljati razrednim odjeljenjem, i surađivati s roditeljima i drugim strukturama unutar i izvan odgojno-obrazovne institucije
  • Primijeniti i sukreirati suvremene računalne sustave u dizajnu obrazovnog informacijskog sustava u nastavi u skladu s pedagoškim i metodičkim principima te ih popularizirati sukladno trendovima i potrebama
  • Primijeniti principe proceduralnog programiranja, interneta, weba, stolnih aplikacija u kontekstu rješavanja problema iz realnog svijeta
  • Formulirati problem iz realnog svijeta u smislu problemskog zadatka u informatici te ga znati riješiti i rješenje evaluirati
  • Izvoditi proces poučavanja u multikulturalnim i multietničkim sredinama i drugim posebnim uvjetima (treća dob, centri izvrsnosti …)
  • Strukturirati i procjenjivati osobna i profesionalna iskustva (razvijati refleksivnu praksu) uključujući cjeloživotno učenje
Osnovna literatura
  • Hearn, D.; Baker, M.P. Computer Graphics with OpenGL (3rd Edition), Prentice Hall, 2004.
Dopunska literatura
  • Klawonn, F. Introduction to Computer Graphics, Springer Verlag, 2008.
  • Mortenson, M.E. Mathematics for Computer Graphics Applications (2nd Edition), Industrial Press, 1999.
  • OpenGL Architecture Review Board, OpenGL Programming Guide (6th Edition), Addison-Wesley, 2008.
  • Luna, F. D. Introduction to 3D Game Programming with DirectX 10, Wordware Publishing, 2008.
  • Mandelbrot B. B. The Fractal Geometry of Nature, W. H. Freeman, 1982.
Slični kolegiji
  • Massachusetts Institute of Technology, http://graphics.lcs.mit.edu/classes/6.837/F02/lectures.html
  • Princeton University, http://www.cs.princeton.edu/courses/archive/spring03/cs426/
  • Brown University, http://www.cs.brown.edu/courses/cs123/lectures.shtml
  • University of Wisconsin, http://www.cs.wisc.edu/%7Eschenney/courses/cs559-s2004/
  • Technische Universität Wien, http://www.cg.tuwien.ac.at/courses/
Redoviti studenti Izvanredni studenti
izvanredni rok
Datum: 22.11.2024.
Vrijeme: 16:00
Opis: Na Fakultetu
izvanredni rok
Datum: 16.04.2025.
Vrijeme: 16:00
Opis: Na Fakultetu
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2024 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda