Prospettiva curvilinea: converti 3D in 2D
-
10-07-2019 - |
Domanda
Sto cercando l'espressione matematica che converte una coordinata 3D (x0, y0, z0)
in una coordinata 2D (x1, y1)
in una prospettiva curvilinea del raggio R
dove i valori di x1 e y1 sono gli angoli di visualizza {-90 ° .. + 90 °} del punto originale.
(fonte: ntua.gr )
(immagine via http://www.ntua.gr/arch/ geometria / mbk / histor.htm )
Grazie!
Soluzione
Circa un anno dopo, la soluzione era davvero semplice. Per un punto con le coordinate:
(x1,y1,z1)
Quindi, per trasformare questo punto in un disegno curvilineo di raggio R :
dist=sqrt(x1^2 + y1^2 + z1^2)
x= R*(1+x/dist)
y= R*(1+y/dist)
Ora posso generare i miei disegni (immagine tramite Wikipedia) :-)
Altri suggerimenti
Potrebbe essere necessario innanzitutto utilizzare una matrice di trasformazione per proiettare l'oggetto 3D su un piano 2D. http://en.wikipedia.org/wiki/Graphical_projection , scegli quello che si adatta meglio le tue esigenze.
Come secondo passo, vorrai quindi usare le conversioni generali per portare le coordinate nello spazio euclideo. http://en.wikipedia.org/wiki/Curvilinear_coordinates