我目前正在开展一个项目,我需要使用JFrame
的{{1}}或{{1}在java.awt.Graphics
的中心绘制一个非直角三角形}} 方法。这两种方法都需要所有点的坐标才能起作用。我的问题是,不是点,我所有的都是三角形的所有角度和边长。我已经绘制了一个漂亮的图表,我希望能帮助您直观地解决我的问题:
(编辑此Senario中C的位置并不固定在a和b之间,可能位于AB所在轴线以下的任何位置)
从你的照片中可以看出,我需要基于A的坐标的C的坐标,是否有任何方法可以计算出非直角三角形的所有边和角度的长度?额外奖励:我如何找到A的(x,y)值,它会有效地将JFrame中间的三角形居中?
答案 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));
希望这有帮助。