Функции Sqr, Abs, Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi в Pascal.

Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr - квадрат ...

Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

Циклы и массивы

Алфавит языка Паскаль.

Алфавит и словарь языка программирования Паскаль. Программа формируется из предложений, состоящих из лексем и разделителей, которые в свою очередь формируются из конечного набора литер, образующих ...

Вычисление предела последовательности.

Вычисление предела последовательности является типичной задачей на использование итерационного цикла.

Процедуру SetViewPort  удобно использовать для построения системы координат на экране. Эту систему координат можно в дальнейшем использовать для построения графика функции.

 Построение системы координат с помощью процедуры SetViewPort.




Program Graphika26;
Uses Graph;
Procedure Graphinterface;
Var  gd, gm, error:Integer;
s:String;
Begin
gd:=detect;
s:='';
Initgraph(gd,gm,s);
error:=GraphResult;
if error<>GrOk then
begin
writeln(GraphErrorMsg(Error));
Halt(error)
end
end;
begin
Graphinterface;
setviewport(getmaxx div 2, getmaxy div 2, getmaxx, getmaxy,clipoff);
setcolor(5);
setlinestyle(0,0,3);
line(-300,0,300,0);
line(0,-300,0,300);
line(300,0,270,-10);
line(300,0,270,10);
line(0,-300,-10,-270);
line(0,-300,10,-270);
readln;
closegraph
end.




В строке №19 записываем процедуру SetViewPort, которая строит на экране невидимое окно. Координаты левого верхнего угла этого окна совпадают с серединой экрана (getmaxx div 2, getmaxy div 2). Координаты правого нижнего угла окна совпадают с правым нижним углом всего экрана. На рис. снизу представлено расположение окна (ABCD), построенного с помощью процедуры SetViewPort. Левый верхний угол окна (точка B) имеет координаты (getmaxx div 2, getmaxy div 2) и совпадает с серединой экрана. Правый нижний угол окна имеет координаты (getmaxx, getmaxy) и совпадает с правым нижним углом экрана.

Procedura SetViewPort sistemma koordinat

5-й параметр процедуры SetViewPort имеет значение ClipOff, т.е. элементы изображений, выходящие за пределы окна, не будут отсекаться.

Строка №20 и №21. Устанавливаем цвет, тип и толщину линий.

Строка №22. Рисуем линию. Так как начало координат теперь находится в левом верхнем углу окна (в точке B), нам необходимо использовать отрицательные координаты при построении изображений, находящихся левее либо выше окна ABCD. На рис. снизу показаны линии, построенные с помощью процедуры Line.

Procedura SetViewPort sistemma koordinat.

Линия EF построена с помощью процедуры Line в строке №22.
Линия GH построена с помощью процедуры Line в строке №23.
Так как точка B имеет координаты (0,0), точка E будет иметь координаты (-300,0), точка F – (300,0), точка G – (0,-300), точка H – (300,0). Таким образом, на данном этапе необходимо запомнить, что изображение, находящееся левее, либо выше окна, построенного с помощью процедуры SetViewPort, должно иметь отрицательные координаты.

Строка №24-№27. Строим стрелочки, указывающие направление осей. На рис. снизу линия FJ построена с помощью процедуры Line в строке №24. Точка F имеет координаты (300,0), точка J – (270,-10).

Procedura SetViewPort sistemma koordinat..

Procedura SetViewPort sistemma koordinat...

Procedura SetViewPort sistemma koordinat....


Предыдущая статья : Процедура SetViewPort.

Оглавление : Уроки Паскаль. Графика.

Следующая статья : Построение системы координат (продолжение).


Добавить комментарий

   ГлавнаяПаскальГрафика в ПаскальПостроение системы координат.