GAMES101-lecture 2-学习笔记-2021-07-19

课程链接:GAMES101-现代计算机图形学入门-闫令琪

向量

向量的概念

  • 向量:具有一定大小和方向     a ⃗ \vec{a} a
  • 向量的长度: ∣ ∣ a ⃗ ∣ ∣ \begin{aligned} ||\vec{a}|| \end{aligned} a
  • 单位向量: a ^ = a ⃗ / ∣ ∣ a ⃗ ∣ ∣ \begin{aligned} \hat{a} = \vec{a}/||\vec{a}||\end{aligned} a^=a /a

向量的基本操作

  • 向量的加法:平行四边形法则、三角形法则(代数上直接左标相加即可)
  • 向量表示: A ⃗ = ( x y ⋮ ) A ⃗   T = ( x y ⋯ ) ∣ ∣ A ⃗ ∣ ∣ = x 2 + y 2 + ⋯ \vec{A} = \begin{pmatrix}x \\ y \\ \vdots \\ \end{pmatrix} \\ \vec{A}^{\,T} = \begin{pmatrix}x & y & \cdots \\ \end{pmatrix} \\ ||\vec{A}|| = \sqrt{x^2+y^2+\cdots} A =xyA T=(xy)A =x2+y2+
  • 向量点乘(Dot product): a ⃗ ⋅ b ⃗ = ∣ ∣ a ⃗ ∣ ∣   ∣ ∣ b ⃗ ∣ ∣ c o s θ   c o s θ = a ⃗ ⋅ b ⃗ ∣ ∣ a ⃗ ∣ ∣   ∣ ∣ b ⃗ ∣ ∣   F o r    u n i t    v e c t o r s ( 单 位 向 量 ) : c o s θ = a ^ ⋅ b ^ \vec{a}\cdot\vec{b} = || \vec{a}||\,||\vec{b}|| cos\theta \\ \, \\ cos\theta = \frac{\vec{a}\cdot\vec{b}}{||\vec{a}|| \,||\vec{b}||} \\ \, \\ For\; unit\; vectors(单位向量):cos\theta=\hat{a}\cdot\hat{b} a b =a b cosθcosθ=a b a b Forunitvectors():cosθ=a^b^
           在坐标系中: a ⃗ ⋅ b ⃗ = ( x a y a ⋮ ) ⋅ ( x b y b ⋮ ) = x a x b ⋯ + y a y b ⋯ + ⋯ \vec{a}\cdot\vec{b}=\begin{pmatrix}x_a \\ y_a \\ \vdots \\ \end{pmatrix}\cdot\begin{pmatrix}x_b \\ y_b \\ \vdots \\ \end{pmatrix} = x_ax_b\cdots+y_ay_b\cdots+\cdots a b =xayaxbyb=xaxb+yayb+
           点乘在图形学中主要用于找两个向量间的(余弦)夹角
  • 一些运算法则 a ⃗ ⋅ b ⃗ = b ⃗ ⋅ a ⃗   a ⃗ ⋅ ( b ⃗ + c ⃗ ) = a ⃗ ⋅ b ⃗ + a ⃗ ⋅ c ⃗   ( k a ⃗ ) ⋅ b ⃗ = a ⃗ ⋅ ( k b ⃗ ) = k ( a ⃗ ⋅ b ⃗ ) \vec{a}\cdot\vec{b}=\vec{b}\cdot\vec{a} \\ \, \\ \vec{a}\cdot(\vec{b}+\vec{c})=\vec{a}\cdot\vec{b}+\vec{a}\cdot\vec{c} \\ \, \\ (k\vec{a})\cdot\vec{b}=\vec{a}\cdot(k\vec{b})=k(\vec{a}\cdot\vec{b}) a b =b a a (b +c )=a b +a c (ka )b =a (kb )=k(a b )
  • 投影(projection):下为向量b在向量a上的投影

投影
b ⃗ ⊥ = k a ^ = ∣ ∣ b ⃗ ⊥ ∣ ∣ = ∣ ∣ b ⃗ ∣ ∣ c o s θ   ( b ⃗ − b ⃗ ⊥ ) ⊥ b ⃗ ⊥ \vec{b}_\perp=k\hat{a} = ||\vec{b}_\perp|| = ||\vec{b}||cos\theta \\ \, \\ (\vec{b}-\vec{b}_\perp) \perp \vec{b}_\perp b =ka^=b =b cosθ(b b )b
       投影可将一个向量分解为延某方向和垂直某方向的两个向量,可用于计算两个向量的接近程度,点乘的正负可用于体现某向量是否与另一向量的方向性

  • 叉积(Cross Product):
    1)两向量叉积的结果与这两个向量都垂直
    2)右手法则(右手螺旋定则)
    3)可用于构建坐标系

a ⃗ × b ⃗ = − b ⃗ × a ⃗   ∣ ∣ a ⃗ × b ⃗ ∣ ∣ = ∣ ∣ a ⃗ ∣ ∣   ∣ ∣ b ⃗ ∣ ∣ s i n ϕ \vec{a}\times\vec{b}=-\vec{b}\times\vec{a} \\ \, \\ ||\vec{a}\times\vec{b}|| = ||\vec{a}||\,||\vec{b}||sin\phi a ×b =b ×a a ×b =a b sinϕ

叉乘
       叉乘的计算:
a ⃗ × b ⃗ = ( y a z b − y b z a z a x b − x a z b x a y b − y a x b )   a ⃗ × b ⃗ = A ∗ b = ( 0 − z a y a z a 0 − x a − y a x a 0 ) ( x b y b z b ) \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} \\ \, \\\vec{a}\times\vec{b}=A^*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} a ×b =yazbybzazaxbxazbxaybyaxba ×b =Ab=0zayaza0xayaxa0xbybzb
       其中 A ∗ A^* A为向量 a ⃗ \vec{a} a 的对偶矩阵
       叉乘在计算机图形学中的作用:
              1)判断左和右
              2)判断内和外 (光栅化的基础)

  • 一个坐标系的定义:
    一个坐标系的定义

矩阵(matrix)

  • 一个m×n矩阵有m行(rows)n列(columns)

  • 矩阵的一些运算
           矩阵乘:需满足前矩阵的列数等于后一个矩阵的行数(M×N)(N×P)=(M×P)
    对 于 A × B , 所 得 矩 阵 中 a i , j = α i ⃗ ⋅ β j ⃗ , 其 中 α i ⃗ 为 A 的 行 向 量 , β j ⃗ 为 B 的 列 向 量 对于A\times B,所得矩阵中a_{i,j}=\vec{\alpha_i}\cdot\vec{\beta_j},其中\vec{\alpha_i}为A的行向量,\vec{\beta_j}为B的列向量 A×B,ai,j=αi βj ,αi Aβj B
           矩阵乘一般不满足交换律,满足结合律和分配律
           即:(AB)C=A(BC)
                  A(B+C)=AB+AC
                  (A+B)C=AC+BC
    对 于 矩 阵 A m × n , 可 与 列 向 量 α m × 1 相 乘 , 可 用 于 变 换 对于矩阵A_{m\times n},可与列向量\alpha_{m\times 1}相乘,可用于变换 Am×n,αm×1
           矩阵转置:
    在这里插入图片描述

  • 单位矩阵、对角矩阵、逆矩阵等概念
    在这里插入图片描述

  • 一些向量操作的矩阵形式
    在这里插入图片描述

作业

链接:作业0
按照该页面要求以及pdf文件配置好虚拟机等即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值