Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   [геометрия] площадь произвольной фигуры... (http://www.flasher.ru/forum/showthread.php?t=65454)

D-MAN 10.06.2005 04:13

[геометрия] площадь произвольной фигуры...
 
кто силен в математике/геометрии, подскажите. как посчитать площадь произвольной фигуры, стороны которой - отрезки прямых?
для выпуклой фигуры задача крайне простая, но нужно именно для произвольной.

KidsKilla 10.06.2005 04:24

задача абсолютно нерешабельная, ежели известны ток длины отрезков -- строй как хош.

ежели есть углы, то можно на треугольники порезать и их считать =))

D-MAN 10.06.2005 04:37

фигура задана координатами вершин. сама себя не пересекает.
вопрос в том, по какому принципу делить на треугольники, если фигура невыпуклая?

Смольный (Smolniy) 10.06.2005 11:19

Вложений: 1
ну вот вариант навскидку.

1. фигура, конечно, не должна себя пересекать.
2. фигура д. лежать в одном квадранте, если не так - передвинь параллельным переносом.
3. площадь фигур есть сумма площадей трапеций, составленных одной гранью фигуры, перпендикулярами на ось х и проекцией грани. надеюсь, прощадь трапеции мы считаем без проблем. :) на иллюстрации будет
S = S(abb1a1)+s(bcc1b1)-s(dcc1d1)-s(add1a1).
решение о + или - принимаем след. образом. в каждую из точек верхней грани трапеции может приходить не более двух отрезков (фигура не пересекается, в т.ч. вершинами). один из этих отрезков есть верхняя грань трапеции, другой - иная грань фигуры. определяем, попадает эта "иная" грань внутрь трапеции или нет (разностью углов, определяем углы арктангенсом, например), если попадает, значит +, если не попадает, то -.

алгоритм на практике не проверен, возможны косяки, но вроде похоже.

molinos 10.06.2005 11:54

Цитата:

Сообщение от d-man
кто силен в математике/геометрии, подскажите. как посчитать площадь произвольной фигуры, стороны которой - отрезки прямых?
для выпуклой фигуры задача крайне простая, но нужно именно для произвольной.

читаем учебник по геометрии за 9-10 класс

D-MAN 10.06.2005 15:06

Цитата:

Сообщение от molinos
читаем учебник по геометрии за 9-10 класс

Ну-ка, блесни! ;)

Fl00r 10.06.2005 15:17

Придумал нечто )
Варварское.
Создаем мув. Строим фигуру, заливаем ее. Берем 4 крайних координаты. И начинаем пикс за пиксом заполнять и проверять hitTest() ;
:)
Как говорится метод "в лоб".

D-MAN 10.06.2005 15:27

идея смольного про трапеции меня подкупила. буду думать. придумаю - покажу.
но если у кого есть готовый алгоритм - велкам! =)

D-MAN 10.06.2005 15:42

Видимо, мне сегодня везет... %)
http://www.2devochki.ru/67/15467/1.html

valvika 13.06.2005 09:31

алгоритм на идее смольного будет более компактный. он будет работать и для невыпуклых фигур. и не через трапеции площади надо будет брать, а все через интегралы и вычислить их наперед аналитически. в этом случае фигуру и передвигать никуда не надо. я уже не говорю про дурацкую формулу герона для вычисления площади треугольника ( см.линк ) - ее только восьмиклассники применяют.
кстати и с непрямыми сторонами должно считать.
просто два часа времени надо, чтобы отладить все и протестить.


Часовой пояс GMT +4, время: 14:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.