Discarding Inner Triangles

I have an array of thousands of quads; 4-sided 3D polygons. All I know is the coordinates of the quadrangles.

A subset of these squares defines a closed outer shell of three-dimensional shape. The rest of the ATVs are inside this closed solid.

How can I determine which ATVs are part of the shell and which squares are part of the interior? This is not a critical performance code.


Edit: additional shell shape restrictions

  • There are no holes inside the mold; this is the only surface.
  • It contains both convex and concave parts.
  • I have several points that are known to be inside the shell.
+3
source share
5 answers

It can be difficult to realize if your figure crosses itself, but if you can find one square that you know is on the surface (perhaps one of the most distant from the center of gravity), then draw concentric circles around it. Then find a continuous ring of quadrants outside this and so on until you find yourself on the “opposite” side. If your squares intersect or are connected to each other, then this is more difficult. I would try to break those that intersect, then find all possible smooth surfaces and choose the one with the largest internal volume.

+4
source

How about this?

( "" ). . , , - . .

, "" .

+2

, . , .

, . , , :

, , , .

, , . - , .

: . , , :

  • () , ,
  • , ,

: , , , . .

+2

, . . ; , , .

, , .

, , .

+2

, , , .

, . . (.. ) , ( 2D-, " " ). " ". , , ( , ). , - . , , . " ", "shell".

( , ..) . , . .

. . , , , . , " " . , . , . , , , .

+1
source

Source: https://habr.com/ru/post/1759206/


All Articles