Python生成3D网格的2D镶嵌贴图';s三角形
我有一个3D点云(“colors.csv”)和一个生成其凸面外壳的代码:Python生成3D网格的2D镶嵌贴图';s三角形,python,algorithm,map,2d,delaunay,Python,Algorithm,Map,2d,Delaunay,我有一个3D点云(“colors.csv”)和一个生成其凸面外壳的代码: #loading cloud of points points = np.array([(XYZRGB(rank, name, X, Y, Z)) for rank, name, X, Y, Z in csv.reader(open('colors.csv'))]) #doing geometry hull = points[tri.convex_hull] print hull
#loading cloud of points
points = np.array([(XYZRGB(rank, name, X, Y, Z))
for rank, name, X, Y, Z in csv.reader(open('colors.csv'))])
#doing geometry
hull = points[tri.convex_hull]
print hull
使用print hull
我得到一系列由3个点定义的三角形:
[[['5' 'PINKwB' '74.62792193' ..., '239' '212' '240']
['15' 'TUwC' '74.43151414' ..., '208' '242' '247']
['25' 'OR0B' '80.01931102' ..., '255' '215' '190']]
...,
[['29' 'gY6B' '9.473696537' ..., '32' '134' '39']
['16' 'K2M' '13.46800615' ..., '150' '30' '46']
['31' 'gY6D' '35.53944758' ..., '176' '187' '0']]]
每个点都是一种颜色,由等级、名称、三维空间中的XYZ坐标和RGB颜色定义
我想创建一个2D贴图(图表),表示三角形顶点之间的关系。
例如,我将从列表的第一个三角形开始,绘制其3个点,绘制其边,然后再添加一个点以绘制第二个三角形,等等。
直到我画出最后一点
我不在乎点之间的实际距离,我只想要一张表示点与点之间真正联系的地图。
有什么标准的方法可以做到这一点吗
谢谢这只是一个想法,但由于您有外壳,您可以选择外壳的任何三角形,并将其顶点指定为包含所有剩余顶点的大型2D三角形的外部顶点。然后在每个外部顶点同时使用BFS来填充中间。抱歉,我是说。而且,你不必在三角形处停下来。您可以使用两个(或更多)三角形作为二维图形的“外部”,只要您记得在它们之间包含边。所以对于两个有两个公共顶点的三角形,你可以画一个有一个对角线的正方形。顺便说一下,如果你需要一些搜索词,你要做的是一个平面图嵌入。