25 (point2.
x - point1.
x) * point1.
y - (point2.
y - point1.
y) * point1.
x;
35 double proportion = ((std::abs(
a_coef) >= precision) &&
36 (std::abs(other.
a_coef) >= precision))
39 return (std::abs(other.
a_coef - proportion *
a_coef) < precision) &&
40 (std::abs(other.
b_coef - proportion *
b_coef) < precision) &&
41 (std::abs(other.
c_coef - proportion *
c_coef) < precision);
Круговое препятствие
Definition obstacles.h:58
bool operator==(const CircleObstacle &other)
Definition obstacles.h:80
Point center_
Definition obstacles.h:91
CircleObstacle()
Definition obstacles.h:68
std::vector< Point > tangent_points_
Definition obstacles.h:96
Point GetCenter() const
Definition obstacles.h:70
double GetRadius() const
Definition obstacles.h:72
double radius_
Definition obstacles.h:93
CircleObstacle(Point center, double radius)
Инициализирует экземпляр CircleObstacle.
Definition obstacles.h:65
void AddTangentPoint(const Point &tangent_point)
Definition obstacles.h:76
std::vector< Point > GetTangentPoints()
Definition obstacles.h:74
bool operator!=(const CircleObstacle &other)
Definition obstacles.h:85
Многоугольное препятствие
Definition obstacles.h:100
bool operator==(const PolygonObstacle &other)
Definition obstacles.h:127
PolygonObstacle(const std::vector< Point > &vertexes)
Инициализирует экземпляр PolygonObstacle.
Definition obstacles.h:107
Point center_
Definition obstacles.h:137
PolygonObstacle()=default
void AddTangentPoint(const Point &tangent_point)
Definition obstacles.h:123
std::vector< Point > vertexes_
Definition obstacles.h:140
std::vector< Point > GetVertexes() const
Definition obstacles.h:119
std::vector< Point > tangent_points_
Definition obstacles.h:143
std::vector< Point > GetTangentPoints()
Definition obstacles.h:121
Point GetCenter() const
Definition obstacles.h:117
bool operator!=(const PolygonObstacle &other)
Definition obstacles.h:131
constexpr double inf
Infinity.
Definition infinity.h:9
constexpr double precision
Definition point.h:11
Definition adjacency_matrix.cpp:7
Математическая точка
Definition point.h:16
double y
Definition point.h:18
double x
Definition point.h:17
Прямая вида ax+by+c=0.
Definition obstacles.h:17
double a_coef
Definition obstacles.h:32
bool operator==(const LinearFunction &other) const
Definition obstacles.h:34
LinearFunction(const lib::Point &point1, const lib::Point &point2)
Definition obstacles.h:21
double c_coef
Definition obstacles.h:32
LinearFunction(double a, double b, double c)
Definition obstacles.h:18
double b_coef
Definition obstacles.h:32
double Substitute(const lib::Point &p) const
Definition obstacles.h:28
Точка с геометрическими связями
Definition obstacles.h:46
Point(double xx, double yy)
Definition obstacles.h:51
std::shared_ptr< lib::Point > another_tangent_point
Definition obstacles.h:54
Point(const lib::Point &p)
Definition obstacles.h:49