|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|
|||||
Регистрация: Nov 2003
Сообщений: 256
|
[геометрия] площадь произвольной фигуры...
кто силен в математике/геометрии, подскажите. как посчитать площадь произвольной фигуры, стороны которой - отрезки прямых?
для выпуклой фигуры задача крайне простая, но нужно именно для произвольной.
__________________
Программирование на Flash подобно шаманству, гаданию на кофейной гуще - никогда не знаешь, что получится. Anime Must Die! |
|
|||||
.grin! wuz here
|
задача абсолютно нерешабельная, ежели известны ток длины отрезков -- строй как хош.
ежели есть углы, то можно на треугольники порезать и их считать =))
__________________
Breakcore them all! |
|
|||||
Регистрация: Nov 2003
Сообщений: 256
|
фигура задана координатами вершин. сама себя не пересекает.
вопрос в том, по какому принципу делить на треугольники, если фигура невыпуклая?
__________________
Программирование на Flash подобно шаманству, гаданию на кофейной гуще - никогда не знаешь, что получится. Anime Must Die! |
|
|||||
Человек и Здание
|
ну вот вариант навскидку.
1. фигура, конечно, не должна себя пересекать. 2. фигура д. лежать в одном квадранте, если не так - передвинь параллельным переносом. 3. площадь фигур есть сумма площадей трапеций, составленных одной гранью фигуры, перпендикулярами на ось х и проекцией грани. надеюсь, прощадь трапеции мы считаем без проблем. на иллюстрации будет S = S(abb1a1)+s(bcc1b1)-s(dcc1d1)-s(add1a1). решение о + или - принимаем след. образом. в каждую из точек верхней грани трапеции может приходить не более двух отрезков (фигура не пересекается, в т.ч. вершинами). один из этих отрезков есть верхняя грань трапеции, другой - иная грань фигуры. определяем, попадает эта "иная" грань внутрь трапеции или нет (разностью углов, определяем углы арктангенсом, например), если попадает, значит +, если не попадает, то -. алгоритм на практике не проверен, возможны косяки, но вроде похоже.
__________________
Регардсы. |
|
|||||
Регистрация: Nov 2003
Сообщений: 256
|
идея смольного про трапеции меня подкупила. буду думать. придумаю - покажу.
но если у кого есть готовый алгоритм - велкам! =)
__________________
Программирование на Flash подобно шаманству, гаданию на кофейной гуще - никогда не знаешь, что получится. Anime Must Die! |
|
|||||
Регистрация: Nov 2003
Сообщений: 256
|
Видимо, мне сегодня везет... %)
http://www.2devochki.ru/67/15467/1.html
__________________
Программирование на Flash подобно шаманству, гаданию на кофейной гуще - никогда не знаешь, что получится. Anime Must Die! |
|
|||||
Цитата:
__________________
--------------------------- Это должно было случится. |
|
|||||
Регистрация: Nov 2003
Сообщений: 256
|
Цитата:
__________________
Программирование на Flash подобно шаманству, гаданию на кофейной гуще - никогда не знаешь, что получится. Anime Must Die! |
|
|||||
Придумал нечто )
Варварское. Создаем мув. Строим фигуру, заливаем ее. Берем 4 крайних координаты. И начинаем пикс за пиксом заполнять и проверять hitTest() ; Как говорится метод "в лоб". |
|
|||||
алгоритм на идее смольного будет более компактный. он будет работать и для невыпуклых фигур. и не через трапеции площади надо будет брать, а все через интегралы и вычислить их наперед аналитически. в этом случае фигуру и передвигать никуда не надо. я уже не говорю про дурацкую формулу герона для вычисления площади треугольника ( см.линк ) - ее только восьмиклассники применяют.
кстати и с непрямыми сторонами должно считать. просто два часа времени надо, чтобы отладить все и протестить. |
Часовой пояс GMT +4, время: 07:05. |
|
« Предыдущая тема | Следующая тема » |
|
|