В случае рисования кривых, заданных параметрически, легко обходятся все затруднения, встречающиеся при явной и неявной формах задания. Кривые могут быть многозначны, они могут самопересекаться любое число раз. Вертикальность не представляет особой проблемы: просто x(t) остается постоянным на протяжении некоторого интервала t. Позднее мы увидим, что рисование кривых, расположенных в трехмерном пространстве, столь же просто: используются три функции от t, а точка на кривой в момент t имеет координаты (x(t), y(t), z(t)).

Практические упражнения 3.8.4. Пример кривой Вычислите и постройте вручную точки, которые были бы нарисованы с помощью вышеприведенного фрагмента кода при W= 2 и Н - 1, при пяти значениях t = 2я//9, где i = 0,1,4.

3.8. Применение параметрического задания кривой

3.8.5. Рисование логотипа Широко известный логотип, изображенный на рис. 3.58, состоит из концентрических окружностей и эллипсов. Предположим, что имеется подпрограмма drawEllipse(W, Н, color), которая рисует эллипс, заданный формулой 3.13, закрашенный цветом color. (Принимается, что когда используется выбранный цвет, он полностью подавляет любой предыдущий нарисованный цвет.) Выберите подходящие размеры для этих эллипсов и напишите последовательность команд, необходимых для рисования данного логотипа.

Некоторые кривые, используемые в компьютерной графике, помогут закрепить идеи, изложенные в данном разделе.

Особой разновидностью эллипса является суперэллипс (вирегеШрве) - семейство эллипсоподобных форм, которые во многих ситуациях, возникающих при рисовании, дают замечательные эффекты. Неявная формула для суперэллипса имеет вид: где п - параметр, называемый выпуклостью (bulge - горб). Сравнивая эту формулу с соответствующей формулой для эллипса (равенство 3.14), можно видеть, что при п = 2 суперэллипс становится обычным эллипсом. Параметрическое представление суперэллипса для 0 < t < 2я. Показатели степени при sin( ) и cos( ) на самом деле равны 2/п, а данная специфическая форма записи использована для того, чтобы избежать возведения отрицательного числа в дробную степень. Убедитесь, что приведенная форма записи должным образом сводится к уравнению эллипса при п - 2. Проверьте также, что параметрическая форма суперэллипса соответствует его уравнению в неявной форме.


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