标签: tetrahedra

使网格四面化

我正在寻找一种接收3d表面网格的算法(即由三维三角形组成,这些三角形是某些流形的离散化)并在网格体积内生成四面体.

也就是说,我希望3d相当于这个2d问题:给定一个闭合曲线,对它的内部进行三角测量.

如果不清楚,我很抱歉,这是我能想到解释它的最佳方式.

对于第二种情况,有三角形.对于3d情况,我找不到.

mesh triangulation tetrahedra

9
推荐指数
1
解决办法
293
查看次数

构建一组随机点的四面体 - 四面体化

我在3D空间中有一组点(其中100万,可能更多,如10或1亿)形成一个球体(它们填充球体 - 它们不仅仅在表面上)我希望建立将每个球体连接到其第一个邻居的四面体...寻找四面体化,到目前为止,我发现的只有:

  • 用于网格化的算法,但据我所知,它们填充空白空间,而我的点是固定的.
  • 用于表面观察的算法,这是非常无关紧要的
  • 用于3D图像观察的算法(在医学领域,大多数情况下):更接近但不完全诀窍.

我怎样才能做到这一点?

2014-08-09首先,感谢大家的建议!我是 - 现在仍然是 - 在假期,只是路过来检查是否有人回答......我并没有失望!!!! :-)我想我会首先尝试CGAL,并会从那里看到.我在O(n2)的同一组点上进行了其他数据计算,我预计它将持续大约1周,所以几个小时就不会那么糟糕.分钟将是梦想成真!

c++ algorithm mesh computational-geometry tetrahedra

8
推荐指数
1
解决办法
1955
查看次数

如何通过matplotlib绘制四面体网格?

我想通过绘制一个四面体网格matplotlib,以下是一个简单的四面体网格:

xyz = 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]], dtype=np.float) 

tets = np.array([
    [0,1,2,6],
    [0,5,1,6],
    [0,4,5,6],
    [0,7,4,6],
    [0,3,7,6],
    [0,2,3,6]], dtype=np.int)
Run Code Online (Sandbox Code Playgroud)

当然,在实际应用中,网格中的四面体数量可能很大。我在Google中找不到任何有用的帮助信息。那么绘制四面体网格的更好方法是matplotlib什么呢?

此外,我可以获得网格的所有三角形面。

tri = np.array([
 [0 2 1]
 [0 1 5]
 [0 6 1]
 [0 3 2]
 [0 2 6]
 [0 6 3]
 [0 7 3]
 [0 5 4]
 [0 6 4]
 [0 4 7]
 [0 6 5]
 [0 6 7] …
Run Code Online (Sandbox Code Playgroud)

python matplotlib tetrahedra

5
推荐指数
2
解决办法
1671
查看次数

四面体的重心坐标

我想就四面体的重心坐标寻求帮助:

按照我在这里找到的方法:http : //www.cdsimpson.net/2014/10/barycentric-coordinates.html 我实现了一个 C++ 函数来查找四面体中一个点的重心坐标:

float ScTP(const Vec &a, const Vec &b, const Vec &c)
{
    // computes scalar triple product
    return Dot(a, Cross(b, c));
}

Vec4f bary_tet(Vec3f a, Vec3f b, Vec3f c, Vec3f d, Vec3f p)
{
    float va, vb, vc, vd, v;
    Vec3f vap = p - a;
    Vec3f vbp = p - b;
    Vec3f vcp = p - c;
    Vec3f vdp = p - d;

    Vec3f vab = b - a;
    Vec3f vac = …
Run Code Online (Sandbox Code Playgroud)

c++ coordinates tetrahedra

3
推荐指数
1
解决办法
3078
查看次数

如何检查点是否在四面体中?

我知道四面体的所有坐标和我想确定的点.那么有谁知道怎么做?我试图确定该点属于四面体的每个三角形,如果它对所有三角形都是真的那么该点在四面体中.但这绝对是错误的.

c# opengl tetrahedra

1
推荐指数
3
解决办法
4590
查看次数