2d弹丸轨迹?

我的对象有一个点x,y这总是随着鼠标在800×600的盒子里拖动它而改变。 我的对象也旋转到鼠标设置的角度,它可以是任何360度。 我现在的问题是如何从那个角度射出射弹,当然也是从XY位置射击。 射弹只需要沿直线行进,但它需要以主要物体的正确角度移动。 我有角度,我有XY位置我需要的是使它从适当的角度移过网格的公式。

编辑 – 当前JSFIDDLE与射弹没有以正确的角度拍摄。 http://jsfiddle.net/vbk4Z/16/

标准公式是:

xn = x0 + v * t * cos(theta) yn = y0 + v * t * sin(theta) 

其中(x0, y0)是原始位置, v是所需的速度, theta是角度(弧度), t是射弹射击后的时间。

请注意,这使用了相对于正x轴逆时针测量并且y轴朝上的角度的经典cartisian约定。

如果您正在使用浏览器坐标,并且碰巧选择使用轴承(顺时针相对于“向上”/“向北”),那么您需要交换一些标志和触发function:

 xn = x0 + v * t * sin(theta) yn = y0 - v * t * cos(theta)