некоторые алгоритмы
я задам несколько вопросов:
1) бывает случай когда дан многоугольник и известны его стороны, надо вычислить его площадь;
или пахожая проблема но даны координаты вершин и надо найти площадь.
2) даны координаты вершин 2-х многоугольников и надо найть общую площадь.
каким оброзом можно решить такие задачи?
[COLOR="Red"]От модератора:[/COLOR] исправил название. В следующий раз заглядывай в словарь и не торопись при наборе.
1) бывает случай когда дан многоугольник и известны его стороны, надо вычислить его площадь;
или пахожая проблема но даны координаты вершин и надо найти площадь.
2) даны координаты вершин 2-х многоугольников и надо найть общую площадь.
каким оброзом можно решить такие задачи?[/QUOTE]
Триангуляция - целый раздел вычислительной геометрии.
Если известно заранее что оба многоугольника выпуклые - задача относительно простая: многоугольник можно просто раздробить по типу "фена", то есть все треугольники будут иметь одну общую вершину. Надо будет найти потом многоугольник пересечения и вычесть его площать из суммы площадей двух данных многоугольников.
Если же многоугольники не выпуклые, алгоритмы гораздо сложнее. Далее если в многоугольниках есть "дырки" то алгоритмы еще много сложнее. Хотя и решаемо. Почему же нет? Имплементация которой пользуюсь я состоит из 2500 строк кода.
а можно по конкретнее о " типе "фена" "
а можно по конкретнее о " типе "фена" "[/QUOTE]
Ой, хотел сказать "веер". Это один из типов массивов с которыми оперирует OpenGL при указании TRIANGLE_FAN. Вот тут есть картинка (вторая сверху)
http://www.bluevoid.com/opengl/sig00/advanced00/notes/node19.html
по моему эти задачи решаютса кокимта математическим алгоритмом.
по моему эти задачи решаютса кокимта математическим алгоритмом.[/QUOTE]
А че сложного? Сделать цикл вычисляющий через синус площадь каждого треугольника?
Святозар прав, любой многоугольник "бьется" на треугольники.
Цитата: pod
B]
Насчет площади есть такое понятие как ориентированная площадь. ее очень легко посчитать, если у тебя есть координаты вершин(подходит для вогнутых многоугольников).
Если координаты вершин n-угольника равны (xi , yi ), i = 1, ..., n, то площадь многоугольника может быть вычислена по формуле
[ATTACH]2548[/ATTACH]
где (x0 , y0 ) = (xn , yn ).
Если есть дыры, то соответственно Площадь многоугольника считается как площадь многоугольника минус площадь дырки)