Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Nick Kovaliov                        2:5020/400     15 Apr 2003  09:06:57
 To : Anton Chernousov
 Subject : Re: Градиентная заливка в произвольном направлении
 -------------------------------------------------------------------------------- 
 
     AC> А если нам дан вектор напрвления (dx, dy),
     AC> начальный и конечный цвет ?
 
 Всё же задавать надо две точки -
 начальную, и конечную.
 
     AC> Вообще, хотелось бы, чтоб и
     AC> цвет задавался нелинейно,
     AC> как функция С(r), r-расстояния
     AC> от 0 до текущей точки.
 
 Тогда итеративно не получится.
 
         AC>NK> Ежели быть более точным,
         AC>NK> то это 3 линейные функции,
         AC>NK> по каждой из составляющих цвета (R, B, G).
 
     AC> или одна, если цвет 0хRRGGBB...
 
 Одна таким образом не получится.
 Ты же функцию вычислять должен.
 
     AC> Конечно, желательно, быстро !
     AC> А не итеративно это можно осуществить ?
 
 Можно, 2 умножения на точку.
 
 [... Skipped ...]
 
 Hужно идти сканлайном, и вычислять,
 какой цвет будет в данной точке.
 
 Во-первых, вычисли коэффициенты
 линейной функции, как это делать,
 потом напишу, да и сам должен догадаться.
 
 У тебя получается g (x, y) = a + b*x + c*y
 При каждом фиксированном yFixed вдоль твоего сканлайна
 получается линейная функция, зависящая от x.
 g (x, yFixed) = (a+c*yFixed) + b*x
 
 Как быстро вычислять линейную функцию -
 найдёшь в каком-нить факе, например, на www.enlight.ru
 Ежели не найдёшь, или не поймёшь, может объясню.
 Сразу скажу, что лучше ищи метод, использующий FixedPoint.
 
 Так вот.
 А ежели надо нелинейную ф-ю,
 то просто делай подстановку f(g (x, y))
 
 Ежели надо что-то более сложное,
 ну тут либо опять же подстановка
 f (g (x(u), y(v))), где x(u), y(u) некие ф-и,
 или тогда давай отдельно беседовать.
 
 До встречи, всего наилучшего !
 --- ifmail v.2.15dev4
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Градиентная заливка в произвольном направлении   Nick Kovaliov   15 Apr 2003 09:06:57 
Архивное /ru.algorithms/24632f141a050.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional