Skip navigation

Síkbeli alakzatok

Általános használati mód

A geometriák létrehozása a következők szerint történik.

  • Szükség lesz egy változóra, amely a geometria objektumot tárolja.
  • A new kulcsszóval kell egy új objektumpéldányt létrehoznunk.
  • Az egyes geometria konstruktor függvények a THREE objektumon belül vannak definiálva.
  • A konstruktornak változó számú paramétert adhatunk át, amelyek  jobbról balra haladva elhagyhatók. A nem definiált paraméterek az alapértéküket veszik fel. A konstruktornak kötelezően átadandó értékeket vörös, az opcionálisakat zöld színnel jelöljük.
  • A Three.js hivatalos dokumentációjában található példaprogramok esetén ha a jobb felső sarokban lévő objektumnévre kattintunk, egy paraméterbeállító panelt kapunk. Az értékeken az egér segítségével interaktívan állíthatunk. Használjuk ki!

Fontos!

  • A példakódok függvényre lokális definíciókat tartalmaznak. Amennyiben több függvényben is el szeretnénk érni az objektumpéldányt (pl. render()), akkor a változót globálisként kell létrehozni, vagyis minden függvényen kívül helyezzük el a definíciót! Ekkor nem kell var kulcsszó az értékadás elején.
    • var boxObject;
  • A létrehozás után az egyes geometriáknak megfelelő attribútumokon keresztül el tudjuk érni a geometria paramétereit! Figyeljünk arra, hogy ezek megváltoztatása nem vonja maga után a geometria újragenerálását! Ha változtatni szeretnénk, új geometria objektumot kell létrehoznunk!
  • Figyeljünk arra, hogy az objektumokhoz saját változónévvel rendelkező geometria, anyag és mesh kerüljön definiálásra (ha csak nem indokolt az osztott használat).
    • Következetesen használjunk névadási konvenciót! Pl. egy talajt modellező objektum esetén adjunk groundGeometry, groundMaterial, groundMesh változóneveket!

Körlap, körcikk

Konstruktor

CircleGeometry(radius, segments, thetaStart, thetaLength)

Tulajdonságai

A körlap geometria egymás melletti, egyenlő szárú háromszögekből épül fel, amelyek egyik közös csúcspontja az origó, a szár hossza az általunk megadott sugár. Igazából egy szabályos sokszöget fog modellezni, elegendően magas csúcspontszám esetén közelíti a körlapot.

Példányosításkor megadható

  • Sugár (radius). Alapértéke 50.
  • Háromszögek száma (segments). Értéke legalább 3 kell legyen.
  • Kezdőszög (thetaStart), alapértéke 0, ami az X-tengely irányát jelenti.
  • Szögtartomány (thetaLength). Alapértéke a teljes kör (2 * Math.PI).

Példa

var circleGeometry = new THREE.CircleGeometry( 5, 6, Math.PI / 8, Math.PI / 4 );
var circleMaterial = new THREE.MeshBasicMaterial( { color: 0xffff00, wireframe: true } );
var circleMesh = new THREE.Mesh( circleGeometry, circleMaterial );
scene.add( circleMesh );

Dokumentáció interaktív példával

Sík lap

Konstruktor

PlaneGeometry(width, height, widthSegments, heightSegments)

Tulajdonságok

Sík lapként egy téglalap modellt kapunk az XY-síkon elhelyezve, középpontja az origóban van. Alapesetben két háromszögből áll elő. A felosztás mértékét lehet növelni, ez az adott irányban alkalmazandó sávok számát jelenti. Jól használható például talaj modellezésre.

Példányosításkor megadható

  • Méret X-irányban.
  • Méret Y-irányban.
  • Felosztás X-irányban. Alapértéke 1.
  • Felosztás Y-irányban. Alapértéke 1.

Példa

var planeGeometry = new THREE.PlaneGeometry( 4, 7, 2, 3 );
var planeMaterial = new THREE.MeshBasicMaterial( { color: 0xf0f0f0, wireframe: true } );
var planeMesh = new THREE.Mesh( planeGeometry, planeMaterial );
scene.add( planeMesh );

Dokumentáció interaktív példával

További 2D alakzatok (kiegészítő anyag)

Többek között az alábbi síkidomokat tudjuk még közvetlenül modellezni Three.js-ben. Ezekkel részletesen nem foglalkozunk, csak a dokumentáció linkjeit adjuk meg.