向量投影指的是一個向量在另一個向量上的投影,可以分為水平投影和垂直投影,如何在Flash中計算它們的值呢?筆者與大家分享一下自己的經驗。
(一)水平投影的計算
繪制任意兩個向量a和b,從向量a的終點做向量b做垂線,從向量起點O沿向量b方向到垂足的向量,就是向量a在向量b上的水平投影。
計算向量的水平投影可以通過點積來計算,我們都知道向量的點積,其實就是兩個向量長度與向量夾角的余弦的乘積,如果除以向量b的長度的平方,就可以計算出水平投影與向量b的比率,再根據向量b就可以計算出向量a在向量b上的水平投影。
計算向量水平投影的代碼如何書寫呢?
首先,定義一個求水平投影向量的函數par,其中Vector為已定義好的向量類。
接著,定義一個實型變量l,它的值為向量b的長度。
定義實型變量n,其值為向量a與向量b的點積。
最后,用步驟2的原理,計算出水平投影的向量。
(二)垂直投影的計算
從向量a終點做向量b的垂線,從垂足到向量a終點的向量,就是向量a在向量b上的垂直投影。
計算出向量a的水平投影后,只需用向量a減去水平投影向量,就可以得到向量a在向量b上的垂直投影了。
首先,定義函數per求向量a在向量b上的垂直投影,類型為向量Vector。
在函數中定義向量p,其值為向量a在向量b上的水平投影。
最后,求出向量a減去向量p的值,即求出垂直投影向量的值。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!