![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 110
|
Как лучше определять площадь векторной фигуры или области залитой одним цветом в битмапе? Мне приходит в голову только разбить на сетку и проверить при помощи hitTest для вектора или getPixel.
|
|
|||||
|
Регистрация: Jul 2011
Сообщений: 32
|
Векторная фигура создана с применение кривых Безье? Почему не посчитать напрямую? В AS, Безье являются параболами. Т.е. если перейти в систему координат, ось абсцисс которой начинается в точке control, а ось ординат - ось симметрии кр.Безье, то в achor - касательные к параболе. Имея уравнение параболы, найти площадь фигуры ею ограниченной. Перебор пикселей может оказаться очень ресурсоемкой операцией.
|
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
![]() Метод histogram() вполне бы подошел, судя по докам.
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 110
|
Это и получится, если сетку сделать частотой в 1 пиксель. Просто если битмап большой и площадь надо считать много раз в секунду, можно пожертвовать точностью увеличив шаг сетки.
В векторе тоже нужен расчет площади произвольных фигур. Видимо кроме такого сканирования по точкам больше нет универсальных методов. |
|
|||||
|
При крупной сетке встает проблема, как определять принадлежность ячейки фигуре. Наибольший прирост будет давать вариант, когда проверяется только одна точка в ячейке. Либо несколько, если ячейка особо крупная. В некоторых реализациях такой метод может, наоборот, добавить тормозов.
Вектор можно просчитать и математически. Или разбить на треугольники и просчитать с понижением точности.
__________________
משיח לא בא משיח גם לא מטלפן |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|