假设我们有一些代码来绘制正多边形(计算它的顶点坐标)
for i=1 to n
angle += 360/n
x = cos(angle) * radius
y = sin(angle) * radius
plot(x,y)
end
这里,基本思想是增加角度并计算“光标”坐标。对于大N,光标会描述一个圆圈。
有没有这样的东西,但对于立方体和四面体或其他正多面体? 想象一下网球内的一个立方体,它的顶点位于网球的线上(每个网球上都有一条波浪线)。该线可以是访问立方体顶点的光标轨迹
我正在考虑一种算法:
for i=1 to ...
yaw += ...
pitch += ...
x = radius * sin(pitch) * cos(yaw)
y = radius * sin(pitch) * sin(yaw)
z = radius * cos(pitch)
plot(x,y,z)
end
答案 0 :(得分:0)
正如ChrisF所给出的,没有并且不需要有常规柏拉图固体的公式。只需使用给定的笛卡尔坐标。球体上的几何形状比圆形上的几何形状更受限制。
您建议的方法是基于固定半径的球面坐标,因此所有生成的点都将位于球体上。
无论如何,当使用单个循环时,你会得到一条曲线(曲线的折线近似)。当同时增加偏航和俯仰时,您将获得一种球形螺旋,具体取决于步数和范围的比率。
我们更熟悉在偏航(0到180°)和俯仰(0到360°)上单独使用双环,允许你用经络和平行线对球体进行网格划分。
答案 1 :(得分:0)
您正在寻找诸如斐波那契球或吸引/排斥方法之类的声音。在本主题中对此进行了讨论:Evenly distributing n points on a sphere