计算机图形学基础学习笔记-其一:向量与线性代数

  • 前言
  • 计算机图形学概述
  • 向量(矢量)
  • 点乘
  • 叉乘
    • 点乘,叉乘与直角坐标系
  • 矩阵

前言

GAMES101现代计算机图形学入门的学习笔记
正在为TA实习攒作品,把基础学科再从头到尾捋一遍
课程地址:GAMES101-现代计算机图形学入门-闫令琪.
大量引用了课件内容,如有侵权请联系我删除或者重新编辑
课件地址:GAMES101: 现代计算机图形学入门.
感谢闫令琪大佬的无私分享 让我有了自学的方向orz
顺便安利一个很好用的笔记软件:Trilium,在github上直接搜索可以下载

计算机图形学概述

光栅化
把三维空间的几何形体显示在屏幕上。实时计算机图形学的主要应用。

MODEL:描述三维中几何的形体,对于渲染来说是描述材质或光照。计算机图形学
计算机视觉:从一张图识别各种模型,分析图象。

建议语言:C++
使用集成开发环境:IDE
涉及到的基础学科:物理-光学和力学,线性代数和向量,积分,美学。

向量(矢量)

从A指向B
AB之间的相对位置
属性:方向,长度

向量的值

向量相加:平行四边形法则和三角形法则


点乘



向量点乘的结果:一个数

直角坐标系/笛卡尔坐标系中的点乘 :

向量的投影:


图中,ab向前,c向后。ab点乘>0,ac点乘<0。点乘告诉了我们方向性:基本一致/基本相反/垂直
方向趋于一致的两个向量之间,cosθ越接近1,两个向量越靠近,越接近0,两个向量越远离
点乘的应用:
在图形学中找到两个向量/方向之间的夹角 或者说余弦夹角
光照模型中,计算光的角度以及物体表面的法线
计算一个向量到另一个向量的投影
判断向量之间的方向性

叉乘

向量的叉乘:结果向量与两个参与运算向量的方向都垂直,和这两个向量一定不在一个平面内

向量叉乘的结果:一个向量

右手螺旋定则:用来判断叉乘结果的方向。四指指向a向量到b向量的方向,大拇指指向叉乘结果的方向

叉乘并不满足交换律。如果要交换两个向量,必须要加上一个负号
公式:


应用:判断P点是否在三角形内部:使用叉乘右手定则,P点一直在三条边的左边或者都在三条边的右边,则P点在三角形内部

叉乘的应用:
建立三维空间中的直角坐标系
判定左和右
判定内与外

点乘,叉乘与直角坐标系

矩阵

x行x列矩阵

矩阵相乘:

第一个矩阵的列数必须等于第二个矩阵的行数才能相乘


矩阵相乘不符合交换律,但符合结合律和分配律


矩阵可以与列向量相乘

按Y轴进行对称操作:


矩阵的转置:行和列互换

性质:两个矩阵相乘再转置变成两个矩阵转置再相乘时,要交换位置


**单位矩阵(对角阵):**只有对角线上有非零的元素

单位矩阵也分维度和大小

一个矩阵乘它的逆矩阵=单位矩阵

性质:两个矩阵相乘再变为逆矩阵变成两个矩阵变为逆矩阵再相乘时,要交换位置


向量的点乘和叉乘都可以写成矩阵形式

