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

Функция

MbResultType RegularPolygon( const MbCartPoint &   centre,
                             const MbCartPoint &   point,
                                   size_t          vertexCount,
                                   bool            describe,
                                   MbCurve *&      result )

выполняет построение замкнутой двумерной ломаной линии, представляющей собой правильный многоугольник, вписанный в обозначенную окружность или описанный около окружности.

Входными параметрами функции являются:

  • centre - центр окружности, описанной или вписанной в равносторонний многоугольник;

  • point - точка на окружности;

  • vertexCount - количество вершин многоугольника;

  • describe - флаг, определяющий положение многоугольника относительно окружности.

Выходным параметром функции является построенная кривая result.

Функция возвращает код результата операции из перечисления :ref:`MbResultType <MbResultType>`(см. mb_operation_result.h).

Функция объявлена в файле action_curve.h.

Параметры centre и point определяют окружность, в которую будет вписан (describe = false) многоугольник с числом вершин vertexCount или вокруг которой будет описан (describe = true) многоугольник с числом вершин vertexCount. Параметр vertexCount определяет число вершин правильного многоугольника:

  • при vertexCount == 0 строится окружность с центром centre, проходящая через point;

  • при vertexCount == 1 строится отрезок с крайними точками centre и point;

  • при vertexCount == 2 строится прямоугольник со сторонами, параллельными глобальным осям, и противоположными вершинами в centre и point, рис. 1:

../../../../_images/M.3.5.3.png

Рис. 1

  • при vertexCount >= 3 строится правильный многоугольник с заданным числом сторон.

Построенная кривая будет замкнутой ломаной линией, описанной в подразделе Двумерная ломаная линия MbPolyline. На рис. 2 приведён вписанный в окружность правильный многоугольник, а на рис. 3 приведён описанный вокруг окружности правильный многоугольник:

../../../../_images/M.3.5.1.png

Рис. 2

../../../../_images/M.3.5.2.png

Рис. 3

В тестовом приложении test.exe построение выпуклой равносторонней двумерной ломаной выполняется командой меню «Создать→Кривую на плоскости→По точкам→Многоугольник».