Подсчитать новые координаты треугольника, повернутого на заданный угол - Free Pascal
Формулировка задачи:
Матрица поворота вектора на плоскости имеет следующий формат(Смотрите изображение ниже):
С клавиатуры вводятся координаты трех вершин треугольника и угол поворота в градусах. Программы подсчитывает новые координаты треугольника, повернутого на заданный угол, и печатает их в кон-сольном окне.
Решение задачи: «Подсчитать новые координаты треугольника, повернутого на заданный угол»
textual
Листинг программы
var x1,y1,x2,y2,x3,y3,a:real;
begin
writeln('Введите координаты вершин треугольника');
readln(x1,y1,x2,y2,x3,y3);
write('Введите угол поворота в градусах a=');
readln(a);
writeln('x1=',x1:0:2,' y1=',y1:0:2,' x2=',x2:0:2,' y2=',y2:0:2,' x3=',x3:0:2,' y3=',y3:0:2);
a:=a*pi/180;
x1:=x1*cos(a)-y1*sin(a);
y1:=x1*sin(a)+y1*cos(a);
x2:=x2*cos(a)-y2*sin(a);
y2:=x2*sin(a)+y2*cos(a);
x3:=x3*cos(a)-y3*sin(a);
y3:=x3*sin(a)+y3*cos(a);
writeln('Новые координаты');
writeln('x1=',x1:0:2,' y1=',y1:0:2,' x2=',x2:0:2,' y2=',y2:0:2,' x3=',x3:0:2,' y3=',y3:0:2);
readln
end.
Объяснение кода листинга программы
- Объявлены переменные x1, y1, x2, y2, x3, y3, a типа real.
- Выводится сообщение с просьбой ввести координаты вершин треугольника.
- Пользователь вводит координаты вершин треугольника.
- Выводится сообщение с просьбой ввести угол поворота в градусах.
- Пользователь вводит угол поворота в градусах.
- Выводится сообщение с текущими координатами вершин треугольника.
- Переменная a переводится из градусов в радианы.
- Применяется формула преобразования координат из прямоугольной системы в полярную (формулы поворота).
- Выводятся новые координаты вершин треугольника.
- Программа ожидает нажатия клавиши для завершения работы.