- 1
- 2
x,y: real;
angle: real;
end;
А количество вершин в глобальной переменной n.
Следующая процедура осуществляет ввод данных:
procedure input;
var f: text;
i: integer;
begin
Assign(f,'points.dat');
reset(f);
readln(f, n);
for i:=1 to n do readln(f, sd[i].x, sd[i].y);
end;
Предварительная обработка.
В данном пункте алгоритма осуществляется вычисление внутренних углов многоугольника.
A
B
Рассмотрим часть произвольного многоугольника:
Пусть вектор A образует с ось OX угол 1, а вектор B – угол 2. Тогда угол между ними (внутренний угол многоугольника) будет равен 180–1–2. Здесь нельзя использовать формулу угла между векторами через скалярное произведение, т.к таким образом вычисляется минимальный угол. Но при этом возможен такой случай:
Угол будет внешним.
Так вычислим либо все внутренние, либо все внешние углы многоугольника. Чтобы выяснить какие углы мы нашли, рассмотрим следующую теорему:Сумма внешних углов произвольного многоугольника больше суммы внутренних.
Доказательство проведем по индукции:
Очевидно, что теорема справедлива для треугольникаПредположим, что теорема справедлива для k-угольникаДокажем теперь, что теорема справедлива для (k+1)-угольника.
Пусть сумма внутренних углов k-угольника равна 1, а внешних 2. Из п.2 следует, что 1
- 1
- 2
Похожие работы
Тема: Вычисления площади произвольного многоугольника |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат) |
Тема: Разбиения выпуклого многоугольника |
Предмет/Тип: Математика (Реферат) |
Тема: Разбиения выпуклого многоугольника |
Предмет/Тип: Математика (Контрольная работа) |
Тема: Анализ многоугольника конкурентоспособности |
Предмет/Тип: Маркетинг (Реферат) |
Тема: Разбиения выпуклого многоугольника |
Предмет/Тип: Математика (Реферат) |
Интересная статья: Основы написания курсовой работы