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.