TA百人计划 图形 1.2.1 向量基础

啥是向量

向量的定义

向量是有大小和方向的有向线段。

向量没有位置,只有大小和方向。

向量的箭头是向量的结束,尾是向量的开始(从箭尾画到箭头,最终箭头指示方向为向量方向)。

向量描述的位移能被认为是与轴平行的位移序列(向量的数组不是向量的位置,最终箭头指示方向为向量方向)。

向量表示:三维(a_x,b_y,c_z) 二维(a_x,b_y

向量与标量

向量:有大小和方向的有向线段。

标量:只有大小,没有方向的量。

向量与点

向量和点的数学形式上相等,但几何意义完全不同。

点:有位置,没有实际大小和方向。

向量:无位置,有实际大小和方向。

联系:任何一个点都可以看做是从原点出发的向量。

零向量

零向量是唯一大小为零的向量。

零向量是唯一一个没有方向的量。

零向量不是一个点,因为没有定义某个位置。

零向量表示的是没有位移,就像零向量表示的是没有数量一样。

如何计算

标量与向量的计算

加法:×

减法:×

乘法:将每个分量都与标量相乘就可以

例:-2(2,-5)=(-4,10)

除法:等同于乘以标量的倒数

例:(6,-2,-4)/2=(3 , -1,-2)

几何解释:向量乘以标量的效果是以标量的大小缩放向量的长度,负值则方向相反。(将向量缩放至 k 个标量单位)

向量的模长

计算公式:\left | v \right |^2=\sqrt{v_x^2+v_y^2}

几何解释:当我们将所示向量作为斜边构建一个直角三角形,所示向量的大小(模长)即可通过三角形勾股定理推出。

例:(-12,5)的模长为: \sqrt{-12^2+5^2} =\sqrt{144+25}= \sqrt{169}=13

标准化向量

标准化向量(单位向量)就是大小为1的向量。(适用范围:仅需要知道方向而不关心其大小。如:法线)

运算法则:将向量除以它的大小(模长)。

v_{norm}=\dfrac{v}{||v||},v\not= 0

向量与向量的加减法计算

计算公式:(a_x, a_y)+ (b_x , b_y)=(a_x + b_x , a_y + b_y)

加法:对应位置相加

减法:对应位置相减

几何解释:假设有向量 (a_x,b_x) 和向量 ( a_y, b_y )

12345.png

计算两点间距离:距离公式

3D 距离公式:距离(a,b)=||b-a||=\sqrt{(b_x-a_x)^2+(b_y-a_y)^2+(b_z-a_z)^2}

2D 距离公式:距离(a,b)=||b-a||=\sqrt{(b_x-a_x)^2+(b_y-a_y)^2}

应用范围:计算一个向量到另一个向量的距离

几何解释:

ca9b1b07b1679e6cb9f19a859b4f0f02.png

向量的点积计算

乘法之——点积(又称点乘,内积)

计算公式:(a_x , a_y)·(b_x , b_y)=(a_x b_x + a _y b _y )

向量点乘就是分量乘积的和,结果是一个标量并满足交换律 a b = b a

几何解释:点乘结果描述了两个向量的“相似”程度,点乘结果越大,夹角角度越小,两个向量越接近。

$a-b$ $\theta$ 角度 $a$ 和 $b$
$>0$ $0^{\circ}\le\theta\le90^{\circ}$ 方向基本相同
$0$ $\theta=90^{\circ}$ 正交
$<0$ $90^{\circ}<\theta\le180^{\circ}$ 方向基本相反

向量投影

计算公式:(a_ x , a_ y)·( b_ x , b_y)=(a_ x b_ x + a_ y b_ y )

几何解释:假设有两个向量 Vn,将 b分解为两个向量:V_{\parallel}V_⊥,两者都垂直于 n,并满足V= V_{\parallel}+ V_⊥。则称平行分量 V_{\parallel}Vn 上的投影。

\dfrac{v_{\parallel}}{||v_\parallel||}=\dfrac{n}{||n||}\ (单位向量相等)\\v_\parallel=n\dfrac{||v_\parallel||}{||n||}

因此,当我们求出 v_\parallel 的模,就能计算出该投影向量的值了。

而因为向量 v,v_\parallel,v_⊥ 构建了一个直角三角形,因此可以用三角函数得到

\cos\alpha=\dfrac{||v_{\parallel}||}{||v||}\\||v||\cos\alpha=||v_{\parallel}||

||v_\parallel|| 代入得

v_{\parallel} = n\dfrac{||v||\cos\alpha}{||n||}\ = n\dfrac{||v||||n||\cos\alpha}{||n^2||}\ = n\dfrac{vn}{||n^2||}

向量的叉积计算

乘法之——叉积(又称叉乘,叉积)

计算公式:

\begin{bmatrix}x_1 \\y_1\\z_1\end{bmatrix}\times\begin{bmatrix}x_2 \\y_2\\z_2\end{bmatrix}=\begin{bmatrix}y_1z_2-z_1y_2 \\z_1x_2-x_1z_2\\x_1y_2-y_1x_2\end{bmatrix}

向量叉乘就是分量交叉相乘再相减,结果是一个向量且不满足交换律。

几何解释:叉乘得到的向量垂直于原来的两个向量

cdc7778a51c7b3d7ff845408f8153fe7.png

兰伯特光照模型

兰伯特光照模型是目前最简单通用的模拟漫反射的光照模型

使光照方向的反方向为 L 向量,法线方向为 N 向量,则有:

LN 方向相同,则 Normal · Light = 1(纯亮)

LN 方向相反,则 Normal · Light = -1(纯黑)

LN 方向垂直,则 Normal · Light = 0(纯黑)

76584b488b96ec56413f5bc3aca9f7a2.png

6d17b2b948db64d7af8990cbdc33d2ce.png

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