Древесная текстура Текстура деревянного бревна состоит из концентрических цилиндров различного цвета, которым соответствуют «кольца» на срезе бревна. Поскольку расстояние точек до некоторых осей меняется, функция скачет взад-вперед между двумя значениями. Этот эффект можно смоделировать с помощью функции остатка: ппдэСг) - ((1пт,)г) % 2

где радиус колец, разбегающихся от оси г, г = у]х2 + у2. Функция г^э( ) принимает значения нуль и единица по мере возрастания радиуса г от нуля. С помощью следующей функции можно сделать так, чтобы текстура принимала два заранее заданных значения 1> и Б + А:

51тр1е_дахКх. у. г) - 0 + А * ппдз(г/М)): где, как и раньше, г = у]х2 +у2. В результате получаются кольца шириной М, концентрические относительно оси z.

Будет еще интереснее, если мы сможем поворачивать кольца, сделаем их «дрожащими» (wobble) и «несимметричными» (skew) [Watt, 138]. Для получения дрожащих колец в функцию добавляется компонент, изменяющийся вместе с азимутом 0 относительно ОСИ Z.

rings

(г „. m

- + #sin -

М N

Теперь даже при постоянном радиусе наблюдаются колебания колец при изменении угла 0, что заставляет кольца «дрожать» туда и обратно ]Ураз за один оборот вокруг оси. Отметим, что для достижения большего эффекта мы используем вложенные функции: аргументом для rings( ) служит не сам радиус г, а сумма r/М и синусоиды, которая сама зависит от угла и от N. Перлин [Perlin, 153] плодотворно использовал мощь такого сочетания функций для получения множества интересных визуальных эффектов. Мы можем пойти еще дальше и добавить к колеблющемуся древесному волокну «кручение»:

(г Г 0 ^

 " - " (14.35)
rings
+ A" sin

М

+ Bz
N
J)

Теперь фаза синусоиды зависит от г, поэтому по мере изменения г колебание еще и закручивается. А если мы хотим «наклонить» это волокно так, чтобы оно было концентрическим относительно не г, а другой оси, то можно применить вращение до вычисления г и 0. Например, можно задавать радиус г в форме л/л;'2 + у'2 , где (х', у', г') = Т(х, у, г), а Т( ) - некоторое преобразование вращения. На рис. 14.25 показано несколько объектов, «вырезанных» из древесины, структура которой была задана рассмотренными выше способами.


⇐ Предыдущая| |Следующая ⇒