Конечно отрисовка в канве векторной графики с последующим извлечением цвета даст результат, однако для этой самой отрисовки понадобится сторонняя библиотека и использование растровой картинки весьма ресурсоёмко.
Если нужен алгоритм определения попадает ли объект в область видимости, то лучше распределить все объекты по квадратам размером радиуса видимости, потом фильтровать объекты для отрисовки и стены по попаданию в пределы окружности, потом отфильтровать их по непопаданию за стены методом полного перебора актуальных стен. Если стены состоят из отрезков, то написать такой алгоритм не составит проблем. Для всяких там сплайнов надо будет искать формулы. Хотя и сплайны можно заменить ломаными, если отклонения не критичны.
|