Skip navigation

Beépített geometria példák, feladatok

Példaprogram

Próbáljuk ki a ThreeJsCubeTransformCommon példaprogramot!

Egy kocka modellen tesztelhetjük a pozíciós, forgató és skálázó paraméterek hatását. A paraméter értékeket interaktívan módosíthatjuk. Az elforgatási szög fokokban jelenik meg a panelen, ezt számítjuk át radiánba a rendereléskor.

A színtérben elhelyeztünk még egy AxisHelper objektumot, amely a kocka lokális koordináta-rendszerét mutatja. Ezen tengelyek mentén történik a skálázás (a méretváltozást a tengely hosszváltozásán is követhetjük). Az eltolás a világ koordináta-rendszer tengelyei mentén történik. A forgatás egy kicsit komplexebb, részletesebben a geometriai transzformációk tárgyalásánál nézzük meg.

Figyeljük meg, hogy a Z-tengely menti eltolás hatása nem látható. Ennek oka, hogy párhuzamos vetítésű kameránk van, ami a Z-tengely irányából nézi a színteret.

Próbáljuk ki, hogy mi történik, ha a skála értékeket kinullázzuk!

Feladat

Módosítsuk a kamerapozíciót úgy, hogy a (150, 100, 200) pontból nézzen az origó felé! Ekkor a Z-tengely menti eltolás hatását is látni fogjuk.

Feladat

Készítsünk el a következő modellt!

Kiindulás

  • Használjuk fel a ThreeJsObjectTesterSkeleton példaprogramot, ami a programozási keretet definiálja.

Helyezzünk el egy sík lapot úgy, hogy ne az XY, hanem az XZ síkon legyen!

  • Segítség: a létrehozása után forgassuk el az X-tengely körül -90 fokkal.
// Talaj
var groundGeometry = new THREE.PlaneGeometry( 20, 20 );

var groundMaterial = new THREE.MeshBasicMaterial( {
color: 0x008000,
wireframe: false,
side: THREE.DoubleSide
} );
var groundMesh = new THREE.Mesh( groundGeometry, groundMaterial );
groundMesh.rotation.x = -1.0 * THREE.Math.degToRad( 90 );
scene.add( groundMesh );

Erre a lapra helyezzünk el más-más pozíciókba 3D objektumokat: téglatesteket, gömböket, kúpokat!

  • A tárgyak alsó lapja/csúcsa a lapon helyezkedjen el! Ne nyúljon be alá, és ne lebegjen felette!
    • Megjegyzés: egy síkra eső síkidomok esetén a sík lap "túlsó" részén is megjelennek az objektumlapok körvonalai, ez nem gond.
  • Állítsuk a kúpot fejre! Vagyis a csúcsával érintse a talajt.

Bővítési lehetőség

Megjegyzés