我想寫一個簡單的遊戲,但我堅持我認爲簡單的物理。我有一個對象,在0,0,0點,以每秒1個單位行進。如果我給出指令,對象必須每秒旋轉15度,持續6秒(所以它最終向右旋轉90度),並以每秒1單位加速4秒(所以最終速度爲5秒單位每秒),我該如何計算它的終點?如何計算旋轉和加速的對象的位置?
我想我知道如何回答這個問題,因爲它不是一個加速的對象,因爲它只是一個圓圈。在上面的例子中,我知道圓的圓周是4 *距離(因爲它正在遍歷圓的1/4),並且我可以計算半徑和角度,並使用簡單的三角來解答。
但是,因爲在任何特定時刻,物體的行進速度都比前一時刻要快,因此我的最終結果不會是圓形,而是某種弧線。我想我可以通過遍歷每一步(例如每秒60步)來估計終點,但這聽起來很容易出錯並且效率低下。
有人能指出我正確的方向嗎?
增量計算運動是遊戲通常做的事情,通常錯誤不是問題。你的遊戲是否有一些會讓它成爲問題的行爲? (例如,如果一個對象永遠在一個圓圈中旋轉,並且它的位置會逐步更新,則錯誤可能會複合,直到它明顯偏離軌跡。) – 2011-05-03 08:48:22
我的想法是,如果我的客戶可以預測我應該在哪裏在將來,我可以發送我的出發點和最後一點,然後計算滯後時間並幫助其他客戶作爲客戶預測的一種形式。另外,我只需要發送一條(稍大一些)的消息,並且對於人們的位置和應該的位置仍然有一定程度的準確性。 – Bailey 2011-05-03 09:01:38
準確地說,轉動時,即使**速度的大小保持不變,物體也會加速**。也就是說,如果你的物體保持1單位/秒的速度,它仍然會加速(雖然橫向),以便轉彎。 – ysap 2011-05-05 22:34:20