Получение угла между линией и осью X (горизонтальная верхняя часть экрана) - PullRequest
0 голосов
/ 14 октября 2019

Я создал базовую программу, которая рисует фигуры, используя графический контекст. Линейный объект содержит свои собственные начальную и конечную точки. Я хочу использовать первые значения квадранта, которые являются стандартными при построении в 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.

...