Доброго времени суток, товарищи. Я тут надумал простенький алгоритм освещения по вершинам (просто появилась надобность заюзать такой метод). По задумке он считает среднее взвешенное, где вес - дистанция (чем меньше тем больше вес). Элементарная формула из статистики на исследование структуры совокупности.
Но тут есть проблема. На окончательное значение цвета "давит" количество вершин. Например. Имеем самую ближайшую красную вершину и 99 зеленых расположенных дальше. В итоге мы получаем, объект закрашенный не красным, а уже другим цветом.
Плавных переходов уже не получается. Точнее они плавные, но небольшое имеется моргание и отображение цветов с добавлением цвета так сказать большинства.
Вопрос: Как можно погасить это влияние?
Может быть ввести среднюю дистанцию не пройдя которую вершины будут дополнительно гаситься? Но тогда 100% будет проблема с дальностью расположения вершин и снова резкие переходы.
Вот код, так сказать, из ворда).
Цикл 1 - вычисление инвертированной дистанции(ближе - больше вес)
VERTEX_DISTANCE = 1/DISTANCE
TOTAL_DISTANCE= TOTAL_DISTANCE+ VERTEX_DISTANCE
Коэффициент.
PERCENTAGE_RATIO=100/ TOTAL_DISTANCE
Цикл 2 - Вычисление цвета.
OBJECT_RED=0
OBJECT_GREEN=0
OBJECT_BLUE =0
WEIGHT=1/DISTANCE* PERCENTAGE_RATIO
WEIGHTED_RED= (VERTEX_RED*WEIGHT)/100
WEIGHTED_GREEN= (VERTEX_GREEN*WEIGHT)/100
WEIGHTED_BLUE= (VERTEX_BLUE*WEIGHT)/100
OBJECT_RED= OBJECT_RED+ WEIGHTED_BLUE
OBJECT_GREEN= OBJECT_GREEN+ WEIGHTED_BLUE
OBJECT_BLUE= OBJECT_BLUE+ WEIGHTED_BLUE