Штриховка
Практическая работа № 34 «Применение циклов»
Практическая работа № 35 «Штриховка»
Во многих задачах компьютерной графики нужно заштриховать какие-то области. Например, штриховкой обозначается сечение на чертежах и болота на картах местности. Штриховка строится из параллельных линий, которые удобно рисовать в цикле. Выполним вертикальную штриховку прямоугольника, разделив его на N полос (рис. 6.58).
Рис. 6.58
Решим задачу в общем виде для любого прямоугольника. Будем считать, что его верхний левый угол находится в точке с координатами (х1, у1), а правый нижний — в точке с координатами (х2, у2).
Сначала нарисуем контур прямоугольника:
цел х1=100, х2=300
цел у1=100, у2=200
прямоугольник(x1, y1, х2, у2)
Заметьте, что в первых двух строках мы не только объявляем переменные x1, х2, y1 и у2, но и присваиваем им начальные значения.
Конечно, вы можете выбрать и другие числа.
В результате штриховки нужно разделить прямоугольник на N полос, поэтому шаг штриховки (расстояние между соседними линиями) можно вычислить по формуле:
В нашей программе мы будем использовать только целые значения шага (в пикселях), поэтому величина h вычисляется с помощью деления нацело, которое в алгоритмическом языке записывается как вспомогательный алгоритм с именем div. Например, div(a, b) — это целая часть от деления а на b. В нашем случае шаг вычисляется так:
цел h
h:=div(x2-x1, N)
Какой шаг получится, если x1 = 100, х2 = 200 и N = 5?
Определите координаты концов первого слева, второго и последнего отрезков штриховки внутри прямоугольника.
У всех линий штриховки отличается только х-координата, которая изменяется от x1 + h до х2 - h с шагом h. Поэтому штриховку можно выполнить с помощью цикла:
цел х
нц для х от x1 + h до x2-h шаг h
линия(х, y1, х, у2)
кц
Составьте программу для Рисователя, которая рисует прямоугольник и выполняет его штриховку. Проверьте её работу на компьютере.
Следующая страница Выводы. Интеллект-карта