球形袋中的平面到球体的投影

5
我正在寻找将二维平面上的点[0,1]x[0,1]映射到单位球体上的数学变换。
最常见的投影是纬度和经度映射,通过将uv解释为球坐标的角度(将u映射到[0,2PI],将v映射到[-PI/2, PI/2])。
这会在球体的极点产生强烈的扭曲。可以将这种转换看作是将球体包裹在一张纸上,然后在两端旋转纸张,就像将球体包装成一个糖果纸。这将在这两个端点处产生扭曲。
我正在寻找的变换可以被认为是将球体放置在一张纸的中间,并将所有边缘围绕球体并在一个单一的点上旋转它们 - 这样你就得到了一个小纸袋,里面装着你的球体。这会在“袋子”的底部产生最小的扭曲,并在顶部产生最大的扭曲 - 如果从下面看,扭曲在所有方向上都是相等的。
有人能告诉我如何计算这种映射吗?

2010... 哇 - 现在我正在尝试制作类似的东西,我认为这是未来,甚至是现在的时代 ;) - Maciek Czarnik
5个回答

3

对于您所描述的映射,您可以使用极坐标:(x,y)-->(r,alpha),其中r在[0,1]范围内,表示当前点P(x,y)到矩形中心O(0.5,0.5)的距离与该线段在当前alpha值下可能具有的最大长度之比。然后将r映射到[-PI/2, PI/2],将alpha映射到[0,2PI]。


2

2
正确的答案取决于需要保留原始图形的哪个属性,因为每种不同的地图投影方式都会以不同的方式扭曲。有些保留面积,有些保留角度,有些保留距离。
假设这个情况是关于形状的,那么我建议使用Dymaxion map,但请注意它的平面表示不是完全矩形的。
其他选项请参见科罗拉多大学的列表。

0

如果你使用从0到1的x-y轴(即第一象限)勾画出问题的草图,然后在同一原点处绘制出其投影的第一八分体,其轴从0到pi/2。从原点标记点(1,1),则该点到原点的大小为根号2。现在你可以看到,你的点(1,1)无法映射到球体上,因为它似乎在外面。


0
你可以检查一下等距方位投影,不过它将整个二维平面映射到一个球上,而不仅仅是一个矩形。也许有办法来调整解决你的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接