0

我正在创建一个非常简单的游戏来娱乐。意识到我需要一个给定角度和速度的物体的轨迹,使用这个参数方程似乎是合乎逻辑的:x = (v*cos(ø))t 和 y = (v*sin(ø)t - 16t^2我知道这个方程适用于轨迹,但它不适用于我使用的大多数 ø 值。java 角度的工作方式与正常角度计算有什么不同吗?我的目标是让对象从窗口的左下角开始并跟随由给定的速度和角度决定的弧线。然而,它往往会走向奇怪的方向。

ø 的值应该是水平的 0 度和垂直的 90 度,在等式中它是指弧开始的角度。

这是我在这个网站上的第一个问题帖子,所以如果我在这方面遗漏了什么,请告诉我。

这是我的代码的计算部分

未显示的是每 5ms 计数的 void time() 我还应该提到 parX 和 parY 用于以未舍入的形式引用 x 和 y 坐标,因为图形坐标需要整数值。非常感谢任何帮助,并提前感谢您!

public void parametric()
{
    parX = (float) ((speed*cos(-ø))*time);
    gravity = (time*time)*(16);
    parY = (float) ((float) ((speed*sin(-ø))*time)+gravity)+500;

    xCoord = round(parX);
    yCoord = round(parY);






}
4

1 回答 1

0

java角度的工作方式与正常角度计算有什么不同吗?

您只需要阅读文档

public static double cos(double a)

Parameters:
a - an angle, in radians.

我猜您使用的是度数而不是弧度?

于 2013-05-05T21:03:24.997 回答