计算几何 - 为什么不让三角形保持固定的 clockwise/counterclockwise 顺序?
Computational geometry - why not keep triangles in a fixed clockwise/counterclockwise order?
我一直在研究基于 vtk 的 pyvista,令我有点惊讶的是几何对象的各种单元格的索引的内部数据结构中没有强加顺序。
四面体只是一个包含 4 个索引的元组,三角形是一个包含 3 个索引的元组。通常这很好,但是对于 clipping/mesh 布尔运算等各种操作,我认为这很自然要求某种固定顺序 - 即在 triangle/convex 多边形的情况下始终固定顺时针顺序。基于这种排序在离散微分几何中的重要性,我认为强加顺序对于 vtk 可以做的各种事情都非常有用,比如测地线等。
那为什么不是这样呢?是不是没有我想的那么好用?
简单:在3D中,没有clockwise/couterclockwise顺序,可以从两边看一个多边形。
(在一个完整的网格上,您可以要求所有面一致,前提是形成一个可定向流形。)
最后的评论:如果这样的命令是可能的,你可以肯定它会在任何地方使用。
我一直在研究基于 vtk 的 pyvista,令我有点惊讶的是几何对象的各种单元格的索引的内部数据结构中没有强加顺序。
四面体只是一个包含 4 个索引的元组,三角形是一个包含 3 个索引的元组。通常这很好,但是对于 clipping/mesh 布尔运算等各种操作,我认为这很自然要求某种固定顺序 - 即在 triangle/convex 多边形的情况下始终固定顺时针顺序。基于这种排序在离散微分几何中的重要性,我认为强加顺序对于 vtk 可以做的各种事情都非常有用,比如测地线等。
那为什么不是这样呢?是不是没有我想的那么好用?
简单:在3D中,没有clockwise/couterclockwise顺序,可以从两边看一个多边形。
(在一个完整的网格上,您可以要求所有面一致,前提是形成一个可定向流形。)
最后的评论:如果这样的命令是可能的,你可以肯定它会在任何地方使用。