Вращение линии вокруг своего центра нажимая на клавишу - Turbo Pascal
Формулировка задачи:
Линия допустим line:120,170,475,278;
Решение задачи: «Вращение линии вокруг своего центра нажимая на клавишу»
textual
Листинг программы
uses crt,graph; var gd,gm:integer; x0,y0,x1,y1,x2,y2,d:longint; c:char; a:real; begin gd:=0; initgraph(gd,gm,''); x1:=120; y1:=170; x2:=475; y2:=278; x0:=(x1+x2) div 2; y0:=(y1+y2) div 2; d:=round(sqrt(sqr(x2-x1)+sqr(y2-y1))/2); a:=arctan((y2-y0)/(x2-x0)); setcolor(12); setlinestyle(0,0,3); line(x1,y1,x2,y2); setcolor(9); setfillstyle(1,9); fillellipse(x0,y0,2,2); repeat c:=readkey; if c='1' then begin setcolor(0); line(x1,y1,x2,y2); a:=a+pi/6; x1:=x0+round(d*cos(a)); y1:=y0+round(d*sin(a)); x2:=x0-round(d*cos(a)); y2:=y0-round(d*sin(a)); setcolor(12); line(x1,y1,x2,y2); setcolor(9); setfillstyle(1,9); fillellipse(x0,y0,2,2); end; if c=#13 then exit; until c=#13; end.
Объяснение кода листинга программы
- Используется библиотека crt и графический модуль graph.
- Объявляются переменные gd и gm типа integer.
- Объявляются переменные x0, y0, x1, y1, x2, y2, d типа longint.
- Объявляется переменная c типа char.
- Объявляется переменная a типа real.
- Инициализируется графический процессор с помощью функции initgraph.
- Присваиваются значения переменным x1, y1, x2, y2.
- Вычисляется среднее значение x1 и y1, а также среднее значение x2 и y2 для вычисления центра вращения.
- Вычисляется расстояние между центром вращения и точками x1, y1, x2, y2.
- Вычисляется угол между радиус-вектором и осью x.
- Устанавливается цвет линии и стиль линии.
- Рисуется линия между точками x1, y1, x2, y2.
- Устанавливается цвет заливки и стиль заполнения.
- Рисуется эллипс вокруг центра вращения.
- Происходит чтение символа с клавиатуры.
- Проверяется, равен ли введенный символ '1'.
- Если введенный символ равен '1', то устанавливается цвет линии, рисуется новая линия между точками x1, y1, x2, y2 и обновляется угол вращения.
- Если введенный символ не равен '1', то ничего не происходит.
- Если введенный символ равен #13, то выход из программы.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д