|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Konstantin Yegupov 2:5022/74.16 13 Apr 2003 22:55:05 To : Anton Chernousov Subject : Градиентная заливка в произвольном направлении -------------------------------------------------------------------------------- Пон 14 Апрель 2003 01:25, Anton Chernousov --> Nick Kovaliov. NK>> Градиентная заливка - линейная функция от 2-х переменных g (х, NK>> у), то есть от координат. То есть - g (x, y) = k + b*x + c*y, где NK>> k, b, c - некие константы AC> А если нам дан вектор напрвления (dx, dy), начальный и конечный цвет? Имхо в простейшем случае цвет пиксела линейно зависит от скалярного произведения его координат на вектор градиента. Коэффициенты зависимости определяются по краевым условиям. Или же начало координат переносим в начало вектора направления, и формула имеет вид [см ниже] AC> Вообще, хотелось бы, чтоб и цвет задавался нелинейно, как функция AC> С(r), r-расстояния от 0 до текущей точки. Hу расстояние и берешь через скаларное произведение: r=(x-x0,y-y0)*(dx,dy) / sqrt(dx^2+dy^2). NK>> Объяснить, как это дело считается быстро (итеративно)? AC> Конечно, желательно, быстро! А не итеративно это можно осуществить? Построчно. r при фиксированном y будет с каждым пикселем по горизонтали расти на dx/sqrt(...), причем корень - фиксированная константа. NK>> Хотя ... жалко, что недавно фак просмотрел ... NK>> Скорее всего, это есть в факе. AC> Я, вроде, внимательно искал... Ищи в линейной алгебре. --YK ... /np: Gregorian - Masters Of Chant III - 01 - Join Me/ --- GoldED+/W32 1.1.4.3 * Origin: YK (2:5022/74.16) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33393e99b4a9.html, оценка из 5, голосов 10
|