首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多面体的Delaunay三角化(Python)

多面体的Delaunay三角化(Python)
EN

Stack Overflow用户
提问于 2016-01-15 21:44:13
回答 2查看 2.3K关注 0票数 4

我试图得到python中多面体的Delaunay三角网,这样我就可以计算出质心。我看到在德拉奈中有一个scipy.spatial函数,它在n维中工作.麻烦的是,这些文档显示了2D的使用,并且没有给我任何关于如何处理更高维度的指示。能够将这个对象分解成一个数组可能会解决这个问题,但是我不知道如何去做。

我遇到的问题是,在输出对象时,我不知道如何验证它是否正确工作。我在谷歌上找不到任何关于如何绘制多面体的信息,也没有发现如何使用这个正在吐回的物体。

如果我做了

代码语言:javascript
运行
复制
import numpy as np
from scipy.spatial import Delaunay

points = np.array([[0,0,0],[1,0,0],[1,1,0],[1,0,1],[1,1,1],[0,1,0],[0,1,1],[0,0,1]])
Delaunay(points)

我真的很想得到这些四面体的坐标,这样我就能计算出多面体的质心。如果我也能画出与之相关的多面体,那也会很好。我在MATLAB中看到,我可以用一个叫做trimesn的函数来完成这个任务,我从matplotlib中找到了一个,但是它看起来很不一样,而且它的文档也不是很好。

代码语言:javascript
运行
复制
from matplotlib.collections import TriMesh TriMesh.__doc__ 

u'\n      Class for the efficient drawing of a triangular mesh using\n   
Gouraud shading.\n\n    A triangular mesh is a
:class:`~matplotlib.tri.Triangulation`\n    object.\n    '
EN

Stack Overflow用户

发布于 2016-01-18 17:27:54

你不需要Delaunay三角剖分来计算多面体的质心。质心是四面体质心的加权和,其中重量是每个四面体的体积。

你不需要把多面体划分成四面体。首先,对多面体的面进行三角剖分,即四边形被分割成两个共面三角形等,然后在空间中选取任意点p,比如说原点。现在,对于每个三角形面(a,b,c),计算四面体(p,a,b,c)的符号体积。如果所有三角形都是逆时针方向的,这是可行的。签名的卷通过取消处理所有的事情。用有符号的体积作为重量乘以四面体的质心。

我的书““C.计算几何””的第一章解释了四面体的符号卷。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34820373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档