-1
我有一個對象,我從二維空間獲取位置和旋轉。確定新的位置給定的旋轉和所需的距離
我需要在X和Y兩個方向上將這個物體的位置總共提前12米,它的旋轉方向只能改變X和Y的位置。
這是我嘗試失敗的一個(壞)例子。
if (direction <= 45)
{
float nx = Convert.ToSingle(direction * .13333333);
float ny = 12 - nx;
} else if (direction <= 90)
{
float ny = Convert.ToSingle((90 - direction) * .133333333);
float nx = 12 - ny;
} else if (direction <= 135)
{
float ny = Convert.ToSingle((135 - direction) * -.133333333);
float nx = -12 - ny;
} else if (direction <= 180)
{
float nx = Convert.ToSingle((180 - direction) * -.133333333);
float ny = -12 - nx;
}
我甚至使用正確的公式或方法來獲得所需的結果嗎? 我有理由相信我需要Cos和Tan,但對於如何或何時使用它們有一些想法。
我想你應該看看(2D)矢量數學一點點的基礎知識。谷歌在這方面找到資源是無與倫比的...... – elgonzo
你完全可以避免這種情況,如果你創建一個帶有正弦和餘弦的向量,那麼距離就是要乘以的半徑,比如'x = distance * cos(angle )'和'y =距離* sin(角度)'。不應該需要tangens。角度必須以弧度指定(全圓= 2 * Pi)。 – dlatikay