За последние 24 часа нас посетили 50993 программиста и 1690 роботов. Сейчас ищут 1107 программистов ...

Вычисление площади произвольной замкнутой фигуры

Тема в разделе "Прочее", создана пользователем Костян, 23 мар 2010.

  1. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Вычисление площади произвольной замкнутой фигуры. Как рассчитать? Есть координаты на плоскости и известны точки замыкания линий и порядок обхода точек, то есть нарисовать это можно. Получается, если она одна точка замыкания, то это многоугольник. Если две - то бублик. Если три - то восьмерка и т. п. Перовое что приходит в голову, нарисовать и методом Монте Карло по закрашенным и не закрашенным до определённой погрешности, но это долго может быть, а больше ничего не приходит в голову.
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Смотри интегральное исчисление.
    Я не знаком с методом Монте Карло или чем-то там ещё.
    Но если у нас есть производная, детерминирующая последовательность, то мы спокойно можем найти площадь этой фигуры (описываемой функцией).
    Для этого у нас есть интеграл.
     
  3. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    чтобы интеграл использовать надо знать формулу самой фигуры
     
  4. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Apple
    честно говоря я думал про интегралы, но там надо не один а вычитать их, суммировать и короче получается для каждой фигуры своя формула, ну на сколько это я смог осилить, то так не катит вроде...
     
  5. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Если без пересечений, то http://algolist.manual.ru/maths/geom/polygon/area.php
    Если с пересечениями, то все значительно сложнее. Т.е. случай типа "восьмерки" не так сложен - имеем два многоугольника, а вот если там масса взаимных пересечений, то хз... можно это посмотреть
     
  6. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    MiksIr
    честно говоря, это древняя задача и я уже вроде пробовал это делать, та формула катит вроде только для выпуклых многоугольников. Восьмёрку по ней легко сделать. Определяется внешний многоугольник, и из его площади вычитается два внутренних. Но вот половинку бублика по этой формуле не получается посчитать...
    Ну вообщем я еще попробую.
     
  7. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    если на дискретной декартовой плоскости, то можно тупо просканировать описанный прямоугольник (вычисляется по максимальным и минимальным координатам самой фигуры) и посчитать количество закрашенных пикселей
    :)
     
  8. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    engager
    это и есть метод Монте Карло ;)
     
  9. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    Костян
    оо, пасип, буду знать ))
     
  10. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Костян
    Ну дак а что за фигуры-то?
    Треугольники, параллелограммы, эллипсы, ... ?
    Многоугольники, которые можно свести к треугольникам и вписанному посередине параллелограмму?
     
  11. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Apple
    например змея закрученная спиралью... Мне уже подсказали, надо применять триангуляцию