1.线性代数基础


一、向量

AB=BA

  • 向量AB=点B-点A

a^=a||a||

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

A=(xy)AT=(x,y)||A||=x2+y2

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

向量的加法Vector Addition


向量乘法Vector Multiplication


1.点乘dot product

ab=||a||||b||cosθ

cosθ=ab||a||||b||

cosθ=a^b^

点乘属性

a· b= b· a

a·(b+ c)= a· b+ a· c

(k a)· b= a·(k b)=k( a· b)

笛卡尔座标系下的点乘

-in 2D

a· b=(xaya)(xbyb)=xaxb+yayb

-in 3D

a· b· c=(xayaza)(xbybzb)=xaxb+yayb+zazb

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

图中bba上的投影

b=ka^

k=||b||=||b||cosθ

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

附上cosθ的变化图

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

2.叉乘Cross product

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

相关证明流程

a×b=(yazbybzazaxbxazbxaybyaxb)

图形学中的叉乘
  • 用来判断左右
  • 用来判断点在三角形的内侧/外侧
  • 假如点P在三角形的内部需要满足AB×AP>0BC×BP>0CA×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

矩阵乘法属性

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

矩阵转置

(123456)=(135246)

  • 属性

(AB)=BA

  • 单位矩阵

I3×3=(100010001)

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

AA1=A1A=I

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

(AB)1=B1A1

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

  • 点乘

ab=aTb=(xayaza)(xbybzb)=(xaxb+yayb+zazb)

  • 叉乘

a×b=Ab=(0zayaza0xayaxa0)(xbybzb)

posted @   oOLzYOo  阅读(85)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示