16

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

图片
(来源:ntua.gr

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

谢谢 !

4

2 回答 2

12

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

(x1,y1,z1)

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

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

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

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

曲线图。

于 2010-07-18T00:52:44.563 回答
3

您可能首先需要使用变换矩阵将 3D 对象投影到 2D 平面上。 http://en.wikipedia.org/wiki/Graphical_projection,选择最适合您需求的那个。

作为第二步,您将需要使用一般转换将坐标带入欧几里得空间。 http://en.wikipedia.org/wiki/Curvilinear_coordinates

于 2009-08-03T14:57:36.827 回答