Максимальная плоская фигура в пространстве

В этом разделе представлены функции, которые вписывают максимальную по размеру плоскую фигуру ( чаще всего в этом качестве используется площадь ) в выпуклый многогранник:

• Круг

Def<Circle3d> maxCircleInConvexPolyhedron ( const Polyhedron & poly );

• Эллипс в треугольнике

Def<Ellipse3d> maxEllipseInTriangleA ( Vector3d p1, Vector3d p2, Vector3d p3 );

• Эллипс в тетраэдре

Def<Ellipse3d> maxEllipseInTetrahedronA ( Vector3d p1, Vector3d p2, Vector3d p3, Vector3d p4 );
• Треугольник

Def<Triangle3d> maxTriangleInConvexPolyhedronA ( const Polyhedron & poly );
• Прямоугольник без вращения

Def<Rectangle3d> maxRectangleInConvexPolyhedronANR ( const Polyhedron & outer );
• Прямоугольник с вращением

Def<Rectangle3d> maxRectangleInConvexPolyhedronA ( const Polyhedron & outer );
• Ромб без вращения

Def<Rhombus3d> maxRhombusInConvexPolyhedronANR ( const Polyhedron & outer );
• Ромб с вращением

Def<Rhombus3d> maxRhombusInConvexPolyhedronA ( const Polyhedron & outer );
• Параллелограмм ( A - максимум площади, P - максимум периметра )

Def<Parallelogram3d> maxParallelogramInConvexPolyhedronA ( const Polyhedron & poly );
Def<Parallelogram3d> maxParallelogramInConvexPolyhedronP ( const Polyhedron & poly );

Примеры использования всех этих функций можно посмотреть в приложении DEMO.

Описание классов Circle3d, Ellipse3d, Triangle3d, Rectangle3d, Rhombus3d и Parallelogram3d находится здесь.
Описание шаблона классов Def находится здесь.
Описание класса Polyhedron находится здесь.
Исходники находятся в файле opti2d_3d.cpp.

Наверх