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

时间:2016-12-01 01:02:06

标签: java triangulation triangular

我目前正在开展一个项目,我需要使用JFrame的{​​{1}}或{{1}在java.awt.Graphics的中心绘制一个非直角三角形}} 方法。这两种方法都需要所有点的坐标才能起作用。我的问题是,不是点,我所有的都是三角形的所有角度和边长。我已经绘制了一个漂亮的图表,我希望能帮助您直观地解决我的问题:

enter image description here

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

从你的照片中可以看出,我需要基于A的坐标的C的坐标,是否有任何方法可以计算出非直角三角形的所有边和角度的长度?

额外奖励:我如何找到A的(x,y)值,它会有效地将JFrame中间的三角形居中?

1 个答案:

答案 0 :(得分:1)

如果您知道角度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));

希望这有帮助。