如何将球体映射到四面体?

How to map a sphere to a tetrahedron?

如果我有一个球体的近似值,我该如何映射球体的顶点以形成(矩形)四面体?

我目前的方法是将球体的所有顶点映射到四面体的四个顶点之一。但是,如果可能的话,我希望它们间隔均匀。

如果有任何方法或解决方案,我将不胜感激。

一种思考方式是在四面体内部想象一个球体,并想象从球体中心投射一条射线直到它切割四面体。

获得四面体中点的方程有点棘手。也许最简单的想象是将它嵌入边长为 2 的立方体中,顶点位于 (1,1,1)、(-1,-1,1)、(1,-1,-1)、(-1,1, -1).面的方程是x + y + z = 1, x - y - z = 1, - x + y - z = 1, - x - y + z = 1

因此对于单位球体上的给定点 x = sin(theta) cos(phi), y = sin(theta) sin(phi), z = cos(theta)。我们只需要找到满足四个方程之一的点 (r x, r y, r z)。比如说我们可能有 r x + r y + r z = 1。如果我们知道 x、y、z 就很容易求解 r:r = 1/(x+y+z).

计算投影到哪个面有点棘手,一个简单的解决方法是计算 r1 = 1/(x+y+z), r2=1/(x-y-z), r3=1/( -x+y-z), r4=1/(-x-y+z)。丢弃任何负值并取余数中的最小值。

这是使用此技术的球体投影。