给定凸多面体顶点坐标,如何生成其邻接矩阵形式的图?
需求:从凸多面体顶点坐标生成邻接矩阵图
需要实现一个函数,输入表示凸多面体顶点的3D笛卡尔坐标numpy数组,返回该多面体对应的邻接矩阵形式的图。
比如输入立方体的8个顶点坐标:
import numpy as np np.array([ [1, 1, 1], [1, 1, -1], [1, -1, 1], [-1, 1, 1], [1, -1, -1], [-1, 1, -1], [-1, -1, 1], [-1, -1, -1] ])
需得到包含立方体所有边的8顶点邻接矩阵。
现有尝试及问题
- 手动设置距离阈值连接顶点:仅对立方体有效,针对柏拉图、阿基米德立体等复杂多面体时,阈值过于主观,易误删真实边或生成虚假边,完全不可行。
- 使用
scipy.spatial.ConvexHull构建凸包:几乎可行,但凸包基于单纯形(simplex)构建,会引入额外的单纯形对角线边,无法去除。曾参考旧帖得知pycddlib可解决该问题,但在macOS Sonoma 14.5、Python 3.11.5环境下,用pip安装时出现clang链接错误,尝试多种方法均失败。
寻求帮助
希望得到实现需求的简易替代方案,或解决pycddlib在上述环境下的安装问题。
内容的提问来源于stack exchange,提问作者bobross1709
相关产品推荐
相关产品推荐

