将二维网格映射到球体上

问题描述 投票:2回答:2

我想把一个网格映射到这样的球体上。

grid to sphere mapping

换句话说,对于每一个点 (x, y) 左边的∈[0,1],我需要的是 (x, y, z) 球体上等效点的坐标,在每条轴上的-45º和+45º经线之间。你也可以把源坐标看成是这样的两个角度。

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

传统的经纬度或极坐标公式我发现: 其他地方 是没有用的,因为 它们所产生的结果只是沿着一个轴线扭曲的。. 有其他建议吗?

language-agnostic trigonometry
2个回答
0
投票

定义两个函数。ab将你的x和y坐标映射到相应的θ和phi角。

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

然后只要 映射出球面坐标 回到笛卡尔坐标。

enter image description here

你会得到一个函数r,x',y',成员为[0,1] x [0,1],它将把二维坐标映射到一个半径为r的球体上。

© www.soinside.com 2019 - 2024. All rights reserved.