7.1.8.2 Funzioni
Vettoriali
Le seguenti sono funzioni che considerano
uno o più vettori e/o parametri decimali e danno come risultato
valori vettoriali o decimali. Tutte queste funzioni supportano solo vettori
a tre componenti. Definiamo con A e B due espressioni valide che rappresentino
due vettori a tre componenti e con F un'espressione valida che rappresenta
un numero decimale.
vaxis_rotate(A,B,F): Ruota A attorno
a B del valore F. Specificate le coordinate x, y, z del punto nello spazio
designato dal vettore A, ruota quel punto intorno ad un asse arbitrario
definito dal vettore B. Tale vettore viene ruotato di un angolo specificato
in gradi attraverso il valore decimale F. Il risultato è un vettore
che contiene le nuove coordinate x,y,z del punto.
vcross(A,B): Prodotto vettoriale di A e B.
Dà come risultato il prodotto vettoriale tra i due vettori. Il vettore
risultante è perpendicolare ai due vettori originali e la sua lunghezza
è proporzionale all'angolo tra essi compreso. Vedi la scena dimostrativa
animata VECT2.POV come esempio.
vdot(A,B): prodotto scalare di A e B. Dà
come risultato un valore decimale che è il prodotto scalare di A
con B. La formula è vdot=A.x*B.x + A.y*B.y + A.z*B.z. Vedi la scena
dimostrativa animata VECT2.POV come esempio.
.
vlength(A): Lunghezza di A. Dà come
risultato un valore decimale che rappresenta la lunghezza del vettore A.
Può essere usato per calcolare la distanza tra due punti. Distanza=vlength(B-A).
La formula è vlength=sqrt(vdot(A,A)).
vnormalize(A): Normalizza il vettore A.
Dà come risultato un vettore di lunghezza unitaria con la stessa
direzione del vettore A (versore). La formula è vnormalize=A/vlength(A).
vrotate(A,B): Ruota A intorno all'origine
di una quantità pari a B. Assegnate le coordinate x, y, z di un
punto nello spazio designato dal vettore A, la funzione ruota quel punto
attorno all'origine di una quantità specificata dal vettore B. Ruota
quel punto intorno all'asse x di un angolo espresso in gradi corrispondente
alla prima componente di B. Allo stesso modo, B.y e B.z specificano l'ammontare
in gradi della rotazione riferita all'asse y e all'asse z. Il risultato
è un vettore contenente le nuove coordinate x, y, z del punto.
![]() |
![]() |
![]() |