三維向量的長度python 對向量空間的理解

2021-10-13 23:53:01 字數 2210 閱讀 4303

線性代數是研究向量和矩陣的一門數學,矩陣也是向量構成的,所以線性代數主要是研究向量,向量空間以及向量線性組合性質的一門科學。

我們很早就接觸到了向量這個東西,向量也稱為向量,是一種有方向,有數值大小的一種數值表示。我們知道向量有幾種基本的運算,向量加法,就是向量裡的每乙個分量對應相加,向量與乙個標量相乘,就是向量裡的每乙個分量與該標量相乘: 比如兩個維度為n 的向量相加,可以得到:

u+v=(u1+v1,u2+v2,...un+vn)

或者,乙個維度為 n 的向量與乙個標量 kk相乘,可以得到: 

ku=(ku1,ku2,...,kun)

定義了這兩種運算之後,我們可以就定義乙個向量空間,在定義向量空間之前,我們先來**一下空間的定義,網上有人總結的很好,在我們的現實世界裡,三維空間就是我們非常熟悉的乙個空間,從數學上說,這是乙個三維的歐幾里德空間,我們先不管 那麼多,先看看我們熟悉的這樣乙個空間有些什麼最基本的特點。仔細想想我們就會知道,這個三維的空間:

1: 由很多(實際上是無窮多個)位置點組成;

2: 這些點之間存在相對的關係;

3: 可以在空間中定義長度、角度;

4: 這個空間可以容納運動,這裡我們所說的運動是從乙個點到另乙個點的移動(變換),而不是微積分意義上的「連續」性的運動.

上面的這些性質中,最最關鍵的是第4條。第1、2條只能說是空間的基礎,不算是空間特有的性質,凡是討論數學問題,都得有乙個集合,大多數還得在這 個集合上定義一些結構(關係),並不是說有了這些就算是空間。而第3條太特殊,其他的空間不需要具備,更不是關鍵的性質。只有第4條是空間的本質,也就是說,

容納運動是空間的本質特徵。

認識到了這些,我們就可以把我們關於三維空間的認識擴充套件到其他的空間。事實上,不管是什麼空間,都必須容納和支援在其中發生的符合規則的運動(變換)。你會發現,在某種空間中往往會存在一種相對應的變換,比如拓撲空間中有拓撲變換,線性空間中有線性變換,仿射空間中有仿射變換,其實這些變換都只不過是對應空間中允許的運動形式而已。因此只要知道:

「空間」是容納運動的乙個物件集合,而變換則規定了對應空間的運動。

我覺得這個概括非常好,如果把向量看成是空間中的乙個個點,那麼向量的變換就是這個點在空間中的運動。所以說,向量空間也是乙個集合,這個集合對向量的加法和數乘是封閉的,也就是說,只要向量在這個空間內,那麼向量按照加法和數乘的方式運動,就會一直在這個空間裡。所以,對加法和數乘運算封閉的向量空間也稱為線性空間。

定義了向量空間之後,我們來看看最常見的一種向量空間,rn 這個定義了乙個維度為 n 的實向量空間,就是所有維度為 n 的實向量的集合,當n=2,就是我們所說的二維空間,也就是我們常見的平面,當 n=3,就是常見的三維立體的空間,這個空間可以看成是所有向量的乙個集合。很容易可以看出,如果有任意兩個向量 u,v 在向量空間裡,那麼 u+v 必然也在這個空間裡,而且 cu同樣也是在這個空間裡。

向量子空間

定義了向量空間之後,我們接下來看看向量子空間,我們還是以常見的向量空間 rn 為例,我們知道,rn 包含了所有維度為 n 的實向量,但是有的時候,我們可能不需要考慮所有的 n 維實向量,我們只需要考慮一部分的 n 維實向量,那麼這一部分實向量構成的集合或者空間,就稱為向量子空間。

向量子空間可以看成是向量空間中的乙個子集,但是子集本身也是封閉的,也就是說,如果有任意兩個向量 u,v 在子空間裡,那麼 u+v 必然也在這個子空間裡,而且 cu 同樣也是在這個子空間裡。因為要滿足數乘封閉,所以 0 向量必然包含在子空間裡,所有的子空間都應該包括 0 向量,以常見的三維空間 r3 為例,0 向量本身肯定是乙個子空間,過原點的一條直線,或者乙個平面都是乙個子空間,當然三維空間本身也可以看成是乙個子空間,所以,三維空間可以存在四種子空間:

0 向量

過原點的直線

過原點的平面

三維空間本身

所以概括來說,向量空間是向量的集合,而向量子空間,就是這個集合中的子集,無論向量空間還是子空間,都滿足向量加法和數乘的封閉性。

三維向量類

還是在讀書的時候幫外專業朋友做作業,用gdi實現三維空間的立方體繪製和旋轉的操作,那個時候自己根據 線性代數與空間解析幾何 以及 計算機圖形學 等課程的相關知識寫了乙個三維向量類。後來做了些二維和三維的東西發現用向量操作會使很多問題變得簡單直觀,尤其是在opengl程式設計的時候這種感覺尤為明顯。經...

三維向量筆記

筆記 一 1 三維向量vec3的使用 1 vec3 cocos定義的乙個三維向量的類,在cc模組中 2 向量在每個座標軸的分量 x y z 3 構造乙個向量的3種方式 new vec3 v vec3 new了乙個vec3的例項出來,然後我們的例項裡面的x,y,z v的分量一樣 new vec3 x,...

Unity三維數學(向量)

什麼是向量?乙個數字列表,表示各個維度上有向位移向量的形式 乙個有大小有方向的物理量 大小就是向量的模長 方向描述了空間中向量的指向 可以表示物體的位置方向 向量的大小 向量各分量平方和的平方根 公式 x y z 再平方根 api float dis vertor.magnitude 模的平方 ve...