【发布时间】:2018-11-20 23:25:21
【问题描述】:
我正在尝试学习使用 CGAL。我对使用哪种数据结构和三角测量方案来解决我的问题有疑问。
问题描述:
我有少量 (Delaunay 网格。在每个时间步,我需要:
- 仅在需要时重新网格化点云,以使 Delaunay 准则仍然成立。独立于点坐标存储网格连通性。
- 保持拓扑固定,使用迭代求解器进行一些优化以计算新的粒子位置。具有相同连通性的求解器迭代次数可以是 100 次或更多。在每次迭代中,计算需要每个三角形的面积和一些由边连接的顶点的计算(即每个顶点与最近邻的第一个环交互)。
问题:
- 如何在不使三角剖分的迭代器或循环器失效的情况下更改与网格(三角剖分数据结构、曲面网格、多面体等)顶点关联的点的坐标?
- 如何检查何时需要重新划分网格?
- 哪种数据结构可以在整个网格上一次性访问所有边和面的速度最快?每条边都在两个三角形之间共享。边缘的计算是最昂贵的。因此,我只想为每个边计算一次。对所有面进行一次迭代并分别对所有边进行迭代可能效率较低。
如果需要更多信息,请告诉我。
【问题讨论】:
-
你如何定义“最近邻的第一环”?作为德劳内的邻居?
-
再想一想,我意识到你是对的。除非已经存在三角剖分,否则没有第一环邻居的精确定义。所以是的,Delaunay 邻居必须是第一环。我会更新我的问题。
标签: data-structures mesh cgal openmesh