跳到內容

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], …]

原始碼 · 使用 Andrew 單調鏈演算法傳回指定 凸包。傳回的凸包表示為包含輸入 子集的陣列,以逆時針順序排列。如果 少於三個元素,則傳回 null。

polygonContains(polygon, point)

js
d3.polygonContains([[1, 1], [1.5, 0], [2, 1]], [1.5, 0.667]) // true

原始碼 · 僅當指定 在指定 多邊形 內部時,傳回 true。

polygonLength(polygon)

js
d3.polygonLength([[1, 1], [1.5, 0], [2, 1]]) // 3.23606797749979

原始碼 · 傳回指定 多邊形 周長的長度。