#include <line_2d.h>
Public メソッド | |
Line2D (const double &a, const double &b, const double &c) | |
construct directly | |
Line2D (const Vector2D &p1, const Vector2D &p2) | |
construct from 2 points | |
Line2D (const Vector2D &origin, const AngleDeg &linedir) | |
construct from origin point + direction | |
const Line2D & | assign (const Vector2D &p1, const Vector2D &p2) |
construct from 2 points | |
const Line2D & | assign (const Vector2D &origin, const AngleDeg &linedir) |
construct from origin point + direction | |
const double & | a () const |
accessor | |
const double & | getA () const |
accessor | |
const double & | b () const |
accessor | |
const double & | getB () const |
accessor accessor | |
const double & | c () const |
accessor | |
const double & | getC () const |
accessor | |
double | getX (const double &y) const |
get X-coordinate correspond to 'y' | |
double | getY (const double &x) const |
get Y-coordinate correspond to 'x' | |
double | dist (const Vector2D &p) const |
calculate distance from point to this line | |
double | dist2 (const Vector2D &p) const |
get squared distance from this line to point | |
bool | isParallel (const Line2D &line) const |
check if the slope of this line is same to the slope of 'line' | |
Vector2D | intersection (const Line2D &line) const |
get the intersection point with 'line' | |
Line2D | perpendicular (const Vector2D &p) const |
calc perpendicular line (SUI-SEN) | |
Vector2D | projection (const Vector2D &p) const |
calc projection point from p | |
Static Public メソッド | |
static Vector2D | intersection (const Line2D &line1, const Line2D &line2) |
get the intersection point of 2 lines | |
static Line2D | angle_bisector (const Vector2D &origin, const AngleDeg &left, const AngleDeg &right) |
make angle bisector line from two angles | |
static Line2D | perpendicular_bisector (const Vector2D &p1, const Vector2D &p2) |
make perpendicular bisector line from twt points | |
Static Public 変数 | |
static const double | EPSILON |
static const double | ERROR_VALUE |
epsilon value |
Line Fomula: aX + bY + c = 0
rcsc::Line2D::Line2D | ( | const double & | a, | |
const double & | b, | |||
const double & | c | |||
) | [inline] |
construct directly
a | Line formula A, coefficient for x | |
b | Line formula B, coefficient for y | |
c | constant C |
construct from 2 points
p1 | first point | |
p2 | second point |
construct from origin point + direction
origin | origin point | |
linedir | direction from origin point |
construct from 2 points
p1 | first point | |
p2 | second point |
construct from origin point + direction
origin | origin point | |
linedir | direction from origin point |
const double& rcsc::Line2D::a | ( | ) | const [inline] |
accessor
const double& rcsc::Line2D::getA | ( | ) | const [inline] |
accessor
const double& rcsc::Line2D::b | ( | ) | const [inline] |
accessor
const double& rcsc::Line2D::getB | ( | ) | const [inline] |
accessor accessor
const double& rcsc::Line2D::c | ( | ) | const [inline] |
accessor
const double& rcsc::Line2D::getC | ( | ) | const [inline] |
accessor
double rcsc::Line2D::getX | ( | const double & | y | ) | const [inline] |
get X-coordinate correspond to 'y'
y | considered Y |
double rcsc::Line2D::getY | ( | const double & | x | ) | const [inline] |
get Y-coordinate correspond to 'x'
x | considered X |
double rcsc::Line2D::dist | ( | const Vector2D & | p | ) | const [inline] |
calculate distance from point to this line
p | considrered point |
double rcsc::Line2D::dist2 | ( | const Vector2D & | p | ) | const [inline] |
get squared distance from this line to point
p | considrered point |
bool rcsc::Line2D::isParallel | ( | const Line2D & | line | ) | const [inline] |
check if the slope of this line is same to the slope of 'line'
line | considered line |
true | almost same | |
false | not same |
get the intersection point with 'line'
line | considered line |
calc perpendicular line (SUI-SEN)
p | the point that perpendicular line pass through |
calc projection point from p
p | base point |
get the intersection point of 2 lines
line1 | the first line | |
line2 | the second line |
static Line2D rcsc::Line2D::angle_bisector | ( | const Vector2D & | origin, | |
const AngleDeg & | left, | |||
const AngleDeg & | right | |||
) | [inline, static] |
make angle bisector line from two angles
origin | origin point that is passed through by result line | |
left | left angle | |
right | right angle |
make perpendicular bisector line from twt points
p1 | 1st point | |
p2 | 2nd point |