Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Curvilinear perspective: Convert 3D to 2D

I'm looking for the mathematical expression converting a 3D coordinate (x0,y0,z0) to a 2D (x1,y1) coordinate in a curvilinear perspective of radius R where the values of x1 and y1 are the angles of views {-90° .. +90°} of the original point.

image
(source: ntua.gr)

(image via http://www.ntua.gr/arch/geometry/mbk/histor.htm )

Thanks !

like image 920
Pierre Avatar asked Aug 03 '09 12:08

Pierre


1 Answers

About one year later , the solution was really simple. For a point having the coordinates:

(x1,y1,z1)

Then, to transform this point in a curvilinear drawing of radius R:

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

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

I can now generate my own drawings (image via wikipedia) :-)

Curvilinear drawing.

like image 60
Pierre Avatar answered Nov 02 '22 06:11

Pierre