The Virtual Reality Modeling Language

Obsah Úvod Nastavenia prezerača Dušan Hanuska
Špecifikácia jazyka Polia Odkazovanie
Uzly Vzhľad Transformácie kamier Abecedný zoznam uzlov Predošlá strana

Matice

Do tejto triedy uzlov patria uzly, ktoré robia transformácie za nimi nasledujúcich objektov pomocou matíc. Sú to nasledujúce uzly:

MatrixTransform - transformačná matica

Tento uzol definuje geometrickú 3D transformáciu s maticou 4 krát 4. Všimnite si, že niektoré matice (také ako singulárne) smú spôsobiť chyby.

Formát definovania uzla a prednastavené hodnoty:
     MatrixTransform {
          matrix  1 0 0 0       # matica typu SFMatrix
                  0 1 0 0
                  0 0 1 0
                  0 0 0 1
     }
Príklad

Rotation - rotácia

Tento uzol definuje 3D otočenie okolo hociktorej osi oproti pôvodnému. Otočenie sa pridáva do súčasnej transformácie, ktorá sa aplikuje na nasledovné tvary, tzn. že otočenie ostane platné aj po vykreslení objektu. Ak sa chcete vrátiť k pôvodným súradniciam, musíte urobiť otočenie o ten istý uhol v opačnom smere.d

Formát definovania uzla a prednastavené hodnoty:
    Rotation {
        rotation  0 0 1  0    # otočenie typu SFRotation
    }
Príklad 1 2

Scale - mierka

Tento uzol definuje 3D škálovanie oproti pôvodnému. Ak nie sú všetky komponenty škálovacieho vektora rovnaké, potom nastane nerovnaké škálovanie.

Formát definovania uzla a prednastavené hodnoty:
    Scale {
        scaleFactor  1 1 1    # škálovací faktor typu SFVec3f
    }
Príklad

Transform - transformácia

Tento uzol definuje geometrickú 3D transformáciu pozostávajúcu (v poradí) z pravdepodobne nejednotnej mierky okolo svojvoľného bodu, otočenia okolo svojvoľného bodu a osí a posuvu.

Formát definovania uzla a prednastavené hodnoty:
    Transform {
        translation       0 0 0       # posun typu SFVec3f
        rotation          0 0 1  0    # otočenie typu SFRotation
        scaleFactor       1 1 1       # škálovací faktor typu SFVec3f
        scaleOrientation  0 0 1  0    # orientácia škály typu SFRotation
        center            0 0 0       # stred typu SFVec3f
    }

Transformačný uzol je rovnocenný sekvencii
Transform {            
    translation T1     
    rotation R1        
    scaleFactor S      
    scaleOrientation R2
    center T2          
  }                    
<=>
Translation { translation T1 }
Translation { translation T2 }
Rotation { rotation R1 }
Rotation { rotation R2 }
xScale { scaleFactor S }
Rotation { rotation -R2 }
Translation { translation -T2 }
Príklad

Translation - posun

Tento uzol definuje posun o 3D vektor.

Formát definovania uzla a prednastavené hodnoty:
    Translation {
        translation  0 0 0    # posun typu SFVec3f
    }
Príklad 1 2 3 4 5 6