Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.065 c
15-1343728350
Miau
2012-07-31 13:52
2013.03.22
Delphi+1C


15-1347309002
Юрий
2012-09-11 00:30
2013.03.22
С днем рождения ! 11 сентября 2012 вторник


2-1333289940
Dron55555555555
2012-04-01 18:19
2013.03.22
Дробные числа


15-1352816598
mfender
2012-11-13 18:23
2013.03.22
Fatal error. Не создаётся .dcu


3-1276260200
_REA
2010-06-11 16:43
2013.03.22
ADO, dbGo, пробелы в строках





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский