从欧氏距离矩阵创建 3D 点云

Creating a 3D point cloud from an euclidian Distance Matrix

我有一个巨大的矩阵,它来自像

这样的文本相似性分析
elem/elem text1 text2 text3 text4
text1 1 0.8 0.6 0.18
text2 0.8 1 0.73 0.29
text3 0.6 0.73 1 0.6
text4 0.18 0.29 0.6 1

我想创建一个 3D 云点来表示我在 3D 中的所有元素 space 点之间的距离根据与所有其他元素的相对距离

我想将我的 table 改造成更像这样的东西:

points=[
{'text1':[x,y,z]},
{'text2':[x,y,z]},
{'text3':[x,y,z]},
{'text4':[x,y,z]},
]
edges=[
[[x,y,z],[x,y,z]],
[[x,y,z],[x,y,z]]
[[x,y,z],[x,y,z]]
[[x,y,z],[x,y,z]]
[[x,y,z],[x,y,z]]
]

我将使用 numpy 和 pandas 在 python 中实现计算,并在 vueJS 应用程序中使用 D3js 等 3d 库实现渲染。

我现在正在寻找将距离矩阵转换为绝对 3D 坐标的正确算法方法。

非常感谢您的帮助。

感谢您的评论。我终于找到了力加权图