Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

некоторые алгоритмы

1.8K
06 октября 2006 года
pod
144 / / 05.04.2006
тема насчёт некоторых алгоритмах которые часто встречаютса в олимпиадных задачах.

я задам несколько вопросов:
1) бывает случай когда дан многоугольник и известны его стороны, надо вычислить его площадь;
или пахожая проблема но даны координаты вершин и надо найти площадь.

2) даны координаты вершин 2-х многоугольников и надо найть общую площадь.

каким оброзом можно решить такие задачи?

[COLOR="Red"]От модератора:[/COLOR] исправил название. В следующий раз заглядывай в словарь и не торопись при наборе.
5.4K
06 октября 2006 года
Svyatozar
221 / / 11.09.2006
[QUOTE=pod]
1) бывает случай когда дан многоугольник и известны его стороны, надо вычислить его площадь;
или пахожая проблема но даны координаты вершин и надо найти площадь.

2) даны координаты вершин 2-х многоугольников и надо найть общую площадь.

каким оброзом можно решить такие задачи?[/QUOTE]
Триангуляция - целый раздел вычислительной геометрии.
Если известно заранее что оба многоугольника выпуклые - задача относительно простая: многоугольник можно просто раздробить по типу "фена", то есть все треугольники будут иметь одну общую вершину. Надо будет найти потом многоугольник пересечения и вычесть его площать из суммы площадей двух данных многоугольников.

Если же многоугольники не выпуклые, алгоритмы гораздо сложнее. Далее если в многоугольниках есть "дырки" то алгоритмы еще много сложнее. Хотя и решаемо. Почему же нет? Имплементация которой пользуюсь я состоит из 2500 строк кода.
1.8K
06 октября 2006 года
pod
144 / / 05.04.2006
многоугольник всегда даётса выпуклый

а можно по конкретнее о " типе "фена" "
5.4K
06 октября 2006 года
Svyatozar
221 / / 11.09.2006
[QUOTE=pod]многоугольник всегда даётса выпуклый

а можно по конкретнее о " типе "фена" "[/QUOTE]
Ой, хотел сказать "веер". Это один из типов массивов с которыми оперирует OpenGL при указании TRIANGLE_FAN. Вот тут есть картинка (вторая сверху)
http://www.bluevoid.com/opengl/sig00/advanced00/notes/node19.html
1.8K
08 октября 2006 года
pod
144 / / 05.04.2006
я не думаю чтоб всё было так сложно.
по моему эти задачи решаютса кокимта математическим алгоритмом.
5.4K
09 октября 2006 года
Svyatozar
221 / / 11.09.2006
[QUOTE=pod]я не думаю чтоб всё было так сложно.
по моему эти задачи решаютса кокимта математическим алгоритмом.[/QUOTE]
А че сложного? Сделать цикл вычисляющий через синус площадь каждого треугольника?
350
09 октября 2006 года
cheburator
589 / / 01.06.2006
Святозар прав, любой многоугольник "бьется" на треугольники.
29K
28 декабря 2007 года
Nymph666
16 / / 28.11.2007
Цитата: pod
B]



Насчет площади есть такое понятие как ориентированная площадь. ее очень легко посчитать, если у тебя есть координаты вершин(подходит для вогнутых многоугольников).
Если координаты вершин n-угольника равны (xi , yi ), i = 1, ..., n, то площадь многоугольника может быть вычислена по формуле
[ATTACH]2548[/ATTACH]
где (x0 , y0 ) = (xn , yn ).
Если есть дыры, то соответственно Площадь многоугольника считается как площадь многоугольника минус площадь дырки)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог