src/cplib/geometry/polygon

  Source   Edit

Types

Polygon[T] = object
  v*: seq[Point[T]]
  Source   Edit

Procs

proc area(p: Polygon[float]): float {....raises: [], tags: [].}
多角形の面積、頂点列が時計回りの場合負の数が返る   Source   Edit
proc area(p: Polygon[int]): int {....raises: [], tags: [].}
多角形の面積の2倍、頂点列が時計回りの場合負の数が返る   Source   Edit
proc area[T](p: Polygon[Fraction[T]]): Fraction[T]
多角形の面積、頂点列が時計回りの場合負の数が返る   Source   Edit
proc contains[T](poly: Polygon[T]; p: Point[T]; strict: bool = false): bool
自己交差のない多角形 poly 内に点 p が存在するかを判定、辺上にある場合を含めない場合は strict = true を設定   Source   Edit
proc convex_hull[T](v: seq[Point[T]]; strict: bool = true): Polygon[T]
点群 v の凸包   Source   Edit
proc initPolygon[T](v: seq[Point[T]]): Polygon[T]
頂点列 v の多角形型を初期化   Source   Edit
proc is_convex[T](poly: Polygon[T]; strict: bool = true): bool
多角形が凸かどうかを判定、ちょうど 180 度の内角を許容する場合は strict = false を設定   Source   Edit
proc is_convex_ccw[T](poly: Polygon[T]; strict: bool = true): bool
頂点列が反時計回りの多角形に対して、凸かどうかを判定   Source   Edit
proc len[T](poly: Polygon[T]): int
  Source   Edit
proc on_edge[T](poly: Polygon[T]; p: Point[T]): bool
点 p が多角形 poly の辺上にあるかどうかを判定   Source   Edit

Iterators

iterator items[T](poly: Polygon[T]): Point[T]
  Source   Edit