我在这里问了一些问题,并且在其他测地线形状中多次提到过这个几何形状,但我很好奇我将如何准确地生成一个关于点 xyz 的几何形状?
Tom J Nowell
问问题
23035 次
3 回答
11
这里有教程。
基本思想是从一个二十面体(有 20 个三角形面)开始,然后将每个三角形面反复细分为更小的三角形。在每个阶段,每个新点都会径向移动,因此它与中心的距离是正确的。
阶段的数量将决定生成多少个三角形,从而确定生成的网格与球体的接近程度。
于 2009-02-18T13:50:20.183 回答
7
为了细分球体,大多数人将点线性细分,但这不会产生圆形。
对于圆形镶嵌,通过一系列旋转旋转两个点。
- 将第二个点绕 z 旋转(按点 1 的 z 角)到 0
- 围绕 y 旋转第二个点(通过点 1 的 y 角)到 0(这在逻辑上将点 1 置于北极)。
- 将围绕 z 的第二个点旋转到 0(这在逻辑上将点 1 放在 x/y 平面上,现在变成单位圆)。
- 求半角,计算新的第 3 点,即第 3 点的 x 和 y。
- 以相反的顺序执行步骤 3)、2) 和 1) 的反向旋转,以将第 3 个点定位到其目的地。
对于每个接近 0 的位置附近的值也有一些数学考虑,例如北极和南极,最右边和最左边,最前面和最后面的位置,所以首先检查这些和如果它们在这些位置,则执行 pi/4(45 度)的额外旋转。这可以防止浮点数学库出现异常并为 atan2() 和其他 trig 函数生成大量不合字符的值。
希望这可以帮助!:-)
于 2011-03-18T12:04:16.050 回答