【发布时间】:2017-03-21 23:30:21
【问题描述】:
所以这可能是一个相当简单的问题,但是我已经编写了超过 8 个小时的代码,所以我的大脑有点大便。基本上,我有一个看起来像这样的框架:(http://imgur.com/a/DFSI5)
请原谅我的粗略绘图,我想知道数学。给定角度 theta,我想要做的是,给定一个特定的 Point 对象,这将是我射击的子弹,我如何平行调整 x/y 坐标以沿给定角度移动? JFrame 内部有一个大小为 700x500 的窗口。如果非常有必要,我会将代码发布在 pastebin 中,但我觉得这个问题纯粹是算术(sin/cos/tan)相关的。
基本上我有这个:
if(pinballAngle > 90){
pinballCoordinate.x+=(pinballAngle/3);
pinballCoordinate.y-=20;
}
else if(pinballAngle < 90){
pinballCoordinate.x+=(pinballAngle/3);
pinballCoordinate.y-=20;
}
else{
pinballCoordinate.y-=20;
}
所以 pinballCoordinate 是我试图在给定 theta 角度的情况下调整的 Point 对象,即发射弹球的“枪”。 “pinballAngle”变量是枪的角度。
【问题讨论】:
-
那么您是在问如何在 Java 中计算正弦和余弦?
-
因此,问题可以归结为线性路径跟踪问题。也就是说,你有一个起点,你有一个角度,你想沿着远离起点的路径走。在这里,我将回到计算圆上的一个点来生成我的目标点,然后我只需要在这些点之间走一条直线:P - 这可能有点令人费解,但我会回到我知道如何去做的事情上遇到此类问题时解决;)
-
参见引用的示例here。
标签: java swing trigonometry graphics2d