„Számítógépes grafika és képfeldolgozás házi feladat kiírások” változatai közötti eltérés
új első hf kiírás |
Az első feladat szövege korrigálva az azóta módosított feladat-kiírásra, valamint az összes többi feladat szövegének bemásolása. |
||
| 5. sor: | 5. sor: | ||
</div> | </div> | ||
==2012/13 tavaszi félév== | ==2012/13 tavaszi félév== | ||
===Első feladat=== | === Első feladat === | ||
Készítsen breakout játékot, fejet hajtva a játékfejlesztés úttörői előtt. A 2D squash szobának három oldala van, mérete | |||
Készítsen breakout játékot, fejet hajtva a játékfejlesztés úttörői előtt. | |||
A 2D squash szobának három oldala van, mérete 40x40 méter. A falak 1 m vastagok. A fehér oldalfalak jól oda vannak betonozva, a piros hátsó fal téglái azonban kiüthetők (a téglák száma megválasztható, de legalább 5 és a tégla területe, és így a tömege a labdáénál nagyobb kell hogy legyen, hogy vissza tudja lökni a labdát). | |||
A játékosnak egy 4 m magas, 1m vastag téglalap alakú ütője van, amit az 'i' (föl), 'j' (balra), 'k' (jobbra) és 'm' (le) billentyűkkel mozgathat. A szobában egy 1 m sugarú sárga, köralakú labda pattog, vízszintes kezdősebessége 10 m/s, függőleges kezdősebessége 2 m/s, a falakkal rugalmasan ütközik (energia és impulzus megmarad). Az zöld ütő gyorsítja a labdát, egy ütéstől a mozgási energia 20%-kal nő. | |||
Az ütő sarkai le vannak gyalulva, azaz az ütközési normális a sarkon 45 fokos, ami lehetőséget ad arra, hogy az ütő sarkával is odasózzunk a labdának. A hátsó fal téglái az ütközés hatására a fizikai törvényeknek megfelelően kirepülnek. Súrlódás nincs. A szobát felülnézetből látjuk, a 2D kamera a szobán túl még egy 5 méteres sávot is befog. | |||
A használható OpenGL függvények: glBegin, glColor, glVertex2f, glEnd, glClearColor, glClear, glViewport, glMatrixMode, glLoadIdentity, gluOrtho2D. | |||
Extra élvezet profiknak: ne csak az impulzus, hanem a perdület is maradjon meg az ütközésnél. | |||
Beadási határidő: 2013. 03. 10. 23:59 | |||
=== Második feladat === | |||
Készítsen 2D editort, ami az egér balgomb lenyomásokat kontrolpontokként értelmezi, amelyekre egy piros Catmull-Rom (CR) spline-t és egy zöld CRI-spline-t is illeszt. | |||
A CRI spline interpolációs, a CR-hez hasonlóan harmadfokú és a kontrolpontokban C1 folytonos, másutt C2 (ezen feltételek nem teljesítése automatikus elutasítást von maga után). A CRI sebességvektora az i. kontrolpontban a megelőző és a következő kontrolpontok közötti átmenet átlagos sebessége (p[i+1]-p[i-1])/(t[i+1]-t[i-1]) (széleken megválasztható). | |||
A görbék a csomóértékeken közösködnek, amelyek az i. pont esetén t[i]=i+sin(i/5.0)*0.4. | |||
A ‘Z’ „zoom”-ol, azaz a kameraablak mérete felére csökken mialatt a közepe helyben marad, a ‘P’ pedig „pan”-nel, azaz a kameraablak a vízszintes méretének 10%-val balra, függőleges méretének 20%-val felfelé mozdul el. A két görbén egymással szemben periódikusan egy-egy nyíl szalad, a kezdőpontja a görbe adott időponthoz (sec-ben) tartozó pontja, egyébként pedig a sebességvektor skalárszorosa (látható legyen a képen). | |||
Beadási határidő: 2013. 03. 24. 23:59 | |||
=== Harmadik feladat === | |||
Jelenítsen meg egy piros-fehéres abroszon álló teli söröspoharat sugárkövetéssel! A színtérfelépítéséhez kizárólag általános kvadratikus felületeket (4x4-es szimmetrikus mátrixot), féltereket és halmazműveleteket használhat. A söröspohár a talpával stabilan áll az abroszon. Feltételezheti, hogy a látható tartomány minden hullámhosszán az üveg törésmutatója 1.5, a söré pedig 1.3. Az üveg és a sör hullámhossz függő hatáskeresztmetszetét "méréssel" állapítsa meg közelítőleg (figyelem, dimenzió)! A csendéletet világoskék ég és egy intenzív sárgás pontfényforrás világítja meg. A kamerát úgy kell felvenni, hogy az abrosz egy része és a söröspohár teljes szépségében pompázzon. Örömmel fogadjuk, ha a sörben levegőbuborék vannak, az abroszon pedig kausztika, de ezek nem kötelezők. | |||
Beadási határidő: 2013. 04. 14. 23:59 | |||
=== Negyedik feladat === | |||
Készítsen virtuális világot csempézett szobával, fókával és labdával. A padló textúrázott, diffúz/spekuláris csempe jellegű anyag. A fóka teste szabadformájú paraméteres felület (pl. Largange interpolációs felület, Bézier felület, nem klasszikus felület paraméteres formában), nem texúrázott, fekete, de spekulárisan csillogó. A fókának két szeme van, amelyeket forgathat, de a szemgolyók nem ugranak ki a szemgödörből. A strandlabda textúrázott és illuminált sárga-piros csíkos gömb. | |||
A szobában legalább egy pont vagy irányforrás világít (lehet több is). Az 'f' billentyűvel a kamerát egy lépéssel előre, a 'b'-vel pedig hátra vihetjük. | |||
Beadási határidő: 2013. 05. 05. 23:59 | |||
=== Ötödik feladat === | |||
A 4. feladat fókájába tegyen egy csontvázat (legalább két csont) és az ízületben végrehajtott elforgatást kösse az 's' (balra), 'd' (jobbra), 'e' (fel), 'x' (le) billentyűkre. Az 'a'-ra a fóka kicsit előrecsúszik, 'y'-ra hátra. | |||
A csontvázhoz kösse a fóka tesszellált bőrét (rigid binding), mégpedig úgy, hogy egy csúcsponthoz a legközelebbi csont tartozzon. A bőr követi a csontot, azaz elszenvedi annak transzformációját. | |||
A fókának fejelgetnie kell, azaz úgy kell irányítani a fókát, hogy a labda fején pattogjon. Az ütközésdetektáláshoz a fóka fejét közelítheti gömbbel. Az ütközés rugalmas, a fókafej sebessége a labda sebességéhez képest elhanyagolható. Kezdetben a labda éppen a fóka feje fölött van. A fóka két szeme mindig a labdára szegeződik. | |||
Beadási határidő: 2013. 05. 19. 23:59 | |||
==2012/13 őszi félév== | ==2012/13 őszi félév== | ||