国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

向量的點乘與叉乘概念理解以及C++代碼實現(xiàn)

這篇具有很好參考價值的文章主要介紹了向量的點乘與叉乘概念理解以及C++代碼實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


點乘與叉乘是線性代數(shù)的基本知識,在工作中也經(jīng)常能夠遇到,下面我們來溫習(xí)一下它們的概念以及使用C++代碼對它們進(jìn)行實現(xiàn)。

1. 點乘

  • 概念

向量的點乘,也叫點積、內(nèi)積、數(shù)量積。是指在實數(shù)R上的兩個向量的一種二元運(yùn)算,這種運(yùn)算返回一個實數(shù)值標(biāo)量。點乘有兩種定義方式:代數(shù)方式和幾何方式。

  • 代數(shù)方式

已知兩個向量 a → = [ a 1 , a 2 , . . . , a n ] \overrightarrow{a} = [a_1, a_2,...,a_n] a =[a1?,a2?,...,an?] b → = [ b 1 , b 2 , . . . , b n ] \overrightarrow = [b_1, b_2,...,b_n] b =[b1?,b2?,...,bn?],則向量 a → \overrightarrow{a} a 與向量 b → \overrightarrow b 的內(nèi)積代數(shù)定義為:
a ? b = a 1 b 1 + a 2 b 2 + . . . + a n b n a\cdot b=a_1b_1+a_2b_2+...+a_nb_n a?b=a1?b1?+a2?b2?+...+an?bn?
代數(shù)表示:對應(yīng)元素相乘相加。

  • 幾何定義(2維和3維)

已知兩個向量 a → = [ x 1 , y 1 , z 1 ] \overrightarrow{a} = [x_1,y_1,z_1] a =[x1?,y1?,z1?] b → = [ x 2 , y 2 , z 2 ] \overrightarrow=[x_2,y_2,z_2] b =[x2?,y2?,z2?],它們的模值分別為 ∣ a ∣ |a| a ∣ b ∣ |b| b,它們的夾角為 θ ∈ ? [ 0 , π ] \theta \in \ [0,\pi] θ?[0,π],那么向量 a → \overrightarrow{a} a 與向量 b → \overrightarrow b 的幾何定義為:
a ? b = ∣ a ∣ ∣ b ∣ c o s θ a\cdot b = |a||b|cos\theta a?b=a∣∣bcosθ
幾何意義: 可以用來表示一個向量在另一個向量上的投影長度,為一個標(biāo)量。

2. 叉乘

向量的叉乘,也叫叉積、外積、向量積,是一種在向量空間中(也就是說向量元素個數(shù)為3)向量的二元運(yùn)算。與點積不同,叉乘的運(yùn)算結(jié)果是一個向量而不是一個標(biāo)量,并且兩個向量的叉積與這兩個向量所構(gòu)成的平面垂直。

  • 定義方式

已知兩個向量 a → = [ x 1 , y 1 , z 1 ] \overrightarrow{a} = [x_1,y_1,z_1] a =[x1?,y1?,z1?] b → = [ x 2 , y 2 , z 2 ] \overrightarrow=[x_2,y_2,z_2] b =[x2?,y2?,z2?],它們的模值分別為 ∣ a ∣ |a| a ∣ b ∣ |b| b,它們的夾角為 θ ∈ ? [ 0 , π ] \theta \in \ [0,\pi] θ?[0,π],那么向量 a → \overrightarrow{a} a 與向量 b → \overrightarrow b 的叉乘表示為:

  • 模值 ∣ a × b ∣ = ∣ a ∣ ∣ b ∣ s i n θ |a × b | = ∣ a ∣ ∣ b ∣ s i n θ a×b=∣a∣∣bsinθ
  • 模的幾何意義:模 ∣ a × b ∣ |a × b | a×b, 即以a和b為兩條邊的平行四邊形的面積
  • 方向:兩個向量的叉積與這兩個向量所構(gòu)成的平面垂直,且遵循右手準(zhǔn)則(右手的四指從a以不超過180°的轉(zhuǎn)角轉(zhuǎn)向b時,豎起的大拇指指向是叉乘的方向。)

向量的點乘與叉乘概念理解以及C++代碼實現(xiàn)

  • 坐標(biāo)運(yùn)算

假設(shè): i 、 j 、 k i、j、k ij、k分別為XYZ三個軸的單位向量,則叉乘運(yùn)算表示如下:

a → × b → = ∣ i j k x 1 y 1 z 1 x 2 y 2 z 2 ∣ = [ y 1 z 2 ? y 2 z 1 , ? ( x 1 z 2 ? x 2 z 1 ) , x 1 y 2 ? x 2 y 1 ] \overrightarrow{a}×\overrightarrow = \begin{vmatrix} i& j& k\\ x_1& y_1& z_1 \\ x_2& y_2& z_2 \\ \end{vmatrix}=[y_1z_2-y_2z_1,-(x_1z_2-x_2z_1),x_1y_2-x_2y_1] a ×b = ?ix1?x2??jy1?y2??kz1?z2?? ?=[y1?z2??y2?z1?,?(x1?z2??x2?z1?),x1?y2??x2?y1?]

特殊情況,如果a和b在平面XY上,那么Z=0,所以上面得到的值 ∣ x 1 y 2 ? x 2 y 1 ∣ |x_1y_2 - x_2y_1| x1?y2??x2?y1?,方向朝Z軸。

3. 代碼實現(xiàn)

根據(jù)對上面概念的理解,相信大家可以很快就能寫出自己的點乘與叉乘函數(shù)操作,這里就不介紹了。在工作實際應(yīng)用中,我們可能更多的使用Eigen對它們進(jìn)行調(diào)用,Eigen可以很方便的實現(xiàn)點乘與叉乘操作,具體代碼如下:

#include <iostream>
#include <Eigen/Dense>
 
using namespace Eigen;
using namespace std;
int main()
{
  Vector3d v(1,2,3);
  Vector3d w(0,1,2);
 
  cout << "Dot product: " << v.dot(w) << endl;//點乘
  double dp = v.adjoint()*w; //等同于點法
  cout << "Dot product via a matrix product: " << dp << endl;
  cout << "Cross product:\n" << v.cross(w) << endl;//叉乘
}

輸出:
向量的點乘與叉乘概念理解以及C++代碼實現(xiàn)文章來源地址http://www.zghlxwxcb.cn/news/detail-439109.html

到了這里,關(guān)于向量的點乘與叉乘概念理解以及C++代碼實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 向量的點乘和叉乘

    向量的點乘和叉乘

    1. 向量的點乘 定義 : 向量點乘又稱為內(nèi)積,結(jié)果為 標(biāo)量。 已知空間中的兩個向量: a = (x1,y1,z1) ,?b = (x2,y2,z2) , 則向量 a 和向量 b的內(nèi)積為: ? 幾何意義 : ? ? ? ?點乘的結(jié)果表示 a? 在? b? 方向上的 投影 與 || b || 的乘積,反映了兩個向量在方向上的相似度,結(jié)果越大越

    2024年02月02日
    瀏覽(14)
  • 向量的點乘、叉乘和混合積(三重積)

    設(shè)、、為三個向量,三重矢積公式 上述的兩個公式也稱為拉格朗日公式。? 三重矢積的公式有三個特性: 1) 兩個分項都帶有三個向量(?、、); 2) 三重積一定是先做叉積的兩向量之線性組合; 3) 中間的向量所帶的系數(shù)一定為正(此處為向量)。 特別的: 逆交換律: 任意

    2024年02月11日
    瀏覽(22)
  • 【Unity每日一記】方位辨別—向量的叉乘點乘結(jié)合

    【Unity每日一記】方位辨別—向量的叉乘點乘結(jié)合

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關(guān)注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【unity本站最全系列】unity常用API大全

    2024年02月12日
    瀏覽(18)
  • 【Unity每日一記】Unity中的方位辨別—向量的叉乘點乘結(jié)合

    【Unity每日一記】Unity中的方位辨別—向量的叉乘點乘結(jié)合

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點贊?? 收藏? 留言?? 加關(guān)注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unity每日一記 ?【Unityc#專題篇】之c#系統(tǒng)化大禮包】 ?【unity數(shù)據(jù)持久化】數(shù)據(jù)管理類_PlayerPrfs ?【unity本站最全系列】unity常用API大全

    2024年02月11日
    瀏覽(24)
  • 叉乘、向量積的計算以及推導(dǎo)

    叉乘、向量積的計算以及推導(dǎo)

    幾何圖示: 設(shè)有 a = ( a x , a y , a z ) , b = ( b x , b y , b z ) mathbf{a}=left(a_{x}, a_{y}, a_{z}right), mathbf=left(b_{x}, b_{y}, b_{z}right) a = ( a x ? , a y ? , a z ? ) , b = ( b x ? , b y ? , b z ? ) i , j , k 分別是 X , Y , Z 軸方向的單位向量,則: a × b = ( a y b z ? a z b y ) i + ( a z b x ? a

    2024年02月16日
    瀏覽(14)
  • 【理解線性代數(shù)】(四)從向量組點乘到矩陣相乘

    工業(yè)生產(chǎn)的發(fā)展趨勢總是從單件生產(chǎn)到批量生產(chǎn)??茖W(xué)技術(shù)研究也是一樣,總是從簡單計算到復(fù)合運(yùn)算、批量運(yùn)算。批量意味著生產(chǎn)能力、處理能力的提升。計算機(jī)從16位發(fā)展到64位,從單核發(fā)展到多核;計算機(jī)從CPU處理數(shù)據(jù)發(fā)展到GPU處理數(shù)據(jù);大數(shù)據(jù)、人工智能領(lǐng)域的大模型

    2024年02月09日
    瀏覽(22)
  • 【數(shù)理知識】矩陣普通乘積,哈達(dá)瑪積,克羅內(nèi)克積,點乘,點積,叉乘,matlab代碼實現(xiàn)

    序號 內(nèi)容 1 【數(shù)理知識】向量數(shù)乘,內(nèi)積,外積,matlab代碼實現(xiàn) 2 【數(shù)理知識】矩陣普通乘積,哈達(dá)瑪積,克羅內(nèi)克積,點乘,點積,叉乘,matlab代碼實現(xiàn) 首先介紹矩陣 在數(shù)學(xué)中,矩陣是一個按照長方陣列排列的復(fù)數(shù)或?qū)崝?shù)集合。由 m × n m times n m × n 個數(shù) a i j a_{ij} a ij ?

    2024年02月04日
    瀏覽(26)
  • 線性代數(shù)的學(xué)習(xí)和整理22:矩陣的點乘(草稿)

    線性代數(shù)的學(xué)習(xí)和整理22:矩陣的點乘(草稿)

    4? 矩陣乘法 A,B兩個同階同秩N陣,看上去結(jié)構(gòu)一樣,但兩廂相乘,在做在右,地位差別巨大。 在左,你就是基,是空間的根本,是坐標(biāo)系,是往哪去、能到哪的定海神針,是如來佛手;在右,你就只是乾坤已定后數(shù)量的選擇,你是翻十個跟頭,還是翻十一個(都出不了如來佛

    2024年02月09日
    瀏覽(23)
  • MATLAB中如何實現(xiàn)n個矩陣的點乘或相加

    ? - 如果你的矩陣都是同樣的大小,你可以將它們存儲在一個三維數(shù)組中,然后使用sum函數(shù)沿著第三個維度求和。例如,如果你有三個2×2的矩陣A、B和C,你可以這樣做: ? ```markdown M = cat(3,A,B,C); % 將A、B、C沿著第三個維度拼接成一個2×2×3的數(shù)組 S = sum(M,3); % 沿著第三個維度求

    2024年02月06日
    瀏覽(18)
  • 矩陣與向量的運(yùn)算:矩陣的加法、數(shù)乘與乘法

    作者:禪與計算機(jī)程序設(shè)計藝術(shù) \\\"矩陣與向量的運(yùn)算\\\"是機(jī)器學(xué)習(xí)領(lǐng)域的一個基礎(chǔ)課。在實際應(yīng)用中,許多算法都需要涉及到矩陣運(yùn)算。理解并掌握這種運(yùn)算對于解決復(fù)雜的問題和優(yōu)化模型性能至關(guān)重要。本文將帶您快速了解矩陣的概念,以及如何進(jìn)行矩陣運(yùn)算。 \\\"行列式\\\"是指

    2024年02月11日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包