polygonDifference()

概要

を返します。 poly2 の領域を削除したときに残る poly1 の領域を表すポリゴンの list をクリックします。

ポリゴンは、点の一覧によって「ライトウェイト」な方法で表現されます。最初の 3 つの同一線上にない points がポリゴンの 「 平面 」 を定義し、 points の残りの部分はその面に配置されていない場合でも、すべての計算でその平面に投影されます。

構文

polygonDifference ( poly1 As List, _
                    poly2 As List ) As List 
引数 [タイプ] 説明
poly1 List 元のポリゴンです。
poly2 List 削除するポリゴンです。

例 1

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())}} 

例 2

例 1 と同じポリゴンですが、逆の順序です。
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())}}