网格二维三角剖分
Mesh 2D triangulation
我正在尝试制作一个程序,在空间中的一个点找到包含它的网格中的三角形。中间有一个步骤。但我正在努力寻找另一种方法,因为它效率不高。
:
对于K是一个三角形,i是这个三角形的一个顶点,能够找到这个顶点的邻边和对边。困难的部分是,它需要在O(nt)或O(ntlog2(nt))中完成我的网格中的所有三角形。我想使用无序映射来存储每个三角形的所有边,这样我就可以在O(1)中找到我要找的三角形,所以对于O(nt)中的所有网格。
但我不知道如何编码我的无序映射,以便有两个顶点的值在第一列和三角形的数字在第二和第三列。
我的网格属性是:
public:
//attribut
std::vector<Sommet> m_Sommet; // Sommet's array
std::vector<Triangle> m_Triangle; //Triangle's array
您应该使用与网格相关的分区结构,边界卷层次结构非常容易计算,轻量级且高效(您可以查看本页中的各种排序算法)。如果你的网格是静态的,那么kd-tree应该更快,但也更复杂。
相关文章:
- 将二维矢量传递给类
- 我无法将二维数组的两个元素的差异分配给C++中其他数组的元素?
- 在OPENCV 3中找不到OpenCV 2 Delaunay三角剖分功能
- 多面体的三角剖分失败
- openCV三角剖分点导致NAN值
- 在二维三角测量中添加约束时出错
- 在二维德劳奈三角测量中插入顶点时出错
- 使用CGAL在歧管上进行三角剖分
- 一个二维动态阵列的C++剖分与比较
- 如何在约束delaunay三角剖分中获取三角形的顶点
- 如何对简单多边形进行delaunay三角剖分并找到它'cgal中任何三角形的s邻居
- 在CGAL中查找两个二维三角形的相交/差的三角化结果
- OpenCV:从Delaunay三角剖分中提取三角形
- 使用单调多边形的多边形三角剖分
- 三角剖分3D算法
- 如何平滑或"放松"由德劳内三角测量产生的二维网格?
- Alpha形状来自加权Delaunay三角剖分
- 使用CGAL::Constrained_Delaunay_triangulation_2对多边形进行三角剖分
- 多边形分割vs三角剖分
- 网格二维三角剖分