-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathFeladatok.txt
57 lines (29 loc) · 8.72 KB
/
Feladatok.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Első feladat
Hansel és Gretel hegyes-völgyes, 10km x 10km-es négyzet alakú, kerítéssel körbevett erdőben rohangál (gyorsan), ahol elvesztették egymást.
A legmélyebb völgy tengerszint feletti magassága 250m, a legmagasabb hegycsúcsé 1014m. A terep magasságát tetszőleges differenciálható, egynél több lokális minimummal és maximummal rendelkező függvénnyel definiálhatja, ami célszerűen különbözik a közeli barátok függvényeitől.
Az erdő egy (pszeudo) véletlenszerűen kiválasztott pontján egy 20 m magas torony tetején mobiltelefon antenna található. A 't' billentyű lenyomásának hatására a telefontársaság egy brigádja kiszáll és egy szempillantás alatt egy másik (pszeudo) véletlen pontra telepíti a tornyot. Hansel az egér bal gomb lenyomásának helyét, Gretel pedig a jobb gomb lenyomásának helyét célozza meg, újabb egéreseményeknél irányt váltanak, a kerítéshez érve billiárd golyóhoz hasonlóan visszaverődnek.
Értelemszerűen Hansel és Gretel a terepen halad. Hansel és Gretel terepmenti sebessége (figyelem, ez nem egyezik meg a felülnézetből észlelt sebességgel) V*(1-M/90), ahol V=1000 m/s a vízszintes talajon elérhető sebesség, M pedig a terep meredeksége fokban (lejtő esetén a meredekség negatív). A meredekséget a függvényből szimbolikus deriválással (azaz nem differenciahányados közelítéssel) kell számítani, célszerűen saját kézzel, nem pedig valamely matematikai csomag felhasználásával.
A világ aktuális állapotát felülnézetből kell megjeleníteni, ahol a terepet szürkeárnyalatos képként ábrázoljuk, a legmagasabb pont fehér, a legalacsonyabb pont fekete, a közbenső magasságok pedig arányosan szürkék. Hansel és Gretel a Mars, illetve a Vénusz jelét kapják, Hansel világoskék, Gretel pedig rózsaszín. A bolygók jelében található köröket százszöggel kell közelíteni. A torony felülnézetben egy sárga háromszögnek látszik. A feladat azon pillanatok azonosítása, amikor Gretel mobilozhat Hanselnek, azaz, amikor mindketten rálátnak az antennára. Ekkor a torony, Hansel és Gretel között egy piros háromszöget kell kirajzolni. A fénykép tetején egy progress-bar mutatja, hogy az idő hányad részében tudta elérni Gretel Hanselt.
A feladatot diszkrét-idő szimulációval kell megoldani, ahol a mintavételi idő 100 msec. A láthatóságot sugármasírozással (ray-marching) lehet ellenőrizni, legfeljebb 100m-res lépésközt alkalmazva.
Beadási határidő: 2012. 09. 30. 23:59
Második feladat
Középfölde királya új görbét talált fel, amit szerénytelenül KK-spline-nak nevezett el.
A következőképpen okoskodott: Minden egymás követő három vezérlőpontra egy másodfokú paraméteres görbét illesztünk, így két vezérlőpont között, a legelső és legutolsó párt kivéve, mindig két másodfokú paraméteres görbe látható, amelyek legyenek A és B. Egy másodfokú paraméteres görbe három pontját rendre kezdő, középső és megint kezdő pontnak hívjuk. Két vezérlőpont között az egyik vezérlőpont az A görbének a középső pontja a B görbének pedig a kezdő pontja. A másik vezérlőpont ugyanakkor a B görbének a középső pontja és az A kezdőpontja. A két görbeívből csináljunk egyetlen görbét konvex kombinációval úgy, hogy a középső pontban a másodfokú paraméteres görbe súlya 1, a kezdő, illetve végpontban pedig 0, közöttük pedig lineárisan változik.
Középfölde királya szeretné, ha a görbéje kiszorítaná a Catmull-Rom spline-t, ezért Önt kérte meg, hogy egy rajzolóprogramot írjon, demonstrálandó találmánya nagyszerűségét.
A rajzolóprogram a világot 0..1000 x 0..1000 mm-es négyzetben tárolja (ez felelne meg Powerpoint-ban a slide-nak), ezen kívül nem lehet rajzolni. Kezdetben a kameraablak bal alsó sarka a világ (100,100) koordinátájú pontjában van, a jobb-felső sarka pedig az (500,500) pontban. A rajzolóprogram az egér bal gomb lenyomására egy-egy újabb kontrollpontot vesz fel. A vezérlőpontok maximális száma 100. A vezérpontokhoz rendelt paraméterértékek tetszőleges olyan növekvő sorozatot alkothatnak, amelyben a növekmény az összes korábbitól különböző (pl. nem jó: 0,1,2,...; jó: 1, 2, 4, 7...). A kontrollpontokra KK-spline-t, és az összehasonlítás érdekében Catmull-Rom spline-t illeszt a program, és a teljes paramétertartományt 1000 részre osztva vektorizál, majd töröttvonalként rajzolja fel a két görbét. A KK-spline piros színben, a Catmull-Rom spline zöldben jelenik meg, ahol takarnák egymást, ott a KK-spline-nak van prioritása. Az egér jobb billentyűjének lenyomásával a görbéket ki lehet választani. Akkor választunk ki egy görbét, ha a vektorizált töröttvonal a kurzor körüli 5x5 pixel méretű négyzetet átmetszi. Ha egyszerre választjuk ki a KK-spline-t és a Catmull-Rom spline-t, akkor a KK-spline-nak van prioritása. Az egér jobb gomb újbóli lenyomása a kiválasztott görbét a két jobb klikk közötti elmozdulásnak megfelelően eltolja. A világba belezoomolni a z betű lenyomásával lehet, amikor a kurzor jelenlegi helye nem mozdul el, de a kamera ablak a zoom előtti mérethez képest tized akkorára esik össze, azaz a világ elemei a korábbihoz képest tízszer nagyobbnak fognak látszódni. Egymás után többször is lehet belezoomolni, amikor egyre nagyobb nagyítás érhető el. A kizoomolás művelet nem kötelező műsorszám, de igény esetén Z betűre megvalósítható.
Beadási határidő: 2012. 10. 23. 23:59
Harmadik feladat
Készítsen kétirányú sugárkövető programot, amely egy diffúz barnás téglalap asztalon álló üvegtéglába zárt aranytóruszt jelenít meg.
A tórusz az üvegben egy levegőbuborék belsejében helyezkedik el. A buborék választható ellipszoidnak, gömbnek, vagy akár téglatestnek is. A tóruszt geometriailag max 100 db, árnyalónormálokkal ellátott háromszögre kell bontani. A visszaverődési irányok számításánál a lineárisan interpolált árnyalónormállal kell dolgozni. A színteret az egy fehér pontfényforrás világítja meg, amely egy félgömb irányaiban egyenletes sugársűrűséggel világít. A színteret világos színű égbolt veszi közre, amely minden irányban egyenletesen sugárzó fényforrásként viselkedik. A fényforrások teljesítménye tetszőleges, pozitív értékre állítható, a cél, hogy a kép szép legyen. A kausztikus jelenségek kezelése miatt a lövőfázis a pontfényforrásból 10000 sugarat indít, amelyekből a simafelületekkel találkozottak végül az asztalhoz rendelt fotontérképben tárolja. A fotontérképpel indirekten és a fényforrással direkt módon megvilágított színteret sugárkövetéssel fényképezze le. A számított sugársűrűségeket lineáris vagy akár nem lineáris tone-mapping alkalmazásával kell a megjeleníthető dinamikai tartományba konvertálni.
Szépségverseny: A fényforrás, illetve az alakzatok mozgatásával video készíthető, amellyel szépségversenyen lehet indulni. Itt a paraméterekre semmiféle korlátozás sincs.
Beadási határidő: 2012. 11. 11. 23:59
Negyedik feladat
Készítsen helikoptert és alatta elterülő tájat. A helikopter (http://hu.wikipedia.org/wiki/Helikopter) háromszöghálóból, ellipszoidből és hengerből összerakott testtel rendelkezik, kétágú, forgatható főrotorja van (egy lapát egy téglatest), és háromágú csak kisebb farok rotorja.
A helikoptert a RPY szögeivel lehet kormányozni: R-E a roll, P-O a pitch, Y-X pedig a yaw szöget növeli, illetve csökkenti 20 fokkal. A virtuális kamera a helikopter felett van valamivel és kissé lefele néz, úgy, hogy az optikai tengelye a helikopter közepén átmenjen. A helikopter teste diffúz-spekuláris khaki-színűre van festve, a pilótafülke átlátszó, spekuláris, a forgólapátok szürke spekuláris jellegűek.
A helikopter pillanatnyi orientációját a kvaterniójának a megjelenítésével is megmutatjuk. Egy kvaterniót a helikopter közepéből induló piros diffúz-spekuláris nyíllal láttatjuk (nyíl=henger + a végén kúp), amelynek iránya párhuzamos a kvaternió képzetes részének irányával, hossza pedig arányos a valós rész abszolút értékével. Az arányossági tényezőt úgy kell beállítani, hogy 90 fokos elforgatásnál a nyíl kb. kétszer hosszabb legyen a helikopter hosszánál.
A tájat egy nagy tesszellált téglalapból kell létrehozni, amelyet procedúrális (!) textúrával látunk el. A tájon elszórt épületek állnak
A helikoptert és a tájat a nap (irányfényforrás) és az ég (ambiens fényforrás) világítja meg.
Beadási határidő: 2012. 12. 02. 23:59
ötödik feladat
Animálja a 4. feladat helikopterét a következőképpen. A fő és mellékrotor állandó szögsebességgel forog. Az R,P,Y (nagybetűkkel!) szögek a helikopter aktuális koordinátarendszeréhez képest értendők, azaz a helikopter saját magához képest kormányozzuk. A helikoptert két kormányzás között egyenesvonalú egyenletes mozgást végez előre, és egy a helikopterhez gumikötéllel odakötött, léggömbön függő kamerával követjük. A léggömbből adódó felhajtóerő állandó, a légellenállás a sebességgel arányos. A kamera mindig a gumikötés húzásának irányába néz. SPACE billenntyű lenyomására a helikopter egy gumilabdád lő ki, amely a terepen pattog, a "bounciness" 0.9, azaz az ütközéskor a merőleges sebesség abszolút értéke az eredeti 90 százaléka lesz.
Beadási határidő: 2012. 12. 10. 23:59