Построение правильного многоугольника
Функция
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:
Рис. 1
при vertexCount >= 3 строится правильный многоугольник с заданным числом сторон.
Построенная кривая будет замкнутой ломаной линией, описанной в подразделе Двумерная ломаная линия MbPolyline. На рис. 2 приведён вписанный в окружность правильный многоугольник, а на рис. 3 приведён описанный вокруг окружности правильный многоугольник:
Рис. 2
Рис. 3
В тестовом приложении test.exe построение выпуклой равносторонней двумерной ломаной выполняется командой меню «Создать→Кривую на плоскости→По точкам→Многоугольник».