1.067.081

kiadvánnyal nyújtjuk Magyarország legnagyobb antikvár könyv-kínálatát

A kosaram
0
MÉG
5000 Ft
a(z) 5000Ft-os
szállítási
értékhatárig

Háromdimenziós grafika, animáció és játékfejlesztés

Szerző
Lektor
Budapest
Kiadó: ComputerBooks Kft.
Kiadás helye: Budapest
Kiadás éve:
Kötés típusa: Fűzött kemény papírkötés
Oldalszám: 494 oldal
Sorozatcím:
Kötetszám:
Nyelv: Magyar  
Méret: 24 cm x 17 cm
ISBN: 963-618-303-1
Megjegyzés: Színes és fekete-fehér fotókkal, illusztrációkkal. CD-melléklet nélkül.
Értesítőt kérek a kiadóról

A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról
A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról

Előszó

A szemünk az egyik legfontosabb érzékszervünk. Hétköznapi tevékenységeink során túlnyomórészt a szemünkkel követjük környezetünk változásait, és ennek megfelelően döntünk saját cselekedeteinkről. A... Tovább

Előszó

A szemünk az egyik legfontosabb érzékszervünk. Hétköznapi tevékenységeink során túlnyomórészt a szemünkkel követjük környezetünk változásait, és ennek megfelelően döntünk saját cselekedeteinkről. A képek, a film és a televízió ezt a folyamatot kiterjesztették mind térben, mind pedig időben, hiszen segítségükkel olyan dolgokat is érzékelhetünk, amelyek tőlünk távol, vagy a valóságban sokkal korábban zajlottak le. A számítógépes grafika még tovább megy ezen az úton, és olyan világokba enged bepillantani, amelyek a valóságban sohasem léteztek. A nem létező, virtuális világokat a matematika nyelvén, számokkal adhatjuk meg. Számítógépünk a számokkal leírt virtuális világmodellt fényképezi le, azaz kiszámítja az ugyancsak számokat tartalmazó képet. A modellben szereplő számokat a kép számaira nagyon sokféleképpen alakíthatjuk át, amely végtelen sokféle lehetőséget ad grafikus rendszerek kialakítására. Ezek közül azokban mozgunk otthonosan, amelyek a mindennapjaink megszokott képeihez hasonlatosakkal kápráztatnak el bennünket, ezért célszerű a grafikus rendszert a természettől ellesett elvek szerint, azok analógiájára megalkotni. Amennyiben modellünk háromdimenziós térben elhelyezkedő tárgyakat tartalmaz, a fényképezés pedig a fénytan (<optika) alapján működik, akkor háromdimenziós grafikáról beszélünk. Az optikai analógia nem feltétlenül jelenti azt, hogy az optika törvényszerűségeit pontosan be is akarjuk tartani, csupán a számunkra legfontosabbakat tartjuk tiszteletben, a többit pedig szükség szerint egyszerűsítjük. A kiszámított kép leggyakrabban a számítógép monitoráról jut a felhasználó szemébe. Különleges alkalmazásokban azonban a képet a felhasználót körülvevő szoba falára, vagy akár a szemüvegének a felületére vetíthetjük úgy, hogy a felhasználó mozgásának megfelelően a képet mindig az új virtuális nézőpontnak megfelelően frissítjük. A szemüveges megoldásban a felhasználó a két szemével kissé eltérő képeket érzékelhet, így tényleges háromdimenziós élményhez juthat.
A valós életben már megszoktuk, hogy a környezetünk nem állandó, hanem szereplői mozognak, tulajdonságaik időben változnak. A virtuális világunk mozgatását animációnak nevezzük. Vissza

Tartalom

