Locus No Pilotus
Project of four first grade MIPT DAFE/RSE students (for engineering practical work in the second semester) in Qt C++
|
Classes | |
class | AdjacencyMatrix |
Матрица смежности для алгоритма Литтла More... | |
class | CircleObstacle |
Круговое препятствие More... | |
class | DijkstrasAlgorithm |
Реализация алгоритма Дейкстры More... | |
struct | Edge |
Ребро между двумя контрольными точками More... | |
struct | LinearFunction |
Прямая вида ax+by+c=0. More... | |
struct | Minimums |
Структура для хранения двух минимумов строки/столбца More... | |
class | OptimalWayCalculator |
Функтор, находящий кратчайший путь между точками More... | |
struct | PathWayGraph |
Граф вершин между контрольными точками More... | |
struct | PathWayNode |
Вершина графа More... | |
struct | Point |
Точка с геометрическими связями More... | |
class | PolygonObstacle |
Многоугольное препятствие More... | |
class | TrajectoryCalculator |
class | TravellingSalesmansProblem |
Решение задачи коммивояжера More... | |
struct | TSPNode |
Вершина дерева с соответствующей матрицей смежности More... | |
Functions | |
bool | AreThereIntersections (const CircleObstacle &cr_obst, const LinearFunction &line) |
Проверяет, пересекает ли прямая многоугольник | |
bool | AreThereIntersections (const CircleObstacle &cr_obst, const Point &pnt1, const Point &pnt2) |
Проверяет, пересекает ли отрезок, проведенный через две точки, окружность | |
bool | AreThereIntersections (const PolygonObstacle &poly_obst, const LinearFunction &line) |
Проверяет, пересекает ли прямая многоугольник | |
bool | AreThereIntersections (const PolygonObstacle &poly_obst, const Point &pnt1, const Point &pnt2) |
Проверяет, пересекает ли отрезок, проведенный через две точки, многоугольник | |
double | DistanceBetweenPointsOnCircle (const CircleObstacle &circle, const Point &p1, const Point &p2) |
double | DistanceBetweenPointsOnPolygon (const PolygonObstacle &polygon, const Point &p1, const Point &p2) |
bool | IsPointInsideCircle (const Point &point, const CircleObstacle &circle) |
Проверяет, находится ли точка внутри окружности | |
std::pair< Point, Point > | TangentPoints (const CircleObstacle &cr_obst, const Point &point) |
Находит точки касания круга c касательной, проведенной из контрольной точки | |
std::pair< Point, Point > | TangentPoints (const LinearFunction &tangent, const CircleObstacle &circle1, const CircleObstacle &circle2) |
Находит точки касания кругов с их общей касательной | |
std::pair< Point, Point > | TangentPoints (const LinearFunction &tangent, const PolygonObstacle &polygon, const CircleObstacle &circle) |
Находит точки касания многоугольника и круга с их общей касательной | |
std::pair< Point, Point > | TangentPoints (const LinearFunction &tangent, const PolygonObstacle &polygon1, const PolygonObstacle &polygon2) |
Находит точки касания двух многоугольников с их общей касательной | |
std::pair< Point, Point > | TangentPoints (const PolygonObstacle &poly_obst, const Point &point) |
Находит точки касания многоугольника c касательной, проведенной из контрольной точки | |
std::vector< LinearFunction > | TangentsBetween (const CircleObstacle &circle1, const CircleObstacle &circle2) |
Находит уравнения общих касательных двух кругов | |
template<typename T > | |
std::vector< LinearFunction > | TangentsBetween (const PolygonObstacle &polygon, const T &obstacle) |
Находит уравнения общих касательных многоугольника и другого препятствия | |
template std::vector< LinearFunction > | TangentsBetween< CircleObstacle > (const PolygonObstacle &polygon, const CircleObstacle &obstacle) |
template std::vector< LinearFunction > | TangentsBetween< PolygonObstacle > (const PolygonObstacle &polygon, const PolygonObstacle &obstacle) |
bool math::AreThereIntersections | ( | const CircleObstacle & | cr_obst, |
const LinearFunction & | line ) |
Проверяет, пересекает ли прямая многоугольник
cr_obst | круг |
line | прямая |
bool math::AreThereIntersections | ( | const CircleObstacle & | cr_obst, |
const Point & | pnt1, | ||
const Point & | pnt2 ) |
Проверяет, пересекает ли отрезок, проведенный через две точки, окружность
cr_obst | круг |
pnt1 | точка 1 |
pnt2 | точка 2 |
bool math::AreThereIntersections | ( | const PolygonObstacle & | poly_obst, |
const LinearFunction & | line ) |
Проверяет, пересекает ли прямая многоугольник
poly_obst | многоугольник |
line | прямая |
bool math::AreThereIntersections | ( | const PolygonObstacle & | poly_obst, |
const Point & | pnt1, | ||
const Point & | pnt2 ) |
Проверяет, пересекает ли отрезок, проведенный через две точки, многоугольник
poly_obst | многоугольник |
pnt1 | точка 1 |
pnt2 | точка 2 |
double math::DistanceBetweenPointsOnCircle | ( | const CircleObstacle & | circle, |
const Point & | p1, | ||
const Point & | p2 ) |
double math::DistanceBetweenPointsOnPolygon | ( | const PolygonObstacle & | polygon, |
const Point & | p1, | ||
const Point & | p2 ) |
bool math::IsPointInsideCircle | ( | const Point & | point, |
const CircleObstacle & | circle ) |
Проверяет, находится ли точка внутри окружности
point | точка |
circle | окружность |
std::pair< Point, Point > math::TangentPoints | ( | const CircleObstacle & | cr_obst, |
const Point & | point ) |
Находит точки касания круга c касательной, проведенной из контрольной точки
cr_obst | круг |
point | контрольная точка |
std::pair< Point, Point > math::TangentPoints | ( | const LinearFunction & | tangent, |
const CircleObstacle & | circle1, | ||
const CircleObstacle & | circle2 ) |
Находит точки касания кругов с их общей касательной
tangent | касательная |
circle1 | круг 1 |
circle2 | круг 2 |
std::pair< Point, Point > math::TangentPoints | ( | const LinearFunction & | tangent, |
const PolygonObstacle & | polygon, | ||
const CircleObstacle & | circle ) |
Находит точки касания многоугольника и круга с их общей касательной
tangent | касательная |
polygon | многоугольник |
circle | круг |
std::pair< Point, Point > math::TangentPoints | ( | const LinearFunction & | tangent, |
const PolygonObstacle & | polygon1, | ||
const PolygonObstacle & | polygon2 ) |
Находит точки касания двух многоугольников с их общей касательной
tangent | касательная |
polygon1 | многоугольник 1 |
polygon2 | многоугольник 2 |
std::pair< Point, Point > math::TangentPoints | ( | const PolygonObstacle & | poly_obst, |
const Point & | point ) |
Находит точки касания многоугольника c касательной, проведенной из контрольной точки
poly_obst | многоугольник |
point | контрольная точка |
std::vector< LinearFunction > math::TangentsBetween | ( | const CircleObstacle & | circle1, |
const CircleObstacle & | circle2 ) |
Находит уравнения общих касательных двух кругов
circle1 | круг 1 |
circle2 | круг 2 |
std::vector< LinearFunction > math::TangentsBetween | ( | const PolygonObstacle & | polygon, |
const T & | obstacle ) |
Находит уравнения общих касательных многоугольника и другого препятствия
polygon | многоугольник |
obstacle | препятствие |
template std::vector< LinearFunction > math::TangentsBetween< CircleObstacle > | ( | const PolygonObstacle & | polygon, |
const CircleObstacle & | obstacle ) |
template std::vector< LinearFunction > math::TangentsBetween< PolygonObstacle > | ( | const PolygonObstacle & | polygon, |
const PolygonObstacle & | obstacle ) |