![]() |
Определение площади векторной фигуры или пятна в растре.
Как лучше определять площадь векторной фигуры или области залитой одним цветом в битмапе? Мне приходит в голову только разбить на сетку и проверить при помощи hitTest для вектора или getPixel.
|
Найти все пиксели этого цвета. Их количество и будет площадью.
|
Векторная фигура создана с применение кривых Безье? Почему не посчитать напрямую? В AS, Безье являются параболами. Т.е. если перейти в систему координат, ось абсцисс которой начинается в точке control, а ось ординат - ось симметрии кр.Безье, то в achor - касательные к параболе. Имея уравнение параболы, найти площадь фигуры ею ограниченной. Перебор пикселей может оказаться очень ресурсоемкой операцией.
|
Цитата:
Метод histogram() вполне бы подошел, судя по докам. |
Цитата:
В векторе тоже нужен расчет площади произвольных фигур. Видимо кроме такого сканирования по точкам больше нет универсальных методов. |
При крупной сетке встает проблема, как определять принадлежность ячейки фигуре. Наибольший прирост будет давать вариант, когда проверяется только одна точка в ячейке. Либо несколько, если ячейка особо крупная. В некоторых реализациях такой метод может, наоборот, добавить тормозов.
Вектор можно просчитать и математически. Или разбить на треугольники и просчитать с понижением точности. |
| Часовой пояс GMT +4, время: 14:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.