d3-polygon
このモジュールは、二次元ポリゴンに関するいくつかの基本的な幾何学的演算を提供します。各ポリゴンは、二要素配列[[x0, y0], [x1, y1], …]の配列として表現され、閉じた(最初の点と最後の点が同じ)か開いた(最初の点と最後の点が異なる)かのいずれかになります。通常、ポリゴンは、原点が左上に位置する座標系を仮定して、反時計回りの順序で配置されます。
polygonArea(polygon)
js
d3.polygonArea([[1, 1], [1.5, 0], [2, 1]]) // -0.5
ソースコード · 指定されたpolygonの符号付き面積を返します。ポリゴンの頂点が反時計回りの順序である場合(原点が左上に位置する座標系を仮定)、返される面積は正になります。そうでない場合、負またはゼロになります。
polygonCentroid(polygon)
js
d3.polygonCentroid([[1, 1], [1.5, 0], [2, 1]]) // [1.5, 0.6666666666666666]
ソースコード · 指定されたpolygonの重心を返します。
polygonHull(points)
js
d3.polygonHull(points) // [[3.0872864263338777, -1.300100095019402], [1.6559368816733773, -2.5092525689499605], …]
ソースコード · アンドリュースの単調鎖アルゴリズムを使用して、指定されたpointsの凸包を返します。返される凸包は、反時計回りの順序で配置された入力pointsのサブセットを含む配列として表現されます。pointsの要素数が3未満の場合はnullを返します。
polygonContains(polygon, point)
js
d3.polygonContains([[1, 1], [1.5, 0], [2, 1]], [1.5, 0.667]) // true
ソースコード · 指定されたpointが指定されたpolygonの内側にある場合に限り、trueを返します。
polygonLength(polygon)
js
d3.polygonLength([[1, 1], [1.5, 0], [2, 1]]) // 3.23606797749979
ソースコード · 指定されたpolygonの周囲の長さを返します。