如何在球体上创建包含 n 个给定点的 3D 非相交多边形?

How to create a non-intersecting polygon in 3D containing n given points on a sphere?

我有球体上 n 个点的坐标,我知道它们都是共面的。如何找到顶点为 n 个给定点的多边形的边?

好的,你的问题是奇怪的顺序。
将所有点投影到任何方便的平面上——最简单的方法是使用 OXY、OXZ 或 OYZ 平面(选择一个不垂直于你的平面的平面)——在这种情况下,你只需使用 (P[i].X.P[i]。 Y, 0) 对于 P[i] 点并根据第一个点的角度对投影的 2D 点进行排序 - 它之所以有效,是因为球面上的点形成凸多边形。然后使用此排序作为多边形顶点索引。