【问题标题】:"sphere in a bag" plane to sphere projection“袋装球体”平面到球体投影
【发布时间】:2011-04-10 19:10:56
【问题描述】:

我正在寻找将 2D 平面 [0,1]x[0,1] 上的点变换到单位球体上的数学变换。

最常见的投影是通过将u 和v 解释为球坐标的角度来进行纬度-经度映射(映射u 到[0,2PI] 和v 到[-PI/2, PI/2])

这会对球体的两极产生强烈的扭曲。可以将这种变换想象为将球体包裹成糖果纸,并在两端旋转纸。这会在这两端产生扭曲。

我正在寻找的转变可能是将球体放在纸的中间,然后将球体的所有边放在一个点上,然后将它们一起旋转 - 这样你就可以得到一个小纸袋了球体在其中。这会在“袋子”的底部产生最小的失真,而在顶部产生最大的失真 - 如果从下面看,失真在所有方向上都是相等的。

谁能告诉我如何计算这种映射?

【问题讨论】:

  • 2010...哇 - 现在我正在尝试制作这样的东西,我认为这是一个未来,甚至是现在;)

标签: 3d mapping projection texture-mapping


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      正确答案取决于需要保留原件的哪个属性,因为每个不同的地图投影都会以不同的方式扭曲。有些保留区域,有些保留角度,有些保留距离。

      假设案例是关于形状的,那么我建议使用Dymaxion map,但请注意它的平面表示不完全是矩形。

      有关其他选项,请参阅Colorado University 的列表。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-04-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-25
          • 2018-09-28
          相关资源
          最近更新 更多