Author Topic: Concave hull  (Read 655 times)

0 Members and 1 Guest are viewing this topic.

It's Alive!

  • Retired
  • Needs a day job
  • Posts: 7283
  • AKA Daniel
Concave hull
« on: October 30, 2021, 07:36:52 PM »
Uses https://github.com/sadaszewski/concaveman-cpp
Its not perfect, must maybe useful down the line

Quote
concavity:  is a relative measure of concavity. 1 results in a relatively detailed shape, Infinity results in a convex hull. You can use values lower than 1, but they can produce pretty crazy shapes.
l
engthThreshold: when a segment length is under this threshold, it stops being considered for further detalization. Higher values result in simpler shapes.

I put it in the ArxBrxDelaunay project, I was thinking about using this to remove tin triangles that have edges that fall outside.. someday

« Last Edit: November 15, 2021, 05:18:24 AM by It's Alive! »
Retired

MickD

  • King Gator
  • Posts: 3520
  • (x-in)->[process]->(y-out)
Re: Concave hull
« Reply #1 on: October 31, 2021, 02:43:51 AM »
Awesome stuff!
I wish I had the time, always wanted to build my own CSG (Constructive Solid Geometry) engine (like the ACIS modeler), a lot of the stuff you're doing is closely/directly related. I've dabbled and made a few starts with a bit of help from a book (will dig it out) and just dig a quick search and there's a lot more info out there now on the topic.
Good stuff, it's pretty heavy going math wise :)
Forth is like the Tao: it is a Way, and is realized when followed.
Its fragility is its strength; its simplicity is its direction - Michael Ham

"The E in Javascript stands for 'easy'." Florin Pop tweet

It's Alive!

  • Retired
  • Needs a day job
  • Posts: 7283
  • AKA Daniel
Re: Concave hull
« Reply #2 on: November 15, 2021, 05:20:53 AM »
ArxBrxDelaunay2 should be much faster on larger point sets. I modified the code to use AcGePoint3d, so its no longer necessary to track the Z in a map.
I left both solutions attached.
Retired