Ну если не совсем произвольный многоугольник, а последовательно переходить удваивая количество вершин. Например, от квадрата перейти к правильному восьмиугольнику, потом к правильному 16-ти угольнику, то можно строить эти вершины без синусов и косинусов. Правда квадратный корень извлекать придется
Надо находить точку на окружности между двумя вершинами треугольника
Вроде так можно
(см рисунок)
Есть Треугольник O(Xo,Yo), A(Xa,Ya) B(Xb, Yb), O - центр окружности радиуса R
Найти точку C(Xc,Yc), чтобы OC "делила треугольник на равные части"
Найдем P(Xp, Yp)
Xp = (Xa+Xb)/2; Yp = (Ya+Yb)/2;
Длина OP d = Sqrt((Xp-Xo)^2 + (Yp-Yo)^2)
Отсюда Xc = Xo + (Xp-Xo)*R/d; Yc = Yo + (Yp-Yo)*R/d
|