pointInPolygon?()

概要

点の一覧 poly によって示されたポリゴン内に pt がある場合に True を返します。

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

構文

pointInPolygon? ( pt As Point, _
                  poly As List ) As Boolean 
引数 [タイプ] 説明
pt テストする点です。
poly [一覧] ポリゴンを定義する点の一覧です。

例 1

Intent >pointInPolygon?(point(1,1,0), {Point(0,0,0), Point(2,0,0), Point(1,2,0)}) 
--> True 

例 2

Intent >pointInPolygon?(point(2,1,0), {Point(0,0,0), Point(2,0,0), Point(1,2,0)}) 
--> False 

例 3

ポリゴンの境界上にある点はあいまいです。関連する特定の数値に応じて、外にあると報告される場合も、中にあると報告される場合もあります。True の場合は "内側または境界線上" が示されますが、False の場合には "境界線上にない" とは示されません。
Intent >pointInPolygon?(point(1,0,0), {Point(0,0,0), Point(2,0,0), Point(1,2,0)}) 
--> True