Gibt einen list Polygone, die die Bereiche von poly1 darstellen, verbleiben, wenn die Fläche poly2 entfernt wird.
Polygone werden in einer "lightweight"-Methode durch eine Liste von Punkten dargestellt. Die ersten drei nicht kollinearen points definieren die "Ebene" des Polygons. Auch wenn die restlichen points nicht in dieser Ebene liegen, werden Sie für alle Berechnungen auf diese Ebene projiziert.
polygonDifference ( poly1 As List, _
poly2 As List ) As List
| Argument | Typ | Beschreibung |
|---|---|---|
| poly1 | List | Das ursprüngliche Polygon |
| poly2 | List | Das Polygon, das entfernt werden soll |
Intent >polygonDifference({point(0,0,0), Point(5,0,0), Point(5,5,0), Point(0,5,0)}, {Point(1,1,0), Point(6,1,0), Point(6,4,0), Point(1,4,0)})
--> {{Point_(1.0, 1.0, 0.0, WorldFrame()), Point_(1.0, 4.0, 0.0, WorldFrame()), Point_(5.0, 4.0, 0.0, WorldFrame()), Point_(5.0, 5.0, 0.0, WorldFrame()), Point_(0.0, 5.0, 0.0, WorldFrame()), Point_(0.0, 0.0, 0.0, WorldFrame()), Point_(5.0, 0.0, 0.0, WorldFrame()), Point_(5.0, 1.0, 0.0, WorldFrame())}}
Intent >polygonDifference({Point(1,1,0), Point(6,1,0), Point(6,4,0), Point(1,4,0)}, {point(0,0,0), Point(5,0,0), Point(5,5,0), Point(0,5,0)})
--> {{Point_(6.0, 1.0, 0.0, WorldFrame()), Point_(6.0, 4.0, 0.0, WorldFrame()), Point_(5.0, 4.0, 0.0, WorldFrame()), Point_(5.0, 1.0, 0.0, WorldFrame())}}