Gibt eine Liste von Polygonen zurück, die die Bereiche von poly1 darstellen, die 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 Punkte definieren die "Ebene" des Polygons. Auch wenn die restlichen Punkte 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())}}