【发布时间】:2011-10-17 04:30:31
【问题描述】:
我正在尝试为我的应用程序实现抛射运动。首先,我尝试在抛射体上绘制点。我假设我的初始速度为 5m/s。
我尝试分别根据 x 和 y 方向的投影角度计算我的初始速度。但我得到它的值是我们 NaN(不是数字)。
此外,我试图在轨迹路径上绘制前 10 个点,但也为它们获取 NaN。由于现在返回的时间以毫秒为单位,我将其转换为秒。
请指出我哪里出错了。
public void drawProjectile(double angle)
{
Log.w(this.getClass().getName(),"drawProjectile called");
mUx = mUi*Math.acos(angle);
mUy = mUi*Math.asin(angle);
Log.d(this.getClass().getName(), "Value of mUx: " + Double.toString(mUx));
Log.d(this.getClass().getName(), "Value of mUy: " + Double.toString(mUy));
for(int i = 1;i<=10;i++)
{
Log.w(this.getClass().getName(),"In plotting points loop");
long now = System.currentTimeMillis();
mX1=(float) (mUx*now)/1000;
mY1 = (float) (mUy*now/1000+(mGravity/2)*now*now/1000000);
Log.d(this.getClass().getName(), "Value of mX1: " + Float.toString(mX1));
Log.d(this.getClass().getName(), "Value of mY1: " + Float.toString(mY1));
mCanvas.drawPoint(mX1, mY1, mPaint);
}
【问题讨论】:
标签: android game-physics