Российский государственный гуманитарный университет
Опубликован: 13.07.2022 | Доступ: свободный | Студентов: 298 / 14 | Длительность: 11:54:00
Специальности: Программист
Лекция 3:

Представление графической информации

Таким образом, B-сплайн второй степени для точек P_0, P_1, P_2 и P_3 с узловым вектором (0, 0, 0, 1, 3, 3, 3) определяется в виде

r(t)=N_{0,2}(t)P_0+N_{1,2}(t)P_1+N_{2,2}(t)P_2+N_{3,2}(t)P_3=\\
=\begin{cases}
(1-t)^2P_0+\frac23t(3-2t)P_1+\frac13t^2P_2, t \in [0;1),\\
\frac16(3-t)^2P_1+\frac{1}{12}(3-t)(5t-3)P_2+\frac14(t-1)^2P_3, t \in [1;3).
\end{cases}

На рис. 3.26 показан квадратичный B-сплайн, который построен по приведенной выше формуле для 4 точек, отмеченных на рисунке.

 B-сплайн второй степени с узлами (0, 0, 0, 1, 3, 3, 3)

Рис. 3.26. B-сплайн второй степени с узлами (0, 0, 0, 1, 3, 3, 3)

Различные виды B-сплайнов определяются узловыми векторами. В 3D-графике используются также сплайн-поверхности.

Фракталы

Во фрактальной графике изображение строится по специальным формулам или алгоритмам. Фрактальные графические редакторы позволяют получать сложные и реалистичные изображения.

Ниже рассматриваются примеры построения различных видов фракталов - геометрических, с помощью описания L-систем (п. 3.3.1) и векторного предста

Черепашья графика. L-системы

Фрактал - это множество, которое обладает свойством самоподобия. Ограниченная геометрическая фигура называется самоподобной, если она составлена из некоторого набора частей, каждая из которых конгруэнтна фигуре, подобной всей фигуре с некоторым коэффициентом подобия. Если этот коэффициент одинаков для всех частей и количество этих частей равно n, то говорят, что данная фигура самоподобна относительно этого коэффициента и данного n. Если коэффициенты для разных частей могут быть различными, то фигура называется самоподобной относительно соответствующего набора коэффициентов.

Одним из способов построения самоподобных геометрических фигуры является использование черепашьей графики.

Черепашья графика - способ конструирования графических изображений с помощью рисующей черепахи. Черепаха - это метафора, или некоторый воображаемый объект, который оставляет след при движении по экрану, аналогичный следу черепахи на песке. Рисующая черепаха умеет выполнять следующие действия: идти вперед на заданное число шагов, поворачиваться налево или направо на заданный угол, поднимать или опускать перо, так чтобы она могла перемещаться, оставляя или не оставляя след (оказываться в заданной точке).

Примером описания геометрических объектов, которые строятся с помощью рисующей черепахи, являются L-системы. Понятие L-системы было введено биологом Аристидом Линденмайером (1968) [11]. Фигура описывается в виде слова, заданного в некотором алфавите в соответствии с определенной грамматикой. Каждая буква алфавита соответствует некоторому действию рисующей черепахи. Поэтому данное слово определяет и саму процедуру построения изображения фигуры с помощью черепашьей графики.

Рассмотрим следующий алфавит:

  • F - смещение на заданный интервал с оставлением следа;
  • f - смещение на заданный интервал без следа;
  • + - поворот на заданный угол направо;
  • - - поворот на заданный угол налево;
  • [ - начало записи действий в стек;
  • ] - окончание записи действий в стек;
  • X - вспомогательный символ.

Например, квадрат можно представить в виде слова F+F+F+F, где угол поворота - прямой (рис. 3.27 (a)), а правильный треугольник - в виде слова F+F+F, где угол поворота равен 120^\circ (рис. 3.27 (b)).

(a) Квадрат; (b) правильный треугольник

Рис. 3.27. (a) Квадрат; (b) правильный треугольник

Символу X соответствует "пустое" действие рисующей черепахи, он используется только для формулирования правил. После выполнения действий, записанных в стек, черепаха оказывается там же, где была.

Описание фигуры в виде L-системы состоит в определении аксиомы - начального символа грамматики, правил грамматики и величины угла поворота. При построении фигуры указывается также величина смещения и число применения множества правил грамматики к словам, полученным на предыдущих итерациях. Кроме того, для практической реализации требуется задать начальное местоположение черепахи и ее направление (например, начальный угол направления движения относительно оси абсцисс).

Если в виде L-системы описывается фрактал, то для построения его приближения, указывается также число итераций n, а сам фрактал получается в пределе при n \to \infty. Нулевая итерация соответствует аксиоме. Приближения фрактала называются фрактальными фигурами.

Пример 25. Рассмотрим описание в виде L-системы кривой Коха:

угол: \frac{\pi}{3};

аксиома: F;

правило: F \to F-F++F-F.

Шаг итерации состоит в замене каждого символа F в слове, полученном на предыдущем шаге, на строку F-F++F-F.

Пусть f_n - кривая, полученная на шаге n, для n \ge 0. Кривая Коха является пределом последовательности f_0, f_1, f_2, \dots при n \to \infty. Это непрерывная кривая, которая не имеет касательной ни в одной точке. Элемент f_n называется n-м приближением кривой Коха (рис. 3.28).

 Начальные приближения кривой Коха

Рис. 3.28. Начальные приближения кривой Коха

Рассмотрим первые 3 приближения кривой Коха. Кривая f_0 соответствует аксиоме F и представляет собой отрезок ( рис. 3.28 (a)). Кривая f_1 соответствует слову F-F++F-F (рис. 3.28 (b)), кривая f_2 - слову

F-F++F-F-F-F++F-F++F-F++F-F-F-F++F-F

(рис. 3.28 (c)), кривая f_3 показана на рис. 3.28 (d).

Пусть i_n - число отрезков, содержащихся в фигуре f_n, и l_n -длина слова, описывающего фигуру на шаге n, т. е. число символов, которое содержит это слово. В соответствии с грамматикой имеем:

i_n = 4^n, для n = 0, 1, 2, \dots; l_0 = 1, l_n = 4 * l_{n - 1} + 4, n = 1, 2, \dots

Из приведенного выше рекуррентного соотношения получаем, что

l_n=\frac73*4^n-\frac43

для n=0,1,2, \dots