Code Red > ARX Programming

Delaunator, Delaunay triangulation, tin

(1/3) > >>

It's Alive!:
Worthy of its own thread as its very impressive performance

Source is https://github.com/delfrrr/delaunator-cpp
Note the original source is 2D, but the input point set is const, so the indexing seems to work on any array. See my notes in the code. It could have been faster, but the authors used their own point class, so thereís memory duplication.

GenTin Num Points = 1000004, time = 645.811500
total time Num Points = 1000004, time = 11666.346100

BricsCAD - GenTin Num Points = 1000004, time = 640.873300
BricsCAD - total time Num Points = 1000004, time = 47141.696700

Adding the faces could be optimized by using a transaction, instead of opening and closing the database a million times  :crazy2:

here's the source

MickD:
Have you looked into ECS for this type of work? It's well suited to this sort of thing with big lists of data ;)

https://www.gamedeveloper.com/design/the-entity-component-system---an-awesome-game-design-pattern-in-c-part-1-

It's Alive!:
Iíve found the civil and point cloud space fascinating, at least in how they crunch big data.
I think some of these engines are using the graphics cards to do crunching. CAD or DWG is definitely not the best platform.

It's Alive!:
Found an optimization, last version, i promise  :laugh:



--- Quote ---Ac =GenTin Num Points = 41769, time = 12.167100
Ac =total time Num Points = 41769, time = 297.333700

Ac =GenTin Num Points = 1000004, time = 459.705100
Ac =total time Num Points = 1000004, time = 16602.357400


Bc =GenTin Num Points = 41769, time = 12.675900
Bc =total time Num Points = 41769, time = 1187.718800

Bc =GenTin Num Points = 1000004, time = 476.299300
Bc =total time Num Points = 1000004, time = 29203.530100
--- End quote ---

JohnK:
You have had me reading on this stuff for the last few days. Still have very little understanding (so many rabbit holes traveled) but it's fun to think about some of this stuff.

Navigation

[0] Message Index

[#] Next page

Go to full version