Delaunator,Delaunay三角剖分,三角网
值得拥有自己的线程,因为它非常令人印象深刻的性能Source是https://github.com/delfrrr/delaunator-cpp
注意原始源是2D,但输入点集是const,因此索引似乎适用于任何数组。请参阅我在代码中的注释。它本可以更快,但作者使用了他们自己的点类,因此存在内存重复。
Gentin Num Point=1000004, time=645.811500
总时间Num Point=1000004, time=11666.346100
BricsCAD-Gentin Num Point=1000004, time=640.873300
BricsCAD-总时间Num Point=1000004, time=47141.696700
添加面孔可以通过使用事务进行优化,而不是打开和关闭数据库一百万次
这是源
**** Hidden Message ***** 你有没有研究过这类工作的ECS?它非常适合这种有大量数据的事情
https://www . game developer . com/design/the-entity-component-system-an-awesome-game-design-pattern-in-c-part-1- 我发现民用和点云领域很吸引人,至少在它们处理大数据的方式上是如此。
我认为其中一些引擎正在使用图形卡进行处理。CAD或DWG肯定不是最好的平台。
找到一个优化,最后一个版本,我保证
过去几天你一直让我读这些东西。仍然知之甚少(去了那么多兔子洞),但是想想这些东西还是很有趣的。 我几乎没有什么理解,哈哈。这周只是胡说八道。
自从我退休以来,我一直在考虑加入一些开源项目,只是为了保持我的印章,但这些东西大部分真的很难。 添加了一个受约束
的 TIN 命令是 createhull、createtin、createctin
新版本使用createctin
使性能翻倍,从以毫秒为单位的总时间Num Point=36976,time=512
到
总时间Num Point=36976,time=204
编辑,将最新的附加到第一篇文章 我发现了一个非常快速的方法来使用现有的TIN算法获得凹面外壳。计算三角形外接圆的半径并检查与用户输入的
注意事项,它有岛屿,边界是从三角形边缘收集的单独线段。边可以翻转,因此很难创建折线边。Createhull2 将命令Createhull2重命名为Createctin2。
我发现我能够通过使用三角形重置边缘方向来构建一个合适的折线。
对于每个边缘三角形,顺时针定向外部边缘。对于300,000点,它在1s左右确实很快。
但这是用于计算边界和TIN。我可能可以提高一点性能,
但是我用完了葵花籽和黑甘草
页:
[1]
2