Форум: "Прочее";
Текущий архив: 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.084 c