数学基础——向量 详解
1. 什么是向量
在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量。
2. 向量的表示方式
·代数表示
大小或小写字母+箭头:
A → 或 b → A B → 或 a b → \overrightarrow{A}\ \ 或\ \ \overrightarrow{b} \ \ \ \ \ \ \ \overrightarrow{AB}\ \ 或\ \ \overrightarrow{ab} A 或 b AB 或 ab
·几何表示
1.二维
2.三维
坐标表示
1.二维
分别取与x轴、y轴方向相同的两个单位向量i,j作为一组基底。有且只有一对实数(x,y),使得a=xi+yj,因此把实数对(x,y)叫做向量a的坐标,记作a=(x,y)。
A → = ( a x , a y ) , B → = ( b x , b y ) \overrightarrow{A}=(a_x,a_y)\ \ ,\ \ \overrightarrow{B}=(b_x,b_y) A=(ax,ay) , B=(bx,by)
2.三维
分别取与x轴、y轴,z轴方向相同的3个单位向量i,j,k作为一组基底。有且只有一组实数(x,y,z),使得a=ix+jy+kz,因此把实数对(x,y,z)叫做向量a的坐标,记作a=(x,y,z)。
A → = ( a x , a y , a z ) , B → = ( b x , b y , b z ) \overrightarrow{A}=(a_x,a_y,a_z)\ \ ,\ \ \overrightarrow{B}=(b_x,b_y,b_z) A=(ax,ay,az) , B=(bx,by,bz)
矩阵表示
1.二维
A → = [ a x a y ] B → = [ b x b y ] \overrightarrow{A}= \begin{bmatrix} a_x \\ a_y \end{bmatrix}\ \ \ \overrightarrow{B}= \begin{bmatrix} b_x \\ b_y \end{bmatrix} A=[axay] B=[bxby]
2.三维
A → = [ a x a y a z ] B → = [ b x b y b z ] \overrightarrow{A}= \begin{bmatrix} a_x \\ a_y\\ a_z \end{bmatrix}\ \ \ \overrightarrow{B}= \begin{bmatrix} b_x \\ b_y\\ b_z \end{bmatrix} A=
axayaz
B=
bxbybz
3. 向量的基本定义
·向量是有大小和方向的有向线段
·向量没有位置,只有大小和方向
·向量的箭头是向量的结束,向量的开始
·向量描述的位移能被认为是与轴平行的位移序列
代码实现:
二维
public struct M_Vector2
{
public float x;
public float y;
public M_Vector2(float x,float y)
{
this.x = x;
this.y = y;
}
}
三维
public struct M_Vector3
{
public float x;
public float y;
public float z;
public M_Vector3(float x,float y,float z)
{
this.x = x;
this.y = y;
this.z = z;
}
}
4. 向量的运算
设 a → = ( a x , a y ) , b → = ( b x , b y ) 设\overrightarrow{a}=(a_x,a_y) \ , \ \overrightarrow{b}=(b_x,b_y) 设a=(ax,ay) , b=(bx,by)
4.1加法
向量的加法满足平行四边形法则和三角形法则, O A → + O B → = O C → a = [ a x a y ] , b = [ b x b y ] a + b = [ a x + b x a y + b y ] = [ a x + b x a y + b y ] [ 1 1 ] a + 0 = 0 + a 交换律: a + b = b + a 结合律:( a + b ) + c = a + ( b + c ) 向量的加法满足平行四边形法则和三角形法则, \\ \overrightarrow{OA}+\overrightarrow{OB}=\overrightarrow{OC} \\ \ \\ a= \begin{bmatrix} a_x \\ a_y \end{bmatrix}\ \ , \ \ b= \begin{bmatrix} b_x \\ b_y \end{bmatrix} \\ \ \\ a + b = \begin{bmatrix} a_x + b_x\\ a_y + b_y \end{bmatrix}= \begin{bmatrix} a_x + b_x\\ a_y + b_y \end{bmatrix} \begin{bmatrix} 1\\ 1 \end{bmatrix} \\ \ \\ a+0 = 0+ a \\ \ \\ 交换律:a+b=b+a \\ \ \\ 结合律:(a+b)+c=a+(b+c) 向量的加法满足平行四边形法则和三角形法则,OA+OB=OC a=[axay] , b=[bxby] a+b=[ax+bxay+by]=[ax+bxay+by][11] a+0=0+a 交换律:a+b=b+a 结合律:(a+b)+c=a+(b+c)
代码实现:
二维
/// 两个向量相加
public static M_Vector2 operator+(M_Vector2 m_Vector2_A,M_Vector2 m_Vector2_B)
{
return new M_Vector2(m_Vector2_A.x + m_Vector2_B.x, m_Vector2_A.y + m_Vector2_B.y);
}
三维
//加法
public static M_Vector3 operator +(M_Vector3 v3_A,M_Vector3 v3_B)
{
return new M_Vector3(v3_A.x + v3_B.x, v3_A.y + v3_B.y, v3_A.z + v3_B.z);