The atan2
function eases the pain of dealing with atan
.
It is declared as double atan2(double y, double x)
and converts rectangular coordinates (x,y)
to the angle theta
from the polar coordinates (r,theta)
So I’d rewrite your code as
public static double angleBetween2Lines(Line2D line1, Line2D line2)
{
double angle1 = Math.atan2(line1.getY1() - line1.getY2(),
line1.getX1() - line1.getX2());
double angle2 = Math.atan2(line2.getY1() - line2.getY2(),
line2.getX1() - line2.getX2());
return angle1-angle2;
}