I am trying to force the order of the points in a Delaunay algorithm.
I admit, I crack and I can’t, but I know that there are people here who are more talented than me in algorithms.
My goal is therefore to model a terrain using points and an elevation curve.
It is very common but I have constraints of details which exclude the usual practice.
I model terrains to make architectural models (real). So I have constraints of a few tenths.
For 10 years I have had time to try a lot of things, Hollo’s script on this forum, Ball’s or Poisson’s algorithms and even paid libraries like https://www.geom.at/.
I tried to reinterpret the behavior of PMMA and wood using Kangaroo or with other physical calculation libraries.
But none of this makes it possible to have an acceptable precision or speed of calculation to be able to use it during the phase of modeling.
Delaunay’s algorithms are the most promising I have tried. But it works in 2D.
I am strangely convinced that it is possible to adapt this algorithm in a 2.5D form.
And I’m not far from it
Errors occur when the dots are below each other
It is possible to resolve these corners by shifting the end points slightly. (What I already do on vertical cuts.)
But I have two problems with this.
Corner points are usually attached to a specific elevation that I wish I could keep
And I couldn’t find any logic to run this task using a program.
The terrains have very varied complexes which currently obliges me to detach the points one by one manually.
You can extract the code from the grasshopper component but it’s not open source and it’s too complicated. So I use a c# version of the Delaunator code of mapbox which seemed clearer to me.
Terrain.gh (133.6 KB)
Of all the tests I failed to force the algorithm to take the top points before the bottom points.
And when I get there he totally ignores the low points.
It may not be possible.
I have to admit that my job is more like a carpenter than an engineer. If anyone likes puzzles, this sounds like a good topic.