假设我们有一组点,其限制条件是每个点的所有坐标都是非负的,并且坐标之和等于 1。这将点限制在 3 维单纯形中,因此尝试映射是有意义的它回到 3 维空间进行可视化。
我正在寻找的地图将采用极值点 (1,0,0,0),(0,1,0,0),(0,0,1,0) 和 (0,0,0,1)到“定位良好”的正四面体的顶点。特别是,四面体的中心位于原点,一个顶点位于 z 轴上,一个面平行于 x,y 平面,一个边平行于 x 轴。
这是对 3 维中的点执行类似操作的代码,但如何将其扩展到 4 似乎并不明显。基本上我正在寻找函数 tosimplex 的 4 维等效项(它将 4 维变为 3 维)并且它是相反的从单纯形
A = Sqrt[2/3] {Cos[#], Sin[#], Sqrt[1/2]} & /@ Table[Pi/2 + 2 Pi/3 + 2 k Pi/3, {k, 0, 2}] // 转置; B = 逆[A]; tosimplex[{x_, y_, z_}] := 大多数[A.{x, y, z}]; fromsimplex[{u_, v_}] := B.{u, v, Sqrt[1/3]}; (* 检查 *) 极端 = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}; 图形[Polygon[tosimplex /@extreme]] fromsimplex[tosimplex[#]] == # & /@extreme
回答:
根据矩阵直接重新表述deinst的答案给出了以下内容。(1/sqrt[4] 作为第 4 个坐标出现,因为它是到单纯形中心的距离)
A = 转置[{{-(1/2), -(1/(2 Sqrt[3])), -(1/(2 Sqrt[6])), 1/Sqrt[4]}, {1/2, -(1/(2 Sqrt[3])), -(1/(2 Sqrt[6])), 1/Sqrt[4]}, {0, -(1/(2 Sqrt[3])) + Sqrt[3]/2, -(1/(2 Sqrt[6])), 1/Sqrt[4]}, {0, 0, Sqrt[2/3] - 1/(2 Sqrt[6]), 1/Sqrt[4]}}]; B = 逆[A]; tosimplex[{x_, y_, z_, w_}] := 大多数[A.{x, y, z, w}]; fromsimplex[{t_, u_, v_}] := B.{t, u, v, 1/Sqrt[4]}; (* 检查 *) 极端 = Table[Array[Boole[# == i] &, 4], {i, 1, 4}]; Graphics3D[Sphere[tosimplex[#], .1] & /@extreme] fromsimplex[tosimplex[#]] == # & /@extreme