Важнейшими свойствами выровненного прямоугольника являются его размер, положение, цвет и форма. Его форма определяется форматным соотношением (aspect ratio), и мы будем ссылаться на форматные соотношения прямоугольников на протяжении всей книги. Форматным соотношением прямоугольника называется отношение его ширины к высоте1: ширина

форматное отношение =-. (2.3)

высота Прямоугольники с различными форматными соотношениями изображены на рис. 2.17.

Френсис Хилл

Рис. 2.17. Примеры форматных соотношений выровненных прямоугольников: а) альбомная страница; б) телеэкран; в) золотой прямоугольник; г) квадрат; д) книжная страница; е) обратное золотое сечение

1 Будьте внимательны: ряд авторов определяют его как отношение высоты к ширине.

2.3. Создание рисунков из линий Прямоугольник А имеет форму листа бумаги размером 8,5 на 11 дюймов с так называемой альбомной (landscape - пейзаж) ориентацией (то есть ширина листа больше его высоты). Форматное соотношение прямоугольника А равно 1,294. Прямоугольник Б имеет форматное соотношение телевизионного экрана, 4/3, а В является знаменитым золотым прямоугольником (golden rectangle), описанным в тематическом задании 2.3. Его форматное соотношение близко к золотому сечению ф = 1,618034. Прямоугольник Г представляет собой квадрат с форматным соотношением, равным 1, а Д имеет форму стандартного листа бумаги с книжной (portrait - портрет) ориентацией, с форматным соотношением, равным 0,7727. И, наконец, прямоугольник Е, высокий и худой, имеет форматное соотношение, равное 1 /ф (обратное золотое сечение).

Практические упражнения

2.3.1. Рисование шахматной доски

(Попробуйте свои силы в этом упражнении, прежде чем заглянуть в ответы.) Напишите подпрограмму checkerboardCint size), которая рисует шахматную доску, изображенную на рис. 2.15, б. Расположите левый нижний угол шахматной доски в позицию (0,0). Каждая из 64 квадратных клеток имеет в длину size пикселов. Выберите для клеток два симпатичных вам цвета.

Решение: ij-я клетка располагается своим нижним левым углом в позиции (i * size, j * size) для


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