将2d空间中的点映射到球体

时间:2010-12-01 23:01:37

标签: math 3d geometry

我在矩形x / y空间中有一堆点,我想投射到球体上。在中,我正在尝试编写这个函数:

function point_on_sphere(2dx:Number, 2dy:Number) : Vector3D
{
    //magic

    return new Vector3D(3dx, 3dy, 3dz);
}

我一直试图首先将点绘制到圆柱体上,然后按照this wikipedia page.的指示将这些点映射到球体。但是,这些公式假设一个常数z = 0,这实际上并不是什么我想要。

我正在使用actionscript 3 / flex,但是非常感谢任何伪代码或向正确方向推送。

只是为了澄清:我不是试图将纹理应用于球体对象,而是将对象放置在假想的球体上。

1 个答案:

答案 0 :(得分:0)

没有一个正确的答案。您可以根据想要如何沿着球体放置对象来选择不同的方法。

当你接近球体的“极点”时,物体是否可以越来越接近彼此?为什么普通的纹理映射投影不适合你呢?