Curvilinear perspective:将3D转换为2D

Pie*_*rre 15 math 3d drawing 2d perspective

我正在寻找在半径的曲线透视中将3D坐标(x0,y0,z0)转换为2D (x1,y1)坐标的数学表达式,其中x1和y1的值是原始点的视角{-90°.. + 90°}.R

图片http://www.ntua.gr/arch/geometry/mbk/images/curv159.gif

(图片来自http://www.ntua.gr/arch/geometry/mbk/histor.htm)

谢谢 !

Pie*_*rre 10

大约一年后,解决方案非常简单.对于具有坐标的点:

(x1,y1,z1)
Run Code Online (Sandbox Code Playgroud)

然后,在半径为R的曲线图中转换这一点:

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

x= R*(1+x/dist)
y= R*(1+y/dist)
Run Code Online (Sandbox Code Playgroud)

我现在可以生成自己的图纸(图片来自维基百科):-)

曲线绘图.