计算机图形学基础学习笔记-其一:向量与线性代数相关推荐

  1. 图形学基础 | 计算机图形学MOOC学习笔记

    计算机图形学 学习笔记 视频链接 http://www.icourse163.org/learn/CAU-45006?tid=1001746004#/learn/announce 补充一下一些图形学基 ...

  2. 《计算机图形学》学习笔记(二)

    图形显示设备 图形输出包括推行的显示和图形的绘制 图形显示指的是在屏幕上输出图形 图形绘制通常是指把图形画在纸上,也称硬拷贝,打印机和绘图仪是两种最常用的硬拷贝设备. 阴极射线管(CRT Cathod ...

  3. 计算机编程基础学习笔记之-1.计算机组成原理

    文章目录 思维导图 1.计算机组成原理 总览 1.计算机体系与结构 1.1 冯诺依曼体系 1.2 冯诺依曼瓶颈 1.3 现代计算机结构体系 2.计算机的层次与编程语言 2.1 程序翻译VS解释 程序翻 ...

  4. 【计算机图形学基础】学习笔记 02 图形系统

    [计算机图形学基础]学习笔记 02 图形系统 一张图概括基本内容. 思维导图 References [1] 徐文鹏, 都伟冰, 等.计算机图形学基础:OpenGL版(第二版)[M].北京:清华大学出版 ...

  5. 计算机图形学基础笔记(1)

    本文用来记录<计算机图形学基础>的学习笔记,陆枫.何云峰著. 第一章 绪论 1.1 相关概念 计算机图形学的研究对象是图形 图形要素包括几何要素和非几何要素 表示图形的方法主要有点阵法和参 ...

  6. UE5 Shader基础学习笔记——01-12 图形管线/创建shader/数学节点/贴图压缩/LerpDotUV/常用向量/坐标空间/MinMaxClampSaturate/法线贴图混合

    UE5 Shader基础学习笔记--01-12 图形管线/创建shader/数学节点/贴图压缩/LerpDotUV/常用向量/坐标空间/MinMaxClampSaturate/法线贴图混合 Lec01 ...

  7. 北京大学计算机801,【盛世清北】2021北京大学801计算机专业基础考研笔记

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 盛世清北分享: 在北大考研复习过程中,做笔记是非常重要的一部分,做笔记可以把整个考研复习的内容提炼出来,做到重点突出,让你的思路更有条理更加轻松的记忆知识 ...

  8. guido正式发布python年份_Python 基础学习笔记.docx

    Python 基础学习笔记 基于<Python语言程序设计基础(第2版)> 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备, ...

  9. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...

最新文章

  1. 管理-Tomcat和Resin如何配置对指定后缀文件(如:.pptx)下载支持
  2. easyui datagrid 返回数据正确 fit='true' 时不显示内容
  3. 表单的增 删 改 查
  4. LinkedList总结+数组栈Stack
  5. P2598-狼和羊的故事【最大流,最小割】
  6. 【渝粤教育】电大中专电商运营实操作业 题库
  7. 明天一定要记得放一个硬币在口袋
  8. L2-1 包装机 (25 分)
  9. phalapi可以依赖注入么_phalapi-进阶篇8(PhalApi能带来什么和进阶篇总结)
  10. 优雅的校验参数-javax.validation
  11. 图像超分辨率重构(一)原理及方法总结
  12. 【语音处理】基于matlab GUI语音时域频域频谱图分析【含Matlab源码 527期】
  13. 2021保研夏令营—中科院计算所,自动化所,上海交大计算机
  14. Chrome浏览器常用快捷键总结
  15. 【YBT2023寒假Day10 B】随机游走(记忆化搜索)
  16. cpp c++ 11/14/17
  17. excel数据透视表_Excel数据透视表排序问题
  18. 两台主机的vmware虚拟机相互连通
  19. 【bugfix】遇到一个conda 报错CondaValueError: prefix already exists (conda:4.8.1)
  20. 美女排名 (15分)

热门文章

  1. Vue 里,多级菜单要如何设计才显得专业?
  2. 乙酰六肽-49/Delisens/Acetyl Hexapeptide-49
  3. 高速相机在企业生产领域的应用效果
  4. 在windows上配置elasticsearch和river-mongodb插件
  5. matlab潮高,用MATLAB的T_TIDE程序进行包含误差估计的经典潮汐调和分析.pdf
  6. 生产打印机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  7. Clion 打包exe无法运行 且 cmd窗口中文乱码
  8. Ubuntu 该怎么读?
  9. 项目一 8 购销合同管理,mybatis的逆向生成工具
  10. 浅谈表面反射——波动光学篇