Vonalszakasz geometria és anyagok
Különálló vonalszakaszok felépítése
Vonal geometria
A ponthalmazhoz hasonlóan itt is egy új geometriát hozunk létre, amelyhez térbeli pontokat adunk hozzá (opcionálisan minden pont kaphat önálló színt is, mint a ponthalmaznál). A térbeli pontokat egyenes szakaszokkal összekötve rajzolja majd ki a rendszer.
var geometry = new THREE.Geometry();
geometry.vertices.push(
new THREE.Vector3( 1, 0, 0 ),
new THREE.Vector3( 4, 6, 5 ),
new THREE.Vector3( 7, 3, 3 ),
new THREE.Vector3( 10, 7, -3 )
);
Vonal anyagok
A vonalhoz kétféle anyag közül választhatunk. A LineBasicMaterial folytonos vonalat, a LineDashedMaterial szaggatott megjelenítést biztosít. Mindkettő konstruktorának egy paraméterhalmazt adhatunk át, amelyek utólagosan az attribútum nevének segítségével módosíthatók.
LineBasicMaterial attribútumok:
color | Vonalszakaszok (globális) színe. |
linewidth | Vonalvastagság. Alapérték 1.0. |
linecap | Vonalvégek megjelenése. Lehet butt, round (alapértelmezés), vagy square. |
linejoin | Vonalak csatlakozásának megjelenése. Lehet round (alapértelmezés), bevel, vagy mitter. |
vertexColors |
Lehetséges értékek: THREE.NoColors (alapértelmezés, minden pont a color attribútum színét kapja), THREE.FaceColors,THREE.VertexColors. Ez utóbbi esetben minden ponthoz külön színt rendelhetünk (lásd a ponthalmaz használati példáját). Ha a vonalszínek nem jól jelennek meg, állítsunk be maximális intenzitású fehér (0xffffff) színt a color attribútumnak! |
fog | Ködhatás befolyásolja-e a vonalpontok színét? (A távolság növekedésével halványuljon-e a szín?) |
LineDashedMaterial attribútumok:
color | Vonalszakaszok (globális) színe. |
linewidth | Vonalvastagság. Alapérték 1. Windows rendszer alatt más érték hatása nem is érvényesül! |
scale | A szaggatás skálája. Alapértéke 1. |
dashSize | A szaggatás mérete. Alapértéke 3. |
gapSize | A kihagyás mérete. Alapértéke 1. |
vertexColors | Mint fent. |
fog | Mint fent. |
A vonalszaggatás helyes működéséhez létrehozásakor meg kell hívni a geometria computeLineDistances() függvényét is!
Példa
var material = new THREE.LineBasicMaterial( { color: 0xffff00 } );
Dokumentáció
Vonalcsík
A geometriánál megadott pontokat köti össze összefüggő vonalszakaszokkal, tehát N-1 darab szakaszt kapunk, ahol N a pontok száma. Meg kell adnunk a vonal anyagát is.
var line = new THREE.Line( geometry, material );
scene.add( line );
Különálló vonalszakaszok
A geometria pontjai felváltva a vonalszakaszok kezdő- és végpontját jelentik, vagyis N/2 darab szakaszt kapunk, ahol N a pontok száma. Páros számú pontot kell megadnunk a geometriánál.
var line = new THREE.LineSegments( geometry, material );
scene.add( line );
Példaprogram
Négy pont által definiált vonal geometria (ThreeJsLine). A színtérhez adunk egy AxisHelper objektumot is. A kamera az egér segítségével körülforgatható.
Teendők:
- Próbáljuk ki a különálló vonalszakaszok modellezését is!
- Módosítsunk a vonal anyag paraméterein!