Kyopro Library
 
読み取り中…
検索中…
一致する文字列を見つけられません
geo.hpp ファイル

[ソースコード]

クラス

struct  Geometry::Point
 2次元平面上の位置ベクトル [詳解]
 
struct  Geometry::Line
 直線 [詳解]
 
struct  Geometry::Segment
 線分 [詳解]
 
struct  Geometry::Circle
 [詳解]
 

名前空間

namespace  Geometry
 幾何ライブラリ
 

型定義

using Geometry::Real = long double
 

列挙型

enum  Geometry::Orientation {
  Geometry::COUNTER_CLOCKWISE , Geometry::CLOCKWISE , Geometry::ONLINE_BACK , Geometry::ONLINE_FRONT ,
  Geometry::ON_SEGMENT
}
 

関数

bool Geometry::almostEqual (Real a, Real b)
 
bool Geometry::lessThan (Real a, Real b)
 
bool Geometry::greaterThan (Real a, Real b)
 
bool Geometry::lessThanOrEqual (Real a, Real b)
 
bool Geometry::greaterThanOrEqual (Real a, Real b)
 
Orientation Geometry::ccw (const Point &p0, const Point &p1, const Point &p2)
 3点 p0, p1, p2 の進行方向を返す
 
string Geometry::orientationToString (Orientation o)
 
Point Geometry::projection (const Point &p1, const Point &p2, const Point &p)
 ベクトル p の直線 p1, p2 への正射影ベクトルを返す
 
Point Geometry::projection (const Line &l, const Point &p)
 ベクトル p の直線 l への正射影ベクトルを返す
 
Point Geometry::reflection (const Point &p1, const Point &p2, const Point &p)
 ベクトル p の直線 p1, p2 に対する鏡像ベクトルを返す
 
Point Geometry::reflection (const Line &l, const Point &p)
 ベクトル p の直線 l に対する鏡像ベクトルを返す
 
bool Geometry::isParallel (const Line &l1, const Line &l2)
 
bool Geometry::isOrthogonal (const Line &l1, const Line &l2)
 
bool Geometry::isParallel (const Segment &l1, const Segment &l2)
 
bool Geometry::isOrthogonal (const Segment &l1, const Segment &l2)
 
bool Geometry::isParallel (const Line &l1, const Segment &l2)
 
bool Geometry::isOrthogonal (const Line &l1, const Segment &l2)
 
bool Geometry::isParallel (const Segment &l1, const Line &l2)
 
bool Geometry::isOrthogonal (const Segment &l1, const Line &l2)
 
bool Geometry::isPointOnLine (const Point &p, const Line &l)
 
bool Geometry::isPointOnSegment (const Point &p, const Segment &s)
 
bool Geometry::isIntersecting (const Segment &s1, const Segment &s2)
 
Point Geometry::getIntersection (const Segment &s1, const Segment &s2)
 
Real Geometry::distancePointToSegment (const Point &p, const Segment &s)
 
Real Geometry::distanceSegmentToSegment (const Segment &s1, const Segment &s2)
 
Real Geometry::getPolygonArea (const vector< Point > &points)
 
bool Geometry::isConvex (const vector< Point > &points)
 
bool Geometry::isPointOnPolygon (const vector< Point > &polygon, const Point &p)
 
bool Geometry::isPointInsidePolygon (const vector< Point > &polygon, const Point &p)
 
vector< PointGeometry::convexHull (vector< Point > &points, bool include_collinear=false)
 
Real Geometry::convexHullDiameter (const vector< Point > &hull)
 
vector< PointGeometry::cutPolygon (const vector< Point > &g, const Line &l)
 
Real Geometry::closestPair (vector< Point > &points, int l, int r)
 
int Geometry::countIntersections (vector< Segment >segments)
 
int Geometry::countCirclesIntersection (const Circle &c1, const Circle &c2)
 
Circle Geometry::getInCircle (const Point &A, const Point &B, const Point &C)
 
Circle Geometry::getCircumCircle (const Point &A, const Point &B, const Point &C)
 
vector< PointGeometry::getCircleLineIntersection (const Circle &c, Point p1, Point p2)
 
vector< PointGeometry::getCirclesIntersect (const Circle &c1, const Circle &c2)
 
vector< PointGeometry::getTangentLinesFromPoint (const Circle &c, const Point &p)
 
vector< SegmentGeometry::getCommonTangentsLine (const Circle &c1, const Circle &c2)
 

変数

const Real Geometry::EPS =1e-9