Здравствуйте, ansi, Вы писали:
A>Задача действительно не так проста как кажется
A>пусть k — интенсивность, которой ты готов пожертвовать (а чем-то жертвовать в любом случае придется).
A>(r, g, b) — изначальный цвет.
A>S — шар радиуса k с центром в точке (r, g, b).
A>Сейчас ты в шаре S ищешь точку (r1, g1, b1), расстояние от которой до точки (r, g, b) минимально.
A>А надо искать такую точку (r1, g1, b1), расстояние от которой до прямой, проходящей через точки (0, 0, 0) и (r, g, b), минимально. Таким образом, близость цветов ставится выше близости интенсивностей, но в разумных пределах k. Иначе белый цвет может запросто стать черным...
A>Каюсь, грешен, не помню формулы расстояния от точки до прямой в пространстве, так что сам покопайся...
A>Удачи.
Опишите алгоритм подробнее. Пусть есть функция f, считающая расстояние от точки(x1, y1, z1) до прямой, заданной точками (x2, y2, z2) и (x3, y3, z3).