转180度的时间
我有一艘太空飞船,而且我想计算转弯180
度需要多长时间。这是我当前的代码转船:转180度的时间
.msngFacingDegrees = .msngFacingDegrees + .ROTATION_RATE * TV.TimeElapsed
我现在.ROTATION_RATE
是0.15
,但它会改变。
我曾尝试:
Math.Ceiling(.ROTATION_RATE * TV.TimeElapsed/180)
但总是得到的1
答案。请帮忙。
要解释为什么你会得到1所有的时间:
Math.Ceiling只是舍入到下一个整数,所以你和内容必须始终< 1.
重新排列和给出TV.TimeElapsed = 180 * (1/.ROTATION_Rate)
。对于ROTATION_Rate
为0.15,我们知道TV.TimeElapsed在您的整体函数返回> 1之前需要达到1200.
是否有可能总是查看经过时间小于此阈值?
进一步建议你的总和应该更难 - 它没有更多的上下文不完全清楚。
即使我将代码更改为:Math.Ceiling(.ROTATION_RATE/180.0),我仍然只得到1.是否有更好的方法来计算旋转180度需要多长时间? –
你有翻转 - 乔恩建议Math.Ceiling(180.0/RotationRate)。这是简单的代数。 – Jason
好的,很酷。得到它的工作。我如何接受答案的人? –
您使用的是什么数据类型? –
试试这个:'Math.Ceiling(.ROTATION_RATE * TV.TimeElapsed/180.0)'......注意把'0'加到180的硬编码值上。180单独被看作是一个整数,它将你的十进制计算偏移到int ... –
为什么在计算中包含TV.TimeElapsed?这不是你想要解决的未知问题吗? – Jason