Для каждого из методов, описанных ниже для выполнения замеров по г, напишите программу для рисования следующих четырех форм: О эллипс; О гипербола; О логарифмическая спираль; О пятилепестковая роза.

Неравномерно взятые значения t

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

Дополнительные инструменты для рисования

вательности из п + 1 значения t в диапазоне от 0 до Г (выбранные в зависимости от формы рассматриваемой кривой): О Ь1" Т\[Ип : замеры группируются все ближе и ближе друг к другу по мере роста г. О С1 - Г(г/и)2: замеры распространяются шире по мере роста и О с( - Т(г/п) + Лэт^г'/гг): замеры циклически собираются вместе или отдаляются друг от друга. С помощью констант А и к регулируются величина и скорость изменения.

Значения г., выбираемые случайно Значения £ можно выбирать случайно, если создать для этого функцию = гапс1Сг1ОО5е(0, Г), которая при каждом вызове возвращает случайно выбранную величину в диапазоне от 0 до Т.

На рис. 3.77 показана созданная таким способом ломаная линия для точек, находящихся на эллипсе. Интересно наблюдать за развитием такой картины на дисплее. Вначале появляется шквал кажущихся независимыми линий, однако вскоре глаз обнаруживает некоторый порядок в этом хаосе и видит эллиптическое «обрамление», проступающее по границе облака линий.

Случайная эллиптическая ломаная линия

Рис. 3.77. Случайная эллиптическая ломаная линия В качестве альтернативы можно взять последовательность возрастающих значений t, создаваемых с помощью функции

t. = г._, + randChoose(0, г), где г - малая положительная величина.

Соединение вершин в разном порядке В популярной детской игре в доску втыкаются булавки в виде некоторого узора, затем вокруг этих булавок в каком-либо порядке обвивается кусок нити. Здесь значения t задают позиции булавок на доске, а функция LineToO играет роль нити.


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