Curvilinear perspective: Convert 3D to 2D
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) :-)
You may first need to use a transformation matrix to project the 3D object on a 2D plane. http://en.wikipedia.org/wiki/Graphical_projection, choose the one that best fits your needs.
As a second step, you will then want to use the general conversions to bring the coordinates into the Euclidian space. http://en.wikipedia.org/wiki/Curvilinear_coordinates