Supponendo che si desidera trovare le coordinate di qualsiasi punto del piano, in termini di coordinate (u, v) ...
Se il punto [x0, y0, z0] giace nel piano, allora sappiamo che
dot([a,b,c],[x0,y0,z0]) = -d
Dove punto è il prodotto scalare tra due vettori. Si tratta semplicemente di riscrivere l'equazione del piano.
Il trucco consiste nel trovare due vettori che si estendono nel sottospazio planare. Per fare questo, scegliamo un vettore casuale di lunghezza 3. Chiamalo V0. Chiamerò il vettore normale planare
N = [a,b,c]
Successivamente, utilizzare il prodotto incrociato del vettore normale N con V0.
V1 = cross(N,V0)
Questo vettore sarà ortogonale al vettore normale, a meno che non siamo stati molto sfortunati e N e V0 stati allineati. In tal caso, scegli semplicemente un altro vettore casuale V0. Possiamo dire se i due vettori erano collineari, perché allora V1 sarà il vettore [0 0 0].
Quindi, se V1 non è il vettore zero, quindi dividere ciascun elemento per la norma di V1. La norma di un vettore è semplicemente la radice quadrata della somma dei quadrati degli elementi.
V1 = V1/norm(V1)
Successivamente, selezionare una seconda V2 vettore ortogonale sia N e V1. Ancora una volta, un prodotto vettoriale trasversale lo fa banalmente. Normalizza quel vettore per avere anche la lunghezza unitaria. (Dato che ora sappiamo che V1 è un vettore con unità di misura, potremmo semplicemente averlo diviso per norma (N).)
V2 = cross(N,V1)
V2 = V2/norm(V2)
qualsiasi punto del piano può ora essere descritto banalmente come funzione di (u, v), come:
[x0,y0,z0] + u*V1 + v*V2
Ad esempio, quando (u, v) = (0, 0), chiaramente otteniamo indietro [x0, y0, z0], quindi possiamo pensare a quel punto come "origine" nelle coordinate (u, v).
Allo stesso modo, possiamo fare cose come recuperare uev da qualsiasi punto [x, y, z] che è noto giacere nel piano, o possiamo trovare la proiezione normale per un punto che non è nel piano proiettato su quel piano.
Stai parlando di coordinate generiche (u, v)? O stai provando a mappare un punto nello spazio del mondo alle coordinate della trama definite su un triangolo? – sbabbi
Voglio textureare il piano – tigrou