Я создал базовую программу, которая рисует фигуры, используя графический контекст. Линейный объект содержит свои собственные начальную и конечную точки. Я хочу использовать первые значения квадранта, которые являются стандартными при построении в Java.
Я пытался создать Point2D
объекты, которые дали мне неправильные значения. Также я пробовал arctan2 и arctan , которые возвращают одно и то же значение независимо от того, какую строку я их пропускаю. Я не могу найти свою ошибку, будь то мой код или моя математика. Будем благодарны за любые предложения.
double slope = (this.getEndY() - this.getyCoordinate()) / (this.getEndX() - this.getxCoordinate());
return MyLine.description + Math.toDegrees(Math.atan(slope));
this is using the Point2D with three points:
Point2D point = new Point2D(1, 0); // x- axis
Point2D point1 = new Point2D(this.getxCoordinate(),this.getyCoordinate()); //p1(0,0)
Point2D point2 = new Point2D(this.endX,this.getEndY());//p2(bottom right corner of window)
double angle = point1.angle(point, point2);
return MyLine.description + " " + angle;
Первая попытка - это решение, которое я нашел на сайте, которое возвращает NaN
. Второе - это попытка использовать API Point2d, который возвращает 0.0. Я ожидаю, что это прочитает 45.0.