Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

Процедура Writeln в Pascal

Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую ...

Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

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

Организация условного перехода. Оператор IF.

Для программирования разветвляющихся процессов, содержащих две ветви, используется оператор IF условного перехода (ветвления), имеющий две конструкции.

Инициализация одномерного массива.

Отличительной особенностью Паскаля от большинства процедурных языков является то, что все переменные должны быть инициализированы. То есть в разделе VAR переменным отводится место, а начальное ...

Процедура Circle вычерчивает на экране окружность. В качестве параметров этой процедуры используются координаты центра окружности и длина радиуса. Процедура Arc вычерчивает на экране дугу, у которой указываются координаты центра, начальный угол, конечный угол и длину радиуса.

Рисование окружности и дуги с помощью процедур Circle и Arc.




Program Graphika13;
Uses crt, Graph;
var y:integer;
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;
setcolor(2);
Circle(300,200,100);
y:=0;
while y<=360 do
begin
arc( 600,200,0,y,100);
y:=y+10;
delay(1000);
end;
readln;
end.



Строка №3. Указываем переменную для хранения значения конечного угла при построении дуги.

В строке №20 записываем процедуру SetColor. Она применима к процедурам Circle и Arc и будет определять цвет окружности и дуги, которые мы зададим в строках №21 и №25.

Строка №21. Процедура Circle рисует окружность на экране. После записи процедуры в круглых скобках указываются параметры процедуры. Первые 2 параметра определяют координаты X и Y для центра окружности (в нашем примере координата X имеет значение 300 пикселей, а координата Y – 200 пикселей). Третий параметр процедуры Circle определяет радиус окружности (в нашем примере радиус имеет значение 100 пикселей). Таким образом, на экран выведется окружность зеленого цвета с центром в точке (300,200) и радиусом 100 пикселей.

Строка №22. Присваиваем переменной «y» начальное значение равное 0, т.е. конечный угол дуги равен 0.

Строка №23. Записываем цикл. Пока «y», т.е. конечный угол меньше либо равен 360 градусов, должно выполняться условие, которое следует за словом Do. За словом Do следуют 3 операции.

Строка №25. Первая операция – это процедура Arc, которая вычерчивает на экране дугу. Данная процедура имеет 5 параметров. Первые 2 параметра (в нашем примере 600,200) определяют координаты центра дуги. Третий параметр определяет начальный угол дуги в градусах (в нашем примере он равен 0). Четвертый параметр определяет конечный угол дуги в градусах (в нашем примере он равен переменной «y»). Пятый параметр определяет радиус дуги (в нашем примере 100 пикселей).

Строка №26. Увеличиваем переменную «y» на 10 градусов. Благодаря тому, что строка №25  и №26 находятся  в цикле, значение конечного угла будет увеличиваться от 0 до 360 с шагом в 10 градусов, причем это увеличение будут идти со скоростью 10 градусов в секунду благодаря процедуре Delay в строке №27.  Таким образом, на экран выведется дуга с центром в точке (600,200) и радиусом 100 пикселей. Начальный угол дуги будет равен 0 градусов. Конечный угол дуги также равен 0 градусов и растет на 10 градусов в секунду.Procedurih Circle i Arc.

Procedurih Circle i Arc..


Дополнение к материалу.

Для процедур Circle и Arc можно установить толщину линии с помощью процедуры SetLineStyle, причем тип линии может принимать значение только solidln (сплошной), т.е. процедура SetLineStyle может иметь параметры либо (0,0,1), либо (0,0,3).


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

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

Следующая статья : Процедуры Ellipse и FillEllipse.


Комментарии  

 
-1 # Вика 16.11.2014 13:32
:cry: У меня не получается нарисовать дугу... Как определить величину углов? :sigh:
Ответить
 
 
-2 # Настя 16.11.2014 13:42
Хм... Я тоже не понимаю... :sad:
Ответить
 
 
+2 # Альбина 04.06.2016 16:46
arc(x,y,радиус, начало градусов,конец градусов);
по новому =)
Ответить
 
 
-1 # EVG 07.10.2021 04:41
Дуга идет из угла StAngle к EndAngle, с радиусом Radius, используя точку с координатами (X, Y), как центр окружности.
Uses Graph;
Var Gd, Gm : Integer;
Radius : Integer;
Begin
Gd:=Detect;
InitGraph(Gd, Gm, 'C:\BP\BGI'); { Путь к BGI драйверам }
If GraphResult grOk Then Halt(1);
For Radius:=1 To 5 Do Arc(100, 100, 0, 90, Radius * 10);
ReadLn;
CloseGraph;
End.
Ответить
 

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

   ГлавнаяПаскальГрафика в ПаскальПроцедуры Circle и Arc.