Изменение угла от Pi до 2Pi - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Как изменить функцию GetAngle, чтобы угол менялся в пределах от 0 до 2*Pi, а не до Pi? Угол определяется между положительным направлением оси X и радиус-вектором.

Решение задачи: «Изменение угла от Pi до 2Pi»

textual
Листинг программы
function Ugol(a,b:point):real;
begin
if (b.x>a.x)and(b.y<=a.y) then Ugol:=arctan((a.y-b.y)/(b.x-a.x)){I четверть}
else if (b.x>a.x)and(b.y>a.y) then Ugol:=arctan((a.y-b.y)/(b.x-a.x))+2*pi{IV четверть}
else if b.x<a.x then  Ugol:=arctan((a.y-b.y)/(b.x-a.x))+pi{II-III четверти}
else if b.x=a.x then
 begin
  if b.y<a.y then  Ugol:=pi/2{вертикально вверх}
  else if b.y>a.y then Ugol:=3*pi/2{вертикально вниз}
  else Ugol:=0;
 end;
end;

Объяснение кода листинга программы

Список изменений угла в зависимости от положения точек:

  1. I четверть: угол между положительной осью X и положительной осью Y, а также между положительной осью X и отрицательной осью Y равен arctan((a.y-b.y)/(b.x-a.x)).
  2. II-III четверти: угол между отрицательной осью X и положительной осью Y, а также между отрицательной осью X и отрицательной осью Y равен arctan((a.y-b.y)/(b.x-a.x))+pi.
  3. IV четверть: угол между положительной осью X и положительной осью Y, а также между положительной осью X и отрицательной осью Y равен arctan((a.y-b.y)/(b.x-a.x))+2*pi.
  4. Вертикально вверх: угол между положительной осью X и положительной осью Y равен pi/2.
  5. Вертикально вниз: угол между положительной осью X и отрицательной осью Y равен 3*pi/2.
  6. Угол между положительной осью X и положительной осью Y равен 0.
  7. Угол между положительной осью X и отрицательной осью Y равен 2*pi.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы