使用Python編寫三維向量,實現向量的加法減法,點乘叉乘

2021-03-21 23:53:18 字數 5853 閱讀 3172

1樓:匿名使用者

#  --coding: gb2312--

class vector3:

def __init__(self, x_ = 0, y_ = 0, z_ = 0): #建構函式

self.x = x_

self.y = y_

self.z = z_

def __add__(self, obj): #過載+作為加號

return vector3(self.x+obj.x, self.y+obj.y, self.z+obj.z)

def __sub__(self, obj): #過載-作為減號

return vector3(self.x-obj.x, self.y-obj.y, self.z-obj.z)

def __mul__(self, obj): #過載*作為點乘

return vector3(self.x*obj.x, self.y*obj.y, self.z*obj.z)

def __pow__(self, obj): #過載**作為叉乘。不好,偏離了常理上的意義,可以考慮過載其他符號,或者直接寫函式。

return vector3(self.y*obj.z-obj.

y*self.z, self.z*obj.

x-self.x*obj.z, self.

x*obj.y-obj.x*self.

y)def __str__(self): #供print列印的字串

return str(self.x)+','+str(self.y)+','+str(self.z)

v1 = vector3(1, 2, 3)

v2 = vector3(0, 1, 2)

print v1 + v2

print v1 - v2

print v1 * v2

print v1 ** v2結果:

倆個三維向量叉乘怎麼算

2樓:匿名使用者

如果你學過了行列式,按下圖計算行列式即可;如果沒學過,那麼就把叉乘的計算當成定義式,參考最後的計算公式:

3樓:淺夏

兩個向量a和b的叉積寫作a×b =absinα   (α為a,b向量之間的夾角)

向量的叉乘,即求同時垂直兩個向量的向量,即c垂直於a,同時c垂直於b(a與c的夾角為90°,b與c的夾角為90°)

c =  a×b = (a.y*b.z-b.

y*a.z , b.x*a.

z-a.x*b.z  , a.

x*b.y-b.x*a.y)

向量的點乘和叉乘的區別,舉個例子,謝謝! 5

4樓:匿名使用者

一、運算結果不同:

叉乘運算結果是一個向量而不是一個標量。並且兩個向量的叉積與這兩個向量和垂直。點乘,也叫數量積。結果是一個向量在另一個向量方向上投影的長度,是一個標量。

二、應用不同:

1、點乘:平面向量的數量積a·b是一個非常重要的概念,利用它可以很容易地證明平面幾何的許多命題,例如勾股定理、菱形的對角線相互垂直、矩形的對角線相等等。

2、在物理學光學和計算機圖形學中,叉積被用於求物體光照相關問題。求解光照的核心在於求出物體表面法線,而叉積運算保證了只要已知物體表面的兩個非平行向量(或者不在同一直線的三個點),就可依靠叉積求得法線。

三、幾何意義不同:

1、點積(也叫內積)結果 為 x1 * x2 + y1 * y2 = |a||b| cos,可以理解為向量a在向量b上投影的長度乘以向量b的長度。

2、叉積(也叫外積)的模為 x1 * y2 - x2 * y1 = |a||b| sin,可以理解為平行四邊形的有向面積(三維以上為體積)。外積的方向垂直於這兩個方向。

5樓:匿名使用者

你好!很高興為你答疑解惑。

點乘,也叫向量的內積、數量積。顧名思義,求下來的結果是一個數。

向量a·向量b=|a||b|cos

在物理學中,已知力與位移求功,實際上就是求向量f與向量s的內積,即要用點乘。

叉乘,也叫向量的外積、向量積。顧名思義,求下來的結果是一個向量,記這個向量為c。

|向量c|=|向量a×向量b|=|a||b|sin向量c的方向與a,b所在的平面垂直,且方向要用「右手法則」判斷(用右手的四指先表示向量a的方向,然後手指朝著手心的方向擺動到向量b的方向,大拇指所指的方向就是向量c的方向)。

因此 向量的外積不遵守乘法交換率,因為

向量a×向量b=-向量b×向量a

