Pregunta

Estoy buscando la expresión matemática que convierte una coordenada 3D (x0, y0, z0) en una coordenada 2D (x1, y1) en una perspectiva curvilínea de radio R donde los valores de x1 e y1 son los ángulos de vistas {-90 ° .. + 90 °} del punto original.

 image
(fuente: ntua.gr )

(imagen a través de http://www.ntua.gr/arch/ geometry / mbk / histor.htm )

¡Gracias!

¿Fue útil?

Solución

Aproximadamente un año después, la solución fue realmente simple. Para un punto que tiene las coordenadas:

(x1,y1,z1)

Luego, para transformar este punto en un dibujo curvilíneo de radio R :

dist=sqrt(x1^2 + y1^2 + z1^2)

x= R*(1+x/dist)
y= R*(1+y/dist)

Ahora puedo generar mis propios dibujos (imagen a través de wikipedia) :-)

Dibujo curvilíneo.

Otros consejos

Es posible que primero necesite usar una matriz de transformación para proyectar el objeto 3D en un plano 2D. http://en.wikipedia.org/wiki/Graphical_projection , elija el que mejor se adapte sus necesidades.

Como segundo paso, querrá usar las conversiones generales para llevar las coordenadas al espacio euclidiano. http://en.wikipedia.org/wiki/Curvilinear_coordinates

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top