我有一艘太空飛船,而且我想計算轉彎180
度需要多長時間。這是我當前的代碼轉船:轉180度的時間
.msngFacingDegrees = .msngFacingDegrees + .ROTATION_RATE * TV.TimeElapsed
我現在.ROTATION_RATE
是0.15
,但它會改變。
我曾嘗試:
Math.Ceiling(.ROTATION_RATE * TV.TimeElapsed/180)
但總是得到的1
答案。請幫忙。
我有一艘太空飛船,而且我想計算轉彎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