|
подсчитать площадь кляксы |
|
|
|
Oct 22 2013, 15:45
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Заливать всю площадь и считать интенсивность это обалдеть как ресурсозатратно. Одна только заливка произвольной фигуры чего стоит. Тогда уж проще прямо в процессе заливки и посчитать, скольким точкам был присвоен цвет заливки и помножить на площадь пикселя.
Для вашей задачи неплохим, как мне кажется, решением будет именно метод трапеций, о котором я говорил в начале. Точки у вас, как я понимаю, заданы в порядке обхода. Каждые две точки соединяются прямой, т.е. фигура описывается многоугольником. Затем, начиная с некоторой точки, считаем площадь прямоугольной трапеции, заданной вершинами (x(i),0) — (x(i),y(i)) — (x(i+1),y(i+1)) — (x(i+1),0). Тут для простоты считается, что все y больше нуля: dS = (x(i+1)-x(i)) *(y(i+1)+y(i))/2; S=S+dS. Когда обойдем все точки, в S будет площадь аппроксимирующего прямоугольника. Естественно, dS может быть как положительным, так и отрицательным.
|
|
|
|
|
Oct 22 2013, 22:56
|
ʕʘ̅͜ʘ̅ʔ
    
Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691

|
Залить и перебрать. это подход. Всё зависит от точности, с которой нужно получить эту площадь. Этим метод и прекрасен. Можно оценку уточнять с течением времени. Можно, оценивая сходимость, решать, нужно ли продолжать вычисления. В качестве начальной оценки (лист для кляксы в моем примере) взять описанный прямоугольник. Цитата(Xenia @ Oct 23 2013, 00:43)  Так он же не может определить, внутри кляксы точка или снаружи! Дорого это занятие для него. А если бы легко определялось, то залить кляксу краской и дело с концом. Тем паче, что быстрее все точки на том дисплее по очереди перебрать, чем Монте-Карла заводить.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|