首页 > 其他分享 >1.线性代数基础

1.线性代数基础

时间:2023-07-01 13:12:01浏览次数:51  
标签:begin end 矩阵 基础 线性代数 pmatrix vec 向量


目录

一、向量

\[\vec{AB} = B − A \]

  • 向量AB=点B-点A

\[\hat{a}=\frac{\vec{a}}{||\vec{a}||} \]

  • 向量的单位向量(归一化)

\[A=\begin{pmatrix} x \\ y \\ \end{pmatrix}\\A^T=\begin{pmatrix} x , y \\ \end{pmatrix}\\||A||=\sqrt{x^2+y^2} \]

  • 向量的转置
  • X和Y可以是任何(通常是正交单位)向量

向量的加法Vector Addition


向量乘法Vector Multiplication


1.点乘dot product

\[\vec{a}\cdot\vec{b}=||\vec{a}||||\vec{b}||cos\theta \]

\[cos\theta=\frac{\vec{a}\cdot\vec{b}}{||\vec{a}||||\vec{b}||} \]

\[cos\theta=\hat{a}\cdot\hat{b} \]

点乘属性

\[\vec{a} ·~\vec{b} = ~\vec{b} · ~\vec{a} \]

\[\vec{a} · (\vec{b} + \vec{~c}) = \vec{~a} ·\vec{~b} + \vec{~a} ·\vec{~c} \]

\[(k\vec{~a}) ·\vec{~b} = \vec{~a} · (k\vec{~b}) = k(\vec{~a} ·\vec{~b}) \]

笛卡尔座标系下的点乘

-in 2D

\[\vec{a} ·~\vec{b} =\begin{pmatrix} x_a \\ y_a \\ \end{pmatrix}\cdot\begin{pmatrix} x_b \\ y_b \\ \end{pmatrix}=x_ax_b+y_ay_b \]

-in 3D

\[\vec{a} ·~\vec{b} ·~\vec{c} =\begin{pmatrix} x_a \\ y_a \\z_a \end{pmatrix}\cdot\begin{pmatrix} x_b \\ y_b \\ z_b\end{pmatrix}=x_ax_b+y_ay_b+z_az_b \]

图形学中的点乘
  • 获取两个向量的夹角
  • 获取一个向量在另一个向量上的投影

图中\(\vec{b_\bot}\)是\(\vec{b}\)在\(\vec{a}\)上的投影

\[\vec{b_\bot}=k\hat{a} \]

\[k=||\vec{b_\bot}||=||\vec{b}||cos\theta \]

  • 判断两个向量的方向接近情况

附上\(cos\theta\)的变化图

  • 由上图可知 \(\vec{a}\cdot\vec{b}\)的值是根据\(cos\theta\)的正负相关的,在第一和第四象限是正值,第二第三象限是负值。
  • 所以两个向量点乘结果为负,说明两个向量的夹角>90(用来判断目标在角色身前还是身后)

2.叉乘Cross product

  • 叉乘结果向量c与两个初始向量a,b正交
  • c的方向定义为垂直于ab所构成的平面,并且abc构成右手螺旋定则,也就是右手四指方向从a转向b,大拇指即得到c方向
  • 常用于生成座标系
  • c的模即以ab为两条边的平行四边形的面积
叉乘属性
笛卡尔座标系下的叉乘

相关证明流程

\[\vec{a}\times\vec{b}=\begin{pmatrix} y_az_b-y_bz_a \\ z_ax_b-x_az_b \\x_ay_b-y_ax_b \end{pmatrix} \]

图形学中的叉乘
  • 用来判断左右
  • 用来判断点在三角形的内侧/外侧
  • 假如点P在三角形的内部需要满足\(\vec{AB}\times\vec{AP}>0\)、\(\vec{BC}\times\vec{BP}>0\)、\(\vec{CA}\times\vec{CP}>0\)
  • 如果点p在某一条边上,那么该边上的叉乘结果就会是0(两个共线向量的叉乘结果为0)
  • 如果有任何一个结果为负,那么p在三角形外

二、矩阵


矩阵乘法

  • 矩阵A乘以矩阵B,需要满足条件矩阵A的列数=矩阵B的行数(M x N) (N x P) = (M x P)
  • 将向量视为列矩阵
例题

第一个?=1x6+3x7=27,第二个?=0x4+4x3=12

矩阵乘法属性

  • 不满足交互律,即\(AB\neq BA\)(B的列数不一定等于A的行数)
  • 满足分配律和结合律
    • \((AB)C=A(BC)\)
    • \(A(B+C)=AB+AC\)
    • \((A+B)C=AB+AC\)

矩阵转置

