Построение точки и отрезков прямых
Для построения точки служит процедура PutPixel(X,Y, цвет) Для построения точки служит процедура PutPixel(X,Y, цвет) Она рисует пиксель с координатами (X,Y) цветом, номер которого задан третьим параметром (тип Word).
Для прорисовки отрезков прямых используется процедура: Для прорисовки отрезков прямых используется процедура: Line (X1,Y1,X2,Y2). Она выводит на экран отрезок прямой линии между точками (X1,Y1) и (X2,Y2), координаты которых задаются значениями типа integer.
Процедура LineRel использует следующий синтаксис: LineRel(dx, dy); Причём её параметры используют тип integer. Процедура позволяет нарисовать отрезок прямой линии, соединяющий точку, указанную графическим курсором, с точкой dx по горизонтали и dy по вертикали.
Процедура LineTo(x, y) рисует отрезок прямой, соединяющей точку, указанную графическим курсором, с точкой, имеющей координаты (x, y) (параметры имеют тип integer).
Пример программы Program draw_sin; uses crt, graph; Var dr, m : integer; maxX, maxY, x, y : integer; s, t : real; Begin dr := detect; InitGraph(dr, m, c:\Pascal\Tp70\bgi); if graphresult <> grOk then halt; maxX := getMaxX; maxY := getMaxY; t := 0; {Задание начального значения аргумента} for x := 10 to maxX – 10 do begin {перебор значений координаты х от х = 10 до х = GetMaxX – 10;}
Пример программы (продолжение) s := sin(t)*((maxY - 20) div 2); {Масштабирование} y := maxY div 2 – trunc(s); {Вычисление координаты Y} t := t + 2*Pi / (maxX - 20); {Вычисление значения аргумента при изменении экранного Х на 1} PutPixel(x, y, blue); end; line(5, maxY div 2, maxX – 10, maxY div 2); {Горизонтальная ось} line(10, maxY – 5, 10, 5); {Вертикальная ось} MoveTo(10, 5); {Курсор переместился в верхний конец вертикальной оси} LineTo(13, 10); {Рисуем правую половину стрелки} MoveTo(10, 5); {Курсор переместился, возвращаем его назад}
Пример программы (продолжение) LineTo(7, 10); {Рисуем левую половину стрелки} MoveTo(maxX – 10, maxY div 2); {Курсор в конец горизонтальной оси} LineRel(-5, -3); {Рисуем верхнюю половину стрелки} MoveRel(5, 3); {Курсор переместился, возвращаем его назад} LineRel(-5, 3); {рисуем нижнюю половину стрелки} repeat until keypressed; CloseGraph;End.