在物理學中,已知力與力臂求力矩,就是向量的外積,即叉乘。

將向量用座標表示(三維向量),

若向量a=(a1,b1,c1),向量b=(a2,b2,c2),則 向量a·向量b=a1a2+b1b2+c1c2向量a×向量b=

| i j k|

|a1 b1 c1|

|a2 b2 c2|

=(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)(i、j、k分別為空間中相互垂直的三條座標軸的單位向量)。

我的回答你還滿意嗎?望採納,謝謝!

三維向量的叉乘和點乘的關係是什麼,一個向量角叉乘完再點乘會得到什麼? 20

6樓:

叉乘一個向量就是這個運算元跟向量結合時要按向量的叉乘法則結合,而點乘就像是求內積那樣做.

舉個例子:向量f=pi+qj+rk,其中pqr是數值函式,ijk是單位方向向量.則倒三角運算元叉乘=下面的行列式:

i j k

d/dx d/dy d/dz

p q r

上面行列式中的求導應該是偏微分,這裡不會打.

而倒三解運算元點乘f等於

dp/dx+dq/dx+dr/dz

向量問題。叉乘和三個向量點乘的問題。

7樓:匿名使用者

2個向量點乘是常數

所以,3個向量點乘是向量

只能順序計算,不能顛倒次序

先算前兩個向量點乘,再乘以第三個向量

2個向量叉乘是向量

利用行列式計算

過程如下圖:

8樓:甘掰下縫

這個問題和配圖就有問題,( abc)是混合積而不是三個向量點乘,( abc)=(a×b).c。本題第一問應為|4λ-5|

向量叉乘公式是什麼啊

9樓:人偶祭祀

叉乘,也叫向量的外積、向量積。顧名思義,求下來的結果是一個向量,記這個向量為c。

|向量c|=|向量a×向量b|=|a||b|sin向量c的方向與a,b所在的平面垂直,且方向要用「右手法則」判斷(用右手的四指先表示向量a的方向,然後手指朝著手心的方向擺動到向量b的方向,大拇指所指的方向就是向量c的方向)。

因此 向量的外積不遵守乘法交換率,因為向量a×向量b= -向量b×向量a

在物理學中,已知力與力臂求力矩,就是向量的外積,即叉乘。

將向量用座標表示(三維向量),

若向量a=(a1,b1,c1),向量b=(a2,b2,c2),則 向量a×向量b=

| i j k |

|a1 b1 c1|

|a2 b2 c2|

=(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)(i、j、k分別為空間中相互垂直的三條座標軸的單位向量)。

10樓:匿名使用者

||向量叉乘「×」得到的結果是一個垂直於原向量構成平面的向量。

a×b=|a||b|sinw

向量和向量間的乘運算有兩種:點乘和叉乘。

點乘「·」計算得到的結果是一個標量;

a·b=|a||b|cosw(a、b上有向量標,不便打出。w為兩向量角度)。

叉乘「×」得到的結果是一個垂直於原向量構成平面的向量。

a×b=|a||b|sinw

11樓:匿名使用者

叉積代表兩個向量的角度差大小及減小角度差的旋轉軸,物理中有旋度的概念與之對應。點積代表兩個向量互相投影的長度。

12樓:沙灘男孩

若向量a=(a1,b1,c1),向量b=(a2,b2,c2),則(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)

13樓:匿名使用者

向量a*向量b=|a|*|b|*sin《向量a,向量b>

倆個三維向量叉乘怎麼算啊?

14樓:匿名使用者

(a1,a2,a3)x(b1,b2,b3)=(a2b3-a3b2,a3b1-a1b3,a1b2-a2b1)

向量積,數學中又稱外積、叉積,物理中稱矢積、叉乘,是一種在 向量空間中向量的 二元運算。與 點積不同,它的運算結果是一個向量而不是一個標量。並且兩個向量的叉積與這兩個向量和垂直。

15樓:蘭寧善丁

兩個向量a和b的叉積寫作a×b =absinα(α為a,b向量之間的夾角)

