2014-03-02 78 views
0

我需要找到平均值編輯:總計給定多個二維速度(速度和方向)的二維速度。舉幾個例子:等式找到多個速度的平均值?

實施例1個
速度1是每秒10個像素或單元的速度90°。
速度2是在每秒5個像素或單元的速度270°。

平均速度爲每秒5個像素或單元90°。

實施例2
速度1是在每秒
速度10個像素或單元的速度0°2是在每秒
速度10個像素或單元的速度180°圖3是在90℃的每8個像素或單元的速度第二

平均速度爲每秒

實施例8個像素或單元90°3
V elocity 1爲0°以每秒 速度2 10個像素或單元是在每10個像素或單元90°第二

平均速度爲每秒

我使用JavaScript 14.142像素或單元45°但它主要是一個與語言無關的問題,如有必要,我可以將其轉換爲JavaScript。

回答

1

如果你打算使用一堆的角度,我也只是計算每個速度,

VX = v * COS( THETA) VY = v * SIN(THETA)

然後分別總結在x速度和y速度作爲矢量分量和通過速度的總數除,

總和(VX)/總V,總和(VY)/總和值V

,然後最終計算最終的速度和方向與你最終的vx和vy。的速度的大小可以通過勾股定理的簡單應用中找到,然後最終角度應該只是TAN-1(Y/X)。


每示例#3

VX = 10 * COS(90)+ 10個* COS(0)= 10, VY = 10 * SIN(90)+ 10 * SIN(0)= 10

所以,TAN-1(10/10)= TAN-1(1)= 45

然後SQRT的最終大小(10^2 + 10^2)= 14.142

+0

在你的等式中,theta是什麼意思? – Keavon

+0

Theta是角度的值。 – thesublimeobject

0

爲了得到平均: 添加每個速度,然後速度的數量劃分。

10mph + 20mph/2 = 15 
12mph + 14mph + 13mph + 16mph/4 = 14 (13,75) 
+0

這隻需要考慮速度,而不是方向。 – Keavon

0

從您的示例中,您似乎想要添加2維向量,而不是平均值。

E.g.實施例2可以表示爲

(0,10)+(0,-10)+(-8,0)=(-8,0)

速度則等於的長度矢量:

的sqrt(x^2 + Y^2)

0

這沒有那麼多,因爲它只是基本的矢量加法。您正在查找多個「像素矢量」並將它們添加在一起。如果右側有2個像素的速度向量,向上1個,並將其添加到左側3個像素的速度矢量,則會得到左側1個像素和下部1個像素的速度矢量。

所以速度由

PIJ限定=像素上升或( - )向下

PII =像素會向右或( - )左

SPEEDI = pii1 + pii2 = 2- 3 = -1(1個像素左)

speedj = pij1 + pij2 = 1-2 = -1(1個像素向下)

從那裏,則需要確定這些方向正,並且其是NE gative。我建議左邊是負數,下邊是負數(如數學圖)。

矢量的角度,將反正切(speedj/SPEEDI)

反正切( - 1/- 1)= 45度

1

這些載體,以及應該使用矢量加法來添加他們。所以正確和積極是積極的,而左和下是消極的。 添加您的從左到右的向量(x軸)。

實施例1 = -10 + 5 = -5

實施例2 = -8 = -8

實施例3 = 10 = 10(90度通常爲90度到右側)

類似地爲你添加起伏,你會得到這些速度,從左到右在括號內,你從右到左從右到左。 (-5,0)

(-8,0)

(10,10)

這些載體含有需要繪製一個物體的運動的所有信息,則不需要計算角度來繪製物體的運動。如果出於某種原因,你寧願使用速度(類似於速度,但不同)和角度,那麼你必須首先計算上述矢量,然後使用畢達哥拉斯定理找出速度和簡單的三角函數來得到角度。事情是這樣的:

var speed = Math.sqrt(x * x + y * y); 
    var tangeant = y/x; 
    var angleRadians = Math.atan(tangeant); 
    var angleDegrees = angleRadians * (180/Math.PI); 

我會提醒你,你應該跟別人誰知道三角和測試這口井。像這樣的工作有誤導性的錯誤的可能性。