/// <summary> /// 多角形の面積を取得する /// </summary> public float GetArea() { float crossSum = 0f; //外積の合計 int size = vertices.Count; //頂点を巡回 for (int i = 0; i < size; ++i) { Vector2 v1 = vertices[i]; Vector2 v2 = vertices[(i + 1) % size]; //外積を計算 float cross = GeomUtil.Cross(v1, v2); //外積を加算 crossSum += cross; } return(Mathf.Abs(crossSum / 2f)); }