7.1.4.3        Operatori Vettoriali



Costanti vettoriali, identificatori e funzioni possono essere associati in espressioni nello stesso modo in cui avviene per valori decimali. Le operazioni vengono eseguite componente per componente. Per esempio < 1, 2, 3 > + < 4, 5, 6 > viene valutato come < 1+4, 2+5, 3+6 > oppure < 5, 7, 9 >. Altre operazioni sono eseguite in modo simile. Per esempio (< 1, 2, 3 >=< 3, 2, 1 >) è valutato come < 0, 1, 0 > poiché i componenti centrali sono uguali mentre gli altri non lo sono. Ammettiamo che questo non è molto utile ma può essere interessante per altre operazioni sui vettori.
Un'espressione condizionale come (C? A : B) richiede che C sia un'espressione decimale ma A e B possono essere espressioni vettoriali. Il risultato è che l'intera espressione condizionale viene valutata come un vettore valido. Per esempio se Foo e Bar sono valori decimali allora

Foo < Bar ? < 1,2,3 >: < 5,6,7 >

viene valutato il vettore < 1,2,3 > se Foo è minore di Bar, o < 5,6,7 > in caso contrario.
Puoi usare l'operatore punto per estrarre un singolo componente da un vettore. Supponi che l'identificatore Spot fosse stato precedentemente definito come un vettore. Allora Spot.x è un valore decimale che rappresenta il primo componente di questo vettore a tre componenti. Similmente Spot.y e Spot.z rappresentano il 2° e il 3° componente. Se Spot era invece un vettore UV a due componenti, avresti dovuto usare Spot.u e Spot.v per estrarre il primo e secondo componente. Per un vettore 4D usa .x, .y, .z e .t per estrarre ciascun componente decimale. L'operatore punto è usato anche in espressioni del colore che sono prese in considerazione più avanti.