计算机图形学入门(一)-线性代数部分知识1
本部分主要介绍了向量的点乘与叉乘在图形学中的基本应用,介绍了图形学中常用的2D矩阵变换,例如缩放、对称、切变换、旋转、平移、逆变换、组合变换和分解变换。还有在图形学中为了简化操作而采取的添加维度的方法。
主要的学习过程来自下面的视频,本文只会有主要的基础内容,默认一些知识大家是掌握的,该精简的地方一定会精简。原视频非常好,我会在文章中插入视频的具体节点位置,更详细的内容可以观看原视频,教程网站上有课件和作业。个人也会在后续的学习过程中不断的向文章做补充,有问题大家可以在评论区探讨。文章的最后有一些小问题可以尝试回答,有些问题比较重要。
GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibiliwww.bilibili.com/video/BV1X7411F744?p=2&share_source=copy_web正在上传…重新上传取消https://link.zhihu.com/?target=https%3A//www.bilibili.com/video/BV1X7411F744%3Fp%3D2%26share_source%3Dcopy_web
目录
向量
点乘(dot product)在图形学中的应用
叉乘(cross product)在图形学中的应用
矩阵
2D矩阵变换
问题小测试
向量
向量的定义、加减、模、点乘、叉乘的计算等概念。视频位置02-07:48。其实向量部分知道在什么地方用、怎么用就足够了。
点乘(dot product)在图形学中的应用
基本上都是高中常用知识,就只总结下应用。
1.找俩向量的夹角、找一个向量在另一个向量上的投影。视频位置02-21:49
2.判断垂直、判断向前还是向后。本质上就是求夹角,但特别常用。视频位置02-26:11
3.分解向量。本质是找投影。视频位置02-24:56
叉乘(cross product)在图形学中的应用
叉乘注意一点就是看是左手还是右手坐标系,原视频都是右手。视频位置02-30:15
1.用两个给定的坐标轴生成第三个坐标轴。
例子:摄像机(观察者)坐标系中就以面朝方向为-Z轴,向上为Y,来建立了坐标系。
另一常用例子:求法线。知道一个方向的微分,逆时针旋转90度就得到法线。视频位置P10-22:43
2.判断左右。
如在平面xoy上的两向量,通过叉乘结果看Z的正负就能判断。
3.判断内外。最常用,随处可见。视频位置02-39:00
一定要收尾相连的向量去和与P形成的向量叉乘得到向量,都是同向说明点在三角形内
矩阵
矩阵的基本运算,一些性质。
2D矩阵变换
视频位置03-06:18
1.缩放变换
2.对称变换
3.切变换
切变换
4.旋转(注意事项,只要使用旋转变换矩阵一定是围着原点,切逆时针为正方向)
旋转矩阵
以上的几种都是线性变换。视频位置03-23:51
线性变换的形式
5.平移变换不是线性变换。视频位置03-26:22
tx,ty为平移变换
但这样的形式后面总是带着尾巴,对于运算过程很麻烦,我们并不想让平移变换变成一种特例。因此我们引入一个新的维度来简化过程。
我们让2D的点变为变为 ,2D的向量变为 。至于为什么这么变化,并不是经过复杂的数学过程推导出来的,就一个原因,好用且没错。视频位置03-32:30。
点经过平移后,位置正确。向量经过平移后应该没有变化。
6.逆变换
a经过M变换到b,b经过 (M的逆变换)得到a。
7.组合变换
a先经过X变换到b,b经过Y变换到c,c经过Z变换到d d=Ma(M=ZYX)
8.分解变换
先逆时针旋转45度,再向右平移,实际上有无穷多的方法可以达到
问题小测试
1.一个向量与自己点乘结果是什么,叉乘呢?
2.摄像机(观察者)坐标系中就以面朝方向为什么是-Z轴而不是Z轴呢?向上为Y,右手坐标系下X轴方向是哪里?
3. 如果有旋转变换 ,那么 怎么得出来的,提示可以将-θ代入,这是直接求旋转逆变换的方法。
3.表示2D的点(3,3,1)和(9,9,3)是一个点吗?
4.在经过将2D的点或向量添加一个维度(1和0)后。向量加向量是__?点减点是___? 点加向量是___?点加点是___?
5. 矩阵部分7.组合变换中,怎么从d变换到a,即求 。
6.如果想让一个并不靠近原点的物体围着自己的中心旋转,用分解变换怎么实现。
7.2D矩阵变换的7种类型,3D变换都能用吗?
下一部分
计算机图形学入门(二)-线性代数部分知识2视图变换和投影变换_酷月千里的博客-CSDN博客https://blog.csdn.net/weixin_45314475/article/details/121736622?spm=1001.2014.3001.5501总目录
计算机图形学入门(总目录)_酷月千里的博客-CSDN博客https://blog.csdn.net/weixin_45314475/article/details/121876845?spm=1001.2014.3001.5502
计算机图形学入门(一)-线性代数部分知识1相关推荐
- 计算机图形学入门(二)-线性代数部分知识2视图变换和投影变换
本章主要进行了视图/相机变换的求解,和两种投影变换的求解(正交投影.透视投影),并且简单的完善了3D旋转变换的介绍. 主要的学习过程来自下面的视频,本文只会有主要的基础内容,默认一些知识大家是掌握的, ...
- 计算机图形学入门-线性代数复习
本专栏内容整理了GAMES101的计算机图形学课程的主要内容,作为我学习计算机图形学的一份复习备份或叫做笔记.内容中如有错误,或有其他建议,欢迎大家指出. 附上GAMES101计算机图形学课程:GAM ...
- Games101计算机图形学入门基础之一:向量变换、矩阵变换、视图变换、欧拉角与四元数
Games101计算机图形学入门基础之一:向量变换.矩阵变换.齐次坐标.欧拉角与四元数 目录 Games101计算机图形学入门基础之一:向量变换.矩阵变换.齐次坐标.欧拉角与四元数 前言 向量 向量加 ...
- Games101计算机图形学入门基础之二:光栅化
Games101计算机图形学入门基础之二:光栅化 引言 三角形的离散化 采样 走样 走样带来的瑕疵 反走样 先模糊再采样 傅里叶变换 低通滤波 卷积 多重采样抗锯齿(超采样) 深度缓存 可见性与遮挡( ...
- GAMES101-现代计算机图形学入门-闫令琪——Lecture 05 Rasterization 1 (Triangles)
GAMES101-现代计算机图形学入门-闫令琪--Lecture 05 Rasterization 1 (Triangles) 目录 GAMES101-现代计算机图形学入门-闫令琪--Lecture ...
- OpenGl计算机图形学入门
OpenGl计算机图形学入门 前言 一.OpenGl及GLSL 二.语言 1.C++及C++应用程序 (1)C++ (2)C++应用程序 三.库 1.GLFW 窗口管理库 2.GLEW 扩展库 3.G ...
- 对计算机图形学知识总结第二版,计算机图形学入门总结!
图形学实验在百度网盘. 1. Why study transformation 1.1 Modeling translation (平移) rotation(旋转) scaling (缩放) proj ...
- 计算机图形学用到哪些概率知识,图形学所需的数学知识
图形学所需的数学知识 "学习计算机图形学需要多少的数学?"这是初学者最经常问的问题.答案取决于你想在计算机图形学领域钻研多深.如果仅仅使用周围唾手可得的图形软件,你不需要知道多少数 ...
- 计算机图形学入门(GAMES101)总结01
这几天在看闫令琪老师的图形学入门课程,感觉讲得太好了!! 因此记录一下所写的知识,方便后面复习使用. 00 计算机图形学介绍 主要介绍了图形学有关的领域,例如:游戏,电影,动画,设计,可视化,VR(虚 ...
最新文章
- linux 环境配置 安装jdk
- 2020 年了,深度学习接下来到底该怎么走?
- 解释器模式(Interpreter)
- java swing图形界面开发 java.swing简介
- GDB调试:观察点(数据断点)【GDB调试】
- 多线程存数据mysql_java 多线程存储数据库
- python修改xpath节点_Xpath python在特定文本后查找节点
- 12家无人驾驶公司新进展:驾照怕白考了!
- shell mysql awk_shell mysql 处理数据小结
- Android上传文件至服务器
- swig-python初试
- 【2019JXCPC省赛:H】Rng(找规律+逆元)
- plsql development 注册码
- 什么水平才能任教清华计算机系?
- graphic头文件函数_C语言图形函数库总结graphics.h
- 蓝桥杯每日一练----字符串逆序
- linux如何删除多余引导
- Running “flutter pub get“ in xxx... 报错: Git error 443
- 利用ffmpeg将m3u8下载成mp4(利用ps1脚本解析json批量下载)
- github网站扩展增强