1. Bevezetés 1
1.1. A modellezés 1
1.2. A képszintézis 3
1.2.1. Mi a fény és hogyan érzékeljük? 4
1.2.2. A képszintézis lépései 5
2. Grafikus hardver és szoftver 7
2.1. A grafikus hardverek felépítése 7
2.2. A grafikus szoftverek felépítése 10
2.3. Programvezérelt és eseményvezérelt interakció 10
2.3.1. Programvezérelt interakció 10
2.3.2. Eseményvezérelt interakció 11
2.4. Programozás Windows környezetben 12
2.5. A grafikus hardver illesztése és programozása 18
2.5.1. OpenGL 21
2.5.2. GLUT 26
2.5.3. Ablakozó rendszer független OpenGL 31
3. Geometriai modellezés 33
3.1. Pontok, vektorok és koordinátarendszerek 33
3.1.1. A Descartes-koordinátarendszer 34
3.1.2. Program: Descartes-koordinátákkal definiált vektor 35
3.1.3. Síkbeli polár és térbeli gömbi koordinátarendszer 36
3.1.4. Baricentrikus koordináták 36
3.1.5. Homogén koordináták 38
3.2. Geometriai transzformációk 39
3.2.1. Eltolás 42
3.2.2. Skálázás a koordinátatengely mentén 42
3.2.3. Forgatás a koordinátatengelyek körül 42
3.2.4. Általános tengely körüli forgatás 44
3.2.5. A transzformációk támpontja 45
3.2.6. Az elemi transzformációk homogén koordinátás megadása 46
3.2.7. A középpontos vetítés 47
3.2.8. Koordinátarendszer-váltó transzformációk 50
3.2.9. Transzformáció-láncok 51
3.2.10. Program: transzformációs mátrixok 51
3.2.11. Nemlineáris transzformációk 52
3.3. Görbék 54
3.3.1. A törtvonal 55
3.3.2. Bézier-görbe 56
3.3.3. B-spline 58
3.3.4. B-spline görbék interpolációs célokra 66
3.3.5. Nem egyenletes racionális B-spline: NURBS 67
3.3.6. A görbék tulajdonságai 69
3.4. Felületek 70
3.4.1. Poligonok 71
3.4.2. Poligon modellezés 75
3.4.3. Felosztott felületek 76
3.4.4. Progresszív hálók 80
3.4.5. Implicit felületek 82
3.4.6. Parametrikus felületek 84
3.4.7. Kihúzott felületek 88
3.4.8. Forgásfelületek 90
3.4.9. Felületillesztés görbékre 91
3.5. Testek 92
3.5.1. Konstruktív tömörtest geometria alapú modellezés 92
3.5.2. Funkcionális reprezentáció 94
3.5.3. Cseppek, puha objektumok és rokonaik 94
3.6. Térfogati modellek 98
3.7. Modellek poligonhálóvá alakítása: tesszelláció 99
3.7.1. Sokszögek háromszögekre bontása 99
3.7.2. Delaunay-háromszögesítés 100
3.7.3. Paraméteres felületek és magasságmezők tesszellációja 101
3.7.4. CSG modellek tesszellációja 104
3.7.5. Funkcionális és térfogati modellek tesszellációja 105
3.7.6. Mérnöki visszafejtés 106
4. Színek és anyagok 107
4.1. A színérzet kialakulása 107
4.2. A színillesztés 108
4.3. A színek definiálása 109
4.4. Színleképzés a háromdimenziós grafikában 111
4.5. A hétköznapi életben előforduló anyagok 112
4.6. Anyagok a háromdimenziós grafikában 113
4.6.1. Fényforrások 113
4.6.2. A kétirányú visszaverődés eloszlási függvény 114
4.7. Spektrális képszintézis 115
4.8. Anyagmodellek 116
4.8.1. Lambert-törvény 116
4.8.2. Ideális visszaverődés 117
4.8.3. Ideális törés 119
4.8.4. A spekuláris visszaverődés Phong-modellje 119
4.8.5. A spekuláris visszaverődés Phong-Blinn modellje 120
4.8.6. Cook-Torrance modell 121
4.8.7. Összetett anyagmodellek 122
4.8.8. Az árnyalási egyenlet egyszerűsített változata 123
4.8.9. Anyagon belüli szóródás 124
4.9. Textúrák 124
4.9.1. Paraméterezés 125
4.9.2. Közvetítő felületek használata 128
5. Virtuális világ 129
5.1. Hierarchikus adatszerkezet 129
5.1.1. A színtérgráf 130
5.1.2. A Java3D színtérgráf 131
5.1.3. A VRML színtérgráf I34
5.1.4. Maya hipergráf 136
5.1.5. CSG-fa 138
5.2. A geometriai primitívek 138
5.2.1. A geometria és a topológia szétválasztása 138
5.2.2. Poligonhálók 139
5.2.3. Parametrikus felületek 143
5.3. Világmodellek fájlokban 143
5.3.1. Formális nyelvek 144
5.3.2. Wavefront OBJ fájlformátum beolvasása 148
5.3.3. A VRML 2.0 fájlformátum beolvasása 154
5.4. Világmodellek felépítése a memóriában 156
6. Sugárkövetés 161
6.1. Az illuminációs modell egyszerűsítése 162
6.2. A tükör- és törési irányok kiszámítása 165
6.3. Metszéspontszámítás felületekre 167
6.3.1. Háromszögek metszése 167
6.3.2. Implicit felületek metszése 170
6.3.3. Paraméteres felületek metszése 171
6.3.4. Transzformált objektumok metszése 171
6.3.5. CSG modellek metszése 172
6.4. A metszéspontszámítás gyorsítási lehetőségei 173
6.4.1. Befoglaló keretek 174
6.4.2. Az objektumtér szabályos felosztása 174
6.4.3. Az oktális fa 175
6.4.4. A kd-fa 177
6.5. Program: rekurzív sugárkövetés 181
7. Inkrementális képszintézis 189
7.1. Nézeti csővezeték 191
7.2. Nézeti transzformáció 193
7.3. A perspektív transzformáció 194
7.3.1. Perspektív transzformáció a normalizált nézeti gúlából 196
7.4. Vágás 198
7.4.1. Vágás homogén koordinátákkal 198
7.5. Képernyő transzformáció 201
7.6. A takarási feladat megoldása 201
7.6.1. Triviális hátsólap eldobás 202
7.6.2. Z-buffer algoritmus 202
7.7. Árnyalás 205
7.7.1. Fényforrások 206
7.7.2. Anyagok 207
7.7.3. Árnyalási módok 208
7.8. Program: Egyszerű színtér megjelenítése 211
7.9. Stencil buffer 212
7.10. Átlátszóság 213
7.11. Textúra leképzés 214
7.12. Textúra leképzés az OpenGL-ben 217
7.12.1. Textúra definíció 217
7.12.2. Textúrák és a megvilágítás kombinálása 219
7.12.3. Paraméterezés 219
7.13. A textúrák szűrése 220
7.13.L Határsáv 223
7.14. Multitextúrázás 223
7.15. Fénytérképek 225
7.16. Bucka leképzés 226
7.17. Környezet leképzés 228
7.18. Árnyékszámítás 228
7.18.1. Síkra vetített árnyékok 228
7.18.2. Árnyéktestek 232
7.18.3. Árnyékszámítás z-buffer segítségével 235
7.19. A 3D grafikus hardver 238
7.19.1. Csúcspont-árnyalók 239
7.19.2. Pixel-árnyalók 241
7.19.3. Magasszintű árnyaló nyelvek 242
8. Globális illumináció 243
8.1. Pont és irányhalmazok 244
8.1.1. A fényerősség alapvető mértékei 245
8.1.2. A fotometria alaptörvénye 246
8.2. A fény-felület kölcsönhatás: az árnyalási egyenlet 247
8.3. Térfogati fényjelenségek 250
8.4. A képszintézis feladat elemei 252
8.4.1. BRDF-modellek 252
8.4.2. Mérőműszerek 254
8.5. Az árnyalási egyenlet megoldása 259
8.6. Monte-Carlo integrálás 263
8.6.1. Kvázi Monte-Carlo módszerek 265
8.6.2. A fontosság szerinti mintavételezés 267
8.7. Az árnyalási egyenlet megoldása véletlen gyűjtősétákkal 269
8.8. Az árnyalási egyenlet megoldása véletlen lövősétákkal 271
8.9. Fontosság szerinti mintavételezés a véletlen bolyongásnál 274
8.9.1. BRDF mintavételezés 275
8.9.2. A fényforrás mintavételezése 278
8.9.3. Orosz rulett 279
8.9.4. BRDF mintavételezés összetett anyagmodellekre 280
8.9.5. Fontosság szerinti mintavételezés színes terekben 281
8.10. Véletlen bolyongási algoritmusok 282
8.10.1. Inverz fényútkövetés 283
8.10.2. Fénykövetés 285
8.10.3. Kétirányú fényútkövetés 286
8.10.4. Metropolis-fénykövetés 290
8.10.5. Foton térkép 294
8.11. A globális illuminációs feladat iterációs megoldása 297
8.11.1. Végeselem-módszer 298
8.11.2. Párhuzamos sugárköteg módszer 301
8.11.3. Perspektív sugárköteg módszer 302
8.11.4. Sugárlövés módszer 302
9. Animáció 303
9.1. Folyamatos mozgatás különböző platformokon 305
9.2. Dupla bufferelés 307
9.3. Valószerű mozgás feltételei 308
9.4. Pozíció-orientáció mátrixok interpolációja 310
9.5. Az orientáció jellemzése kvaternióval 312
9.5.1. Interpoláció kvaterniókkal 319
9.6. A mozgásgörbék megadási lehetőségei 320
9.7. Képlet animáció 323
9.8. Kulcskeret animáció 325
9.8.1. Animációs spline-ok 327
9.9. Pálya animáció 334
9.10. Fizikai animáció 337
9.10.1. Kiterjedt testek haladó mozgása és forgása 338
9.10.2. Merev testek mozgásegyenletei 340
9.10.3. A tehetetlenségi mátrix tulajdonságai 345
9.10.4. Ütközésdetektálás 347
9.10.5. Ütközésválasz 351
9.10.6. A merev testek mozgásegyenleteinek megoldása 355
9.11. A hierarchikus mozgás 359
9.11.1. Program: a primitív ember 361
9.12. Deformációk 366
9.13. Karakteranimáció 367
9.13.1. Előremenő kinematika 369
9.13.2. Inverz kinematika 369
9.13.3. Bőrözés 373
9.14. Mozgáskövető animáció 374
9.15. Valós és virtuális világok keverése 376
10. Számítógépes játékok 379
10.1. A felhasználói beavatkozások kezelése 381
10.1.1. a billentyűzet és az egér kezelése GLUT környezetben 382
10.1.2. a billentyűzet és az egér kezelése Ms-Windows környezetben 385
10.2. A játékmotor
10.2.1. A Camera osztály
10.2.2. A GameObject osztály 387
10.2.3. A Member osztály 390
10.2.4. Az Avatar osztály
10.2.5. A TexturedObject osztály 395
10.2.6. Plakátok: a Billboard osztály 397
10.2.7. Részecskerendszerek: a ParticleSystem osztály 401
10.2.8. A játékmotor osztály 406
10.3. Az űrharc játék 407
10.3.1. A bolygók 408
10.3.2. Az űr 412
10.3.3. Az űrhajó 413
10.3.4. A fotonrakéta 419
10.3.5. A robbanás 420
10.3.6. Az avatár 421
10.3.7. Az űrhajós játék főosztálya 423
10.4. Hierarchikus szereplők 424
10.5. Mozgó karakterek 427
10.6. Terepek 435
10.7. A hegyivadász játék 438
10.7.1. Az ég 439
10.7.2. A hegyvidék 439
10.7.3. Az ellenségek 440
10.7.4. A lövedék 445
10.7.5. Az avatár 446
10.7.6. A hegyivadász játék főosztálya 447
10.8. A teljesítmény növelése 447
10.8.1. Megjelenítési listák 448
10.8.2. Részletezettségi szintek 449
10.8.3. Láthatatlan részek eldobása 449
10.8.4. Térparticionáló adatstruktúrák 450
11. DirectX 453
11.1. Program: HelloDirectX alkalmazás 455
11.2. Program: VRML színtér megjelenítése 460
11.3. OpenGL kontra DirectX 463
Megvásárolható példányok

Nincs megvásárolható példány
A könyv összes megrendelhető példánya elfogyott. Ha kívánja, előjegyezheti a könyvet, és amint a könyv egy újabb példánya elérhető lesz, értesítjük.

Előjegyzem