Live data from Hacker News

Exact, parallel 2D Delaunay triangulation for int32 coordinates

github.com

1–10 of 26 posts

Re: Exact, parallel 2D Delaunay triangulation for int32 coordinates

#2
Great project!

Are vertex insertion and deletion also supported/accelerated?

What compromises are keeping this constrained to 32-bit? It seems like you could cut back on quantization error by increasing bits, but if you're doing some manual SIMD magic to get this performance I can understand sticking with 32 bits.

Re: Exact, parallel 2D Delaunay triangulation for int32 coordinates

#3

Great project! Are vertex insertion and deletion also supported/accelerated? What compromises are keeping this constrained to 32-bit? It seems like you could cut back on quantization error by increasing bits, but if you're doing some manual SIMD magic to get this performance I can understand sticking with 32 bits.

Not the author, but I assume that to make it work with 32 bits integer coordinates, some operation (like multiplications) need extension to 64 bits. If we want full hardware support on 64 bits CPUs, that's the limit.

Re: Exact, parallel 2D Delaunay triangulation for int32 coordinates

#6

Great project! Are vertex insertion and deletion also supported/accelerated? What compromises are keeping this constrained to 32-bit? It seems like you could cut back on quantization error by increasing bits, but if you're doing some manual SIMD magic to get this performance I can understand sticking with 32 bits.

Not the author, but I assume that to make it work with 32 bits integer coordinates, some operation (like multiplications) need extension to 64 bits. If we want full hardware support on 64 bits CPUs, that's the limit.

64 bit cpus have 128 bit mul results if that’s what you mean

Re: Exact, parallel 2D Delaunay triangulation for int32 coordinates

#8

Great project! Are vertex insertion and deletion also supported/accelerated? What compromises are keeping this constrained to 32-bit? It seems like you could cut back on quantization error by increasing bits, but if you're doing some manual SIMD magic to get this performance I can understand sticking with 32 bits.

Not the author, but I assume that to make it work with 32 bits integer coordinates, some operation (like multiplications) need extension to 64 bits. If we want full hardware support on 64 bits CPUs, that's the limit.

Triangulation usually requires an incicrle operation at some point, and that requires doing multiplication on the result of multiplication, without loss of precision.

32-bit triangulation therefore requires 128-bit multiplication, in some rare degenerate cases.

In this repo the incircle is here: https://github.com/morishuz/delaunay32/blob/141d979b18e296ac...

Re: Exact, parallel 2D Delaunay triangulation for int32 coordinates

#9
Nice work. Getting DT edge cases right can be quite some work.

Shameless plug: My own DT for int32 coordinates in Rust, and compiled to wasm with a bit of visualization. Click to add and remove sites, hit animate for a bit of lava lamp like vibes.

https://hermes.leytron.de/delauney/

Post reply on HN