forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Структура совокупности. (http://forum.boolean.name/showthread.php?t=16266)

Gector 02.02.2012 01:11

Структура совокупности.
 
Доброго времени суток, товарищи. Я тут надумал простенький алгоритм освещения по вершинам (просто появилась надобность заюзать такой метод). По задумке он считает среднее взвешенное, где вес - дистанция (чем меньше тем больше вес). Элементарная формула из статистики на исследование структуры совокупности.
Но тут есть проблема. На окончательное значение цвета "давит" количество вершин. Например. Имеем самую ближайшую красную вершину и 99 зеленых расположенных дальше. В итоге мы получаем, объект закрашенный не красным, а уже другим цветом.
Плавных переходов уже не получается. Точнее они плавные, но небольшое имеется моргание и отображение цветов с добавлением цвета так сказать большинства.

Вопрос: Как можно погасить это влияние?
Может быть ввести среднюю дистанцию не пройдя которую вершины будут дополнительно гаситься? Но тогда 100% будет проблема с дальностью расположения вершин и снова резкие переходы.:dontknow:

Вот код, так сказать, из ворда).

Код:

Цикл 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



Часовой пояс GMT +4, время: 23:29.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot