3

我想将网格映射到这样的球体:

网格到球体映射

换句话说,对于(x, y)左侧的每个点 ∈[0,1],我需要(x, y, z)球体上​​等效点的坐标,在每个轴上的 -45º 和 +45º 子午线之间。您还可以将源坐标视为两个角度:

phi   = -45º + x * 90º
theta = -45º + y * 90º

我在别处找到的传统经纬度或极坐标公式没有用,因为它们产生的结果只会沿一个轴扭曲。还有其他建议吗?

4

1 回答 1

1

定义两个函数ab,将您的 x 和 y 坐标映射到适当的 theta 和 phi 角:

a(x) = (pi / 4) * (2x - 1)
b(y) = (pi / 4) * (4y + 1)

然后只需将生成的球坐标映射回笛卡尔坐标:

在此处输入图像描述

您将获得 r, x', y' 的函数,它们是 [0, 1] x [0, 1] 的成员,它将二维坐标映射到半径为 r 的球体上。

于 2013-08-16T03:11:52.820 回答