Perl atan2值超出范围

时间:2014-03-31 13:38:58

标签: perl

我正在尝试使用Perl中的atan2()计算AB段与水平轴的角度。 Perl文档说明

  

atan2 Y,X   返回-PI到PI的范围内的Y / X的反正切值。

以下子程序:

sub computeAngle($$$$){
my($x1_, $y1_, $x2_, $y2_) = @_;
$result  = 0;

$result = atan2($y2_-$y1_, $x2_-$x1_)*360/3.14159265359;

print " Angle= $result°\n";
return $result;
}

生成区间之外的值:

0 0 -30.7933862796053 216.100103110075角度= 196.219639131902°

0 0 -81.245545537211 -11.7299860790372角度= -343.569155014717°

为什么会这样?

1 个答案:

答案 0 :(得分:4)

您的转换不正确;你应该乘以 180 ,而不是 360

$result = atan2($y2_-$y1_, $x2_-$x1_)*180/3.14159265359;