Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Расчет площади сложной фигуры   Найти похожие ветки 

 
stas ©   (2012-08-16 16:13) [0]

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


 
MBo ©   (2012-08-16 16:16) [1]

Какого вида кривые?


 
stas ©   (2012-08-16 16:18) [2]

>MBo ©   (16.08.12 16:16) [1]
могут быть любые - фигура задается SVG файлом http://ru.wikipedia.org/wiki/SVG


 
AV ©   (2012-08-16 16:19) [3]

Что про про иголку, броски, число Pi напоминает...
Гуглить надо


 
DVM ©   (2012-08-16 16:19) [4]


> stas ©   (16.08.12 16:13) 

У тебя же в высшем учебном заведении математический анализ был? Методы вычисления площадей фигур там же проходят.

Метод монте-карло например:
http://festival.1september.ru/articles/104286/

Метод координат есть еще, да и куча других, то что ты описал сам тоже имеет название, не помню только я его.


 
ProgRAMmer Dimonych ©   (2012-08-16 16:21) [5]

> [4] DVM ©   (16.08.12 16:19)

Так заливка - это и будет Монте-Карло. Только в профиль: точность повыше получится. А по координатам кривую учесть - беда совсем.


 
stas ©   (2012-08-16 16:22) [6]

DVM ©   (16.08.12 16:19) [4]

Не было вроде или прогулял... )
>Метод монте-карло

Спасибо, ща гляну.


 
stas ©   (2012-08-16 16:31) [7]

>DVM ©   (16.08.12 16:19) [4]
>ProgRAMmer Dimonych ©   (16.08.12 16:21) [5]
Ну, да это что-то типа заливки )

А более точных методов никто не знает?


 
MBo ©   (2012-08-16 16:31) [8]

>любые - фигура задается SVG файлом
ну не любые, а кривые Безье и дуги окружностей.

Теорема Грина:
http://mathworld.wolfram.com/GreensTheorem.html


 
DVM ©   (2012-08-16 16:40) [9]


> stas ©   (16.08.12 16:31) [7]


> А более точных методов никто не знает?

Метод Монте-карло он сколь угодно точный (зависит от количества испытаний), но медленный он.


 
DVM ©   (2012-08-16 16:42) [10]


> stas ©

Твоя фигура состоит из линий, каждая из которых описывается какой либо функций? И эти функции тебе известны?


 
stas ©   (2012-08-16 16:48) [11]

DVM ©   (16.08.12 16:42) [10]
не неизвестны
> фигура задается SVG файлом
Попробую считать, как-то он не внушает доверия )

>MBo ©   (16.08.12 16:31) [8]
>Теорема Грина:
Спасибо. Осталось разобраться только как это в код перевести. Ну, тут я думаю разберусь.


 
Dimka Maslov ©   (2012-08-16 18:18) [12]


> Есть идея залить фигуру определенным цветом и посчитать
> число пикселей


Лично я именно так считал снеговую нагрузку по картам распределения, мне влом было искать алгоритм вычисления площади пересечения двух невыпуклых многоугольников. Рисовал на битмапе и считал пиксели. Вполне даже точно получалось.


> фигура задается SVG файлом

Раз фигура задаётся svg файлом, там используются кривые Безье третьего порядка, выражающиеся через координаты опорных точек. Алгоритм следующий.1 Считываем из файла все замкнутые пути Path. 2 Криволинейные сегменты заменяем на ломанные прямые. 3. Выбираем полюс. 4. Для каждого сегмента вычисляем площадь треугольника (одна вершина - полюс, две остальные - концы сегмента). Площадь вычисляем через определитель (формула есть в Корнах или в Выгодском). Суммируем все площади (с учётом полученного знака).


 
brother ©   (2012-08-16 18:32) [13]

> > Есть идея залить фигуру определенным цветом и посчитать
>
> > число пикселей

что-то подобное было на баше...



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
2-1331910674
leklerk
2012-03-16 19:11
2013.03.22
Доступ к данным через TDBGrid и TADODataSet


15-1338494075
Bluejohn
2012-05-31 23:54
2013.03.22
Где вы используете батники?


6-1263450403
romich
2010-01-14 09:26
2013.03.22
Фотохостинг


2-1335171988
andrewtitoff
2012-04-23 13:06
2013.03.22
IdHTTP и Proxy


3-1276868847
worldmen
2010-06-18 17:47
2013.03.22
Поиск в BLOB (текст) поле не зависимо от регистра