\(\begin{pmatrix}1&2 \\ 3&4 \\5&6 \end{pmatrix}^\top=\begin{pmatrix}1&3&5 \\ 2&4&6 \end{pmatrix}\)

  • 属性

\[(AB)^\top=B^\top A^\top \]

  • 单位矩阵

\[I_{3\times3}=\begin{pmatrix}1&0&0 \\ 0&1&0 \\0&0&1\end{pmatrix} \]

  • A矩阵乘以A的逆矩阵,如果结果为单位矩阵,则称两者互逆。

\[AA^{-1}=A^{-1}A=I \]

  • AB乘积的逆,跟转置类似

\[(AB)^{-1}=B^{-1}A^{-1} \]

向量的点乘叉乘用矩阵来表示

  • 点乘

\[\vec{a}\cdot\vec{b}=\vec{a}^{T}\vec{b}=\begin{pmatrix}x_a&y_a&z_a \end{pmatrix}\begin{pmatrix}x_b\\y_b\\z_b \end{pmatrix}=(x_ax_b+y_ay_b+z_az_b) \]

  • 叉乘

\[\vec{a}\times\vec{b}=A*\vec{b}=\begin{pmatrix}0&-z_a&y_a\\z_a&0&-x_a\\-y_a&x_a&0 \end{pmatrix}\begin{pmatrix}x_b\\y_b\\z_b \end{pmatrix} \]

标签:begin,end,矩阵,基础,线性代数,pmatrix,vec,向量
From: https://www.cnblogs.com/oOLzYOo/p/17519148.html

相关文章

  • day06 6.1 Java基础
    day066.1Java基础【一】Python和Java中的字节与字符串的关系【1】Java中字节数组与字符串之间的转换关系字节数组的创建方式一importjava.lang.reflect.Array;importjava.util.Arrays;publicclassDemo01{publicstaticvoidmain(String[]args){//......
  • 网络安全 | 密码基础知识介绍
    概述密码介绍安全问题保密性:对发送的消息进行获取完整性:对发送的消息进行篡改身份伪造:对发送的主体身份进行篡改,a发的消息,篡改为b发的行为抵赖:对发送的消息进行否认,丧失行为的可追溯性密码技术保密性完整性真实性不可否认性密码发展史密码起源:狼烟、虎符,基于“密语”古典密码:凯撒密......
  • Linux Shell基础知识
    预计更新1:基础知识简介和安装基本命令变量和环境变量2:流程控制条件语句循环语句函数3:文件处理文件读写文件权限和所有权文件搜索和替换4:网络和进程网络通信进程管理信号处理5:文本处理正则表达式文本分析和处理生成报告和日志6:用户界面命令行参数和选......
  • Java基础复习——常用类String
    Java常用类StringString类简介String对象用于保存字符串,也就是一组字符序列字符串常量对象是用双引号括起来的字符序列,例如:"你好","12.3","boy"等字符串的字符使用Unicode字符编码,一个字符(不区分汉字还是字母)占两个字节String类较常见的构造方法Strings1=......
  • Java基础复习——接口
    接口(interface)什么是接口?接口主要用来描述类具有什么功能,而并不给出每个功能的具体实现。接口不是类,是对类的一组需求描述,这些类就是遵从接口描述的统一格式进行定义。定义接口定义接口的关键字:interface接口与类的关系:实现关系(implements)继承是“isa”的关系,而接......
  • Java基础复习——枚举类
    枚举类假设要创建一个季节(Season)对象classSeason{privateStringname;privateStringdesc;//描述 //构造器//get//...}思考?季节只有四个,是固定的四个对象创建的Season对象有如下特点季节是有限的四个值只读,不需要修改代码实现如下:public......
  • Java基础复习——内部类
    内部类什么是内部类?一个类中又完整的嵌套了另一个类结构。被嵌套的类称为内部类(innerclass),嵌套其他类的类称为外部类(outerclass)。内部类的最大特点:可以直接访问私有属性,并且可以体现类与类之间的包含关系。为什么使用内部类内部类方法可以访问该类定义所在的作用域中的......
  • Java基础复习——注解
    注解(Annotation)什么是注解?插入到源码中用于某种工具处理的标签。注解(Annotation)也被称为元数据(Metadata),用于修饰解释包、类、方法、属性、构造器、局部变量等数据信息。在Java中,注解是当作一个修饰符来使用的,它被置于备注解项之前,中间没有分号每一个注解的名称前面......
  • Java基础语法
    Java语法快速入门1.1程序的入口#java程序入口为类中的static的viod的main函数,参数固定为字符串数组publicstaticvoidmain(String[]args){System.out.println("helloworld");}1.2文件名#一个文件中最多只能有一个public类且【文件名】必须和【public类名......
  • 【零基础学习C++】如何写一个C++类?
    个人主页:【......