我目前的工作中,我需要绘制的中心的非直角三角形项目JFrame
使用任一,java.awt.Graphics
的drawLine()
或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));
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句