向量的叉乘,即求同時垂直兩個向量的向量,即c垂直於a,同時c垂直於b(a與c的夾角為90°,b與c的夾角為90°)c=

a×b=

(a.y*b.z-b.y*a.z

,b.x*a.z-a.x*b.z

,a.x*b.y-b.x*a.y)

16樓:匿名使用者

(a1,a2,a3)x(b1,b2,b3)=(a2b3-a3b2,a3b1-a1b3,a1b2-a2b1)

點乘和叉乘?

17樓:匿名使用者

點乘是向量的內積,叉乘是向量的外積。

點乘,也叫數量積。結果是一個向量在另一個向量方向上投影的長度,是一個標量。顧名思義,求下來的結果是一個數。

叉乘,也叫向量積。結果是一個和已有兩個向量都垂直的向量。求下來的結果是一個向量。

18樓:木子文軒

點乘,也叫向量的內積、數量積。顧名思義,求下來的結果是一個數。

向量a·向量b=|a||b|cos

在物理學中,已知力與位移求功,實際上就是求向量f與向量s的內積,即要用點乘。

叉乘,也叫向量的外積、向量積。顧名思義,求下來的結果是一個向量,記這個向量為c。

|向量c|=|向量a×向量b|=|a||b|sin向量c的方向與a,b所在的平面垂直,且方向要用「右手法則」判斷(用右手的四指先表示向量a的方向,然後手指朝著手心的方向擺動到向量b的方向,大拇指所指的方向就是向量c的方向)。

因此 向量的外積不遵守乘法交換率,因為

向量a×向量b=-向量b×向量a

在物理學中,已知力與力臂求力矩,就是向量的外積,即叉乘。

將向量用座標表示(三維向量),

若向量a=(a1,b1,c1),向量b=(a2,b2,c2),則 向量a·向量b=a1a2+b1b2+c1c2向量a×向量b=

| i j k|

|a1 b1 c1|

|a2 b2 c2|

=(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)(i、j、k分別為空間中相互垂直的三條座標軸的單位向量)。

19樓:佟菲旅妝

為|向量的乘法有兩種,分別成為內積和外積.

內積也稱數量積,因為其結果為一個數(標量)向量a,b的內積為|a|*|b|cos,其中表示a與b的夾角向量外積也叫叉乘,其結果為一個向量,方向是按右手系垂直與a,b所在平面|a|*|b|sin

20樓:以清竹奉綢

|向量的乘法有兩種,分別成為內積和外積.

內積也稱數量積,因為其結果為一個數(標量)向量a,b的內積為|a|*|b|cos,其中表示a與b的夾角向量外積也叫叉乘,其結果為一個向量,方向是按右手系垂直與a,b所在平面|a|*|b|sin

CAD怎樣使用拉伸出三維圖形,CAD三維圖怎麼拉伸?

1 做一個閉合圖形,比如矩形,圓,或者是面域。2 通過ext命令進行拉伸。cad裡面的三維拉伸怎麼使用 選畫一個封閉的圖形,再用面域命令 reg 將前面畫的圖形進行面域,然後用專拉伸命令 ext 屬將圖形拉伸。再在檢視下的三維檢視,選東南軸測檢視 任選一個 上面兩個命令的步驟 輸入面域命令 reg ...

matlab三維擬合,matlab 三維擬合

x 12.82 22.94 17.47 8.2 8.69 5.93 4.46 y 45.36 15.38 42.9 24.24 19.22 19.07 8.83 z 0.225 0.23 0.155 0.145 0.06 0.045 0 f a,x x 1,a 1 a 2 x 2,a 3 a 4 a...

c語言三維陣列三維陣列怎麼理解c語言

先說二維,可以這麼理解 int n 3 有3個int 那麼,int m 5 3 有5個int 3 賦值時 n 1 3把3給1號 m 4 m 4 是個int 3 型別,這麼賦值,也就是這麼賦值 m 4 的 0 是5 m 4 0 5 m 4 1 9 m 4 2 4 懂了嗎?三維甚至更多維大同小異,比如 ...