Web-grafika (VRML) 1. gyakorlat Nyitrai Erika Varga Balázs alapján Kereszty Gábor
VRML file-ok felépítése Minden VRML file egy egyszerű szövegfile A legtöbb böngésző nem tudja kezelni az ékezetes karaktereket, csak a 7 bites ASCII karaktereket Minden VRML file-t a wrl kiterjesztéssel kell elmenteni
VRML file-ok felépítése 2. A kis- és nagybetűk különbözőnek számítanak Minden VRML file első sorának kötelezően a következőnek kell lenni: #VRML V2.0 utf8 Megjegyzéseket a # után írhatunk
VRML file-ok felépítése 3. Minden VRML file csomópontokból épül fel A csomópontokat utasításnak is szoktuk nevezni A csomópontok egy vagy több mezőt tartalmaznak, melyek meghatározzák az adott csomópont tulajdonságait
VRML file-ok felépítése 4. A csomópontokat működési körük szerint a következő csoportokba sorolhatjuk: –Geometria utasítások –Tulajdonság utasítások –Érzékelő utasítások –Időzítő
VRML file-ok felépítése 5. A mezők négy adattal rendelkeznek: –Mezőtípus –Értéktípus –Név –Érték
VRML file-ok felépítése 6. A mezőtípusok a következők lehetnek: –field: értéke nem változhat a VRML világ élete során –exposedField: értéke változhat a VRML világ élete során –eventOut: kimeneti mező –eventIn: bemeneti mező
VRML file-ok felépítése 7. A mezők értéktípusait két csoportba sorolhatjuk: –Csak egy darab valamilyen típusú értéket tartalmazhat: SF előtag –Több azonos típusú értéket tartalmazhat: MF előtag Ebben az esetben az értékeket [ ] zárójelpár közé kell írni, és,-vel kell az értékeket elválasztani
VRML file-ok felépítése 8. Az értéktípusok a következők lehetnek: –Bool: logikai érték (TRUE, FALSE) –Color: színérték RGB összetevőkben megadva (piros: 1 0 0; kék: 0 0 1) –Float: lebegőpontos szám –Image: pixelgrafikus képet tartalmazó mező –Int32: 32 bites egész számot tartalmazó mező –Node: csomópontot tartalmazó mező
VRML file-ok felépítése 9. –Rotation: elforgatási értéket tartalmazó mező (pl. „z” tengely körüli 180 -os elforgatás: ) –String: szöveget tartalmazó mező –Time: időértéket tartalmazó mező –Vec2f: 2D vektort tartalmazó mező –Vec3f: 3D vektort tartalmazó mező
VRML file-ok felépítése 10. Box { field SFVec3f size } Csomópont neve Mezőtípus ÉrtéktípusMező értéke Mező neve
VRML file-ok felépítése 11. Box {size }
Alakzatok Alakzatok Shape { exposedField SFNode appearance NULL exposedField SFNode geometry NULL }
Geometria: Téglatest Box { field SFVec3f size }
Geometria: Gömb Sphere { field SFFloat radius 1 }
Geometria: Henger Cylinder {field SFFloat radius 1 field SFFloat height 2 field SFBool bottom TRUE field SFBool top TRUE field SFBool side TRUE }
Geometria: Kúp Cone { field SFFloat bottomRadius 1 field SFFloat height 2 field SFBool bottom TRUE field SFBool side TRUE }
Geometria: Szöveg Text { exposedField MFString string [ ] exposedField SFNode fontStyle NULL exposedField MFFloat length [ ] exposedField SFFloatmaxExtent 0 }
Geometria: További alakzatok Pontok Vonal Felület Rácsos felület Kihúzott felület
Geometria: Feladatok Hozz létre egy olyan gömböt, aminek sugara 1 egység! Rajzolj egy téglatestet, melynek élei x=1, y=2 és z=3 hosszúak! Készíts egy hengert, melynek a magassága 1 egység, az alapkörének sugara 2 egység, és a tetőlemez nem látszik!
Geometria: Feladatok 2 Hozz létre egy olyan kúpot, ami 3 egység magas és az alapkörének sugara 1! Írd ki „Hello World”, az alatta lévő sorba a mai dátumot! A dátum hátulról látszódjon!
Transzformációk Transform {eventIn MFNode addChildren eventIn MFNode removeChildren exposedFieldSFVec3f translation exposedField SFVec3f center exposedField SFRotation rotation exposedField SFVec3f scale exposedField SFRotation scaleOrientation field SFVec3f bboxCenter field SFVec3f bboxSize exposedField MFNode children [ ] }
Transzformációk: Feladatok Hozz létre a -1, -3, -5 pontba egy 3 magasságú kúpot, az alapkörének a sugara legyen 1 egység legyen. Az előbbi kúpot forgasd el a ‘z’ tengely körül 90º-kal negatív irányba.
Transzformációk: Feladatok 2 Az előző forgatást úgy hajtsd végre, hogy a forgás középpontja a kúp csúcsa legyen. Készítsünk egy 1 magas, 2 sugarú hengert amit összenyomtunk az x tg mentén az ¼- ére.
Transzformációk: Feladatok 3 Az előző torzítást hajtsuk végre, de a torzítás koordináta-rendszerét forgassuk el 45º-kal az y=z tg mentén.