真实感渲染:三角函数、向量和矩阵

大家好~本课程为“真实感渲染”的线上课程,从0开始,介绍相关的图形学算法和数学基础,给出详细的数学推导、伪代码和实现代码,最终带领大家开发出基于物理的渲染器

线上课程资料:

本节课录像回放

加QQ群,获得ppt等资料,与群主交流讨论:106047770

本系列文章为线上课程的复盘,每上完一节课就会同步发布对应的文章

本课程系列文章可进入索引查看:
真实感渲染系列文章索引

为什么要学习本课

  • 如何在几何上表示向量的加法?
  • 如何在代数上计算向量的加法?
  • 三角函数、向量、矩阵在图形学中有哪些应用?

主问题:什么是三角函数

  • 对直角三角形而言,下面的三角函数的值分别是多少?
    image

    • sinθ
    • cosθ
    • tanθ
    • cotθ
  • 对任意三角形而言呢?

  • 三角函数在图形学中有哪些应用?

    • 已知三角函数的值后,可以计算出角度:arcsin12=30o
    • 已知直角三角形的一边和一个角度,可以计算另外一边

主问题:什么是向量

  • 用什么符号表示向量?
    image
    答:使用a或者粗体a表示;
    或者用起点和终点表示:AB=BA

  • 向量有什么特性?
    答:具有方向和长度;
    没有绝对的起点;

  • 如何用代数表示向量?
    答:
    image

image

  • 用什么符号表示向量的长度?
    答:a

  • 什么是单位向量?
    答:长度为1的向量

  • 如何计算一个向量的单位向量(向量正交化)?
    答:a^=aa

  • 如何应用单位向量?
    答:用来表示方向,如法线

  • 如何计算向量的加法?

    • 几何上
      答:image

    • 代数上
      答:略

  • 向量的点积的定义是什么?
    答:image

ab=abcosθ

  • 对于两个单位向量,点积是多少?
    答:a^b^=cosθ

  • 点积满足什么运算法则?
    答:image

  • 如何进行点积的代数运算?
    答:image

  • 点积在图形学中有哪些应用?

    • 计算两个向量的夹角
      答:通过“两个单位向量的点积”,得到cosθ,然后就可以得到夹角。这可以应用于计算光源方向和表面法线的夹角
    • 计算一个向量到另一个向量的投影
      答:image
      image
    • 分解一个向量
      答:image
    • 决定向量的前/后关系

    答:image

    如上图所示,如果两个向量都在一个半圆内,则它们属于“前”关系(如a,b);否则,则它们属于“后”关系(如a,c

    如果两个向量点积大于0,则cosθ>0,所以θ[0,π2),它们属于“前”关系;否则,它们属于“后”关系

  • 向量的叉积的定义是什么?
    答:image
    image

  • 叉积满足什么运算法则?
    答:image

  • 如何进行叉积的代数运算?
    答:image

  • 叉积在图形学中有哪些应用?

    • 构建坐标系
      答:image
      右手坐标系:
      image
      如上图所示,通过两个正交的单位向量的叉积来构建坐标系第三维的向量
    • 决定向量的左/右关系
      答:image
      如上图所示,假设a,b在xy平面,如果a×b=+z,则ba的左侧;否则在右侧
    • 判断一个点是否在三角形内
      答:image
      分别判断上图的AB和AP、BC和BP、CA和CP,如果它们叉乘的结果同号,则点在三角形内。

结学

  • 什么是向量?
  • 向量有什么特性?
  • 点积在图形学中有哪些应用?
  • 叉积在图形学中有哪些应用?

主问题:什么是矩阵

  • 在图形学中,矩阵有哪些应用?
    答:用于坐标变换,如位移、旋转、缩放

  • 什么是矩阵?
    答:可以看成是一个包含数字的数组
    image
    image

  • 如何进行矩阵与标量相乘的代数计算?
    答:矩阵的每个元素乘以该标量

  • “矩阵与矩阵”相乘有什么约束?
    答:image

  • 如何进行矩阵与矩阵相乘的代数计算?
    答:image
    乘积中的第(i, j)个元素=第一个矩阵的第i行与第二个矩阵的第j列的点积

  • 矩阵与矩阵相乘满足什么运算法则?
    答:不满足交换律;
    满足结合律和分配律:
    image

  • “矩阵与向量”相乘有什么约束?
    答:矩阵(mxn)乘以向量(nx1)

  • 如何进行矩阵与向量相乘的代数计算?
    image

  • “矩阵与向量相乘”在图形学中有哪些应用?

    • 变换一个点
      答:如将一个点沿y轴镜像变换:
      image
  • 什么是矩阵转置?
    答:image

  • 矩阵转置满足什么运算法则?
    答:image

  • 什么是单位矩阵?
    答:image

  • 什么是逆矩阵?
    答:image

  • 如何用矩阵表示向量的点积?
    答:image

  • 如何用矩阵表示向量的叉积?
    image
    答:
    image

结学

  • 什么是矩阵?
  • “矩阵与向量相乘”在图形学中有哪些应用?

总结

  • 回答开始的问题?

参考资料

posted @   杨元超  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示