Java 计算非直角三角形的角点

Java calculating points of Angles in a non-right triangle

我目前正在做一个项目,我需要在 JFrame 的中心使用 java.awt.GraphicsdrawLine()drawPolygon() 方法。这两种方法都需要所有点的坐标才能起作用。我的问题是,我所拥有的不是点,而是三角形的所有角度和边长。我画了一个漂亮的图表,希望能帮助您形象化我的问题:

(编辑此 Senario 中 C 的位置在 a 和 b 之间不固定,可能位于 AB 所在轴下方的任何位置)

正如您从我的图片中看到的那样,我需要基于 A 的坐标的 C 的坐标,在给定非直角三角形的所有边的长度和角度的情况下,有什么方法可以计算出这个坐标吗?

奖励:我如何找到 A 的 (x, y) 值,使三角形有效地居中于 JFrame 的中间?

如果知道角度CAB,C点的坐标应该是:

(x+b·sin(θ), y-b·cos(θ))

在Java中,有:

double Math.sin(double radians);
double Math.cos(double radians);

请记住,角度必须以弧度为单位。如果你的角度是度数,试试:

double Math.sin(Math.toRadians(double degrees));
double Math.cos(Math.toRadians(double degrees));

希望对您有所帮助。