Читайте также:
|
|
Для создания графики имеется пять режимов. Наиболее подходит пятый режим
N=1-5 – EGA, экран 640*350, 13 цветов, 80 столбцов
4 - 640*200, 16 цветов
Переход в графический режим осуществляется: graphics (режим, палитра, цвет). При выполнении этого оператора экран очищается. Для возврата в текстовый режим используется предикат text. Палитра и цвет определяют цвет точки или линии на экране по следующей таблице:
Цвет/палитра | |||
зеленый | красный | желтый | |
голубой | фиолетовый | белый |
Соотношение цветов в графическом режиме определяется сложным образом.
Для рисования рисунков используется всего 2 встроенных предиката:
1) dot (строка, столбец, цвет палитры) – рисует точку и употребляется редко
2) line (строка1, столбец1, строка2, столбец2, цвет) – рисует линию между соответствующими точками
Координаты экрана изменяются в интервале: 0 – 31999
для построения окружности используется формула окружности
строка = центральная строка – R*cos(A)
столбец = центральный столбец + R*sin(A)
При шаге A на 0,02 радиус окружность будет содержать 314 точек
row=центр.стр-1.40*R*cos(A)
predicates
draw_ellipse(real)
real_int(real,integer)
make_windows
draw_figures
goal
draw_figures.
clauses
draw_figures:-
make_window, draw_ellipse(0.02),
write(“press space”),
readchar(_), exit.
make_window:-graphics(2, 0, 7),
makewindow(1, 7, 7, ”Figures”, 1, 10, 23, 60).
draw_ellipse(A):-A>=6.28,!.
draw_ellipse(A):-
center_row=20000,Center_col=5000,
R=3600, Row_r=Cemter_row-R*cos(A),
Column_r=Cemter_Col+R*sin(A),
real_int(Row_r,Row), real_int(Column_r,Column),
dot(Row,Column,1), A1=A+0.02, draw_ellipse(A1).
real_int(R,I):-R=I.
Черепашья графика
Все координаты в черепашьей графике отчитываются от предыдущего положения курсора. Определить следующие предикаты:
Penup – поднять перо
Pendown – опустить перо
Pencolor (A) – установить цвет, А – номер цвета
Forward (B) – перемещение черепашки вперед по прямой линии
Back (B) – перемещение ее назад, В –число шагов на расстоянии В, В меняется от 1 до 31999.
Right(A) – поворот по часовой стрелке
Left (A) –поворот против часовой стрелки на угол А
Penpos (строка, столбец, угол) – этот оператор помещает черепаху в соответствующие строку и столбца, с ориентацией на угол А.
А=0 соответствует ориентации вниз.
Пример 1. Нарисовать вертикальную линию, длина – 8000 с точки(1000, 1600)
draw_en:-
penpos (1000, 1600, 0), pendown, pencolor(1),
forword (8000),
Пример 2. Нарисовать замкнутую фигуру с точки (20000, 16000) из прямых отрезков длиной 1000 путем вращения на 20 при каждом шаге.
draw_Fig:-
graphics(2, 0, 7), penpos (20000, 16000, 0),
pendown, closed_fig (500).
closed_fig (A):-A>=30000,!.
closed_fig (A0):-
forward (1000),
right (2),
A=A0+50, closed_fig (A).
Дата добавления: 2015-09-06; просмотров: 96 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Отладка программы и обнаружение ошибок | | | Работа с символами и строками |