课程链接:
【GAMES101-现代计算机图形学入门-闫令琪-哔哩哔哩】 https://b23.tv/MpQuGap
本章节为线性代数篇,有利于计算机图形学的线性代数学习笔记。
1:向量。
向量是一个方向。
在原视频中,蜗牛角度的摄像头移动,以及在不同角度下蜗牛壳上的闪烁。
我的观点是看蜗牛的摄像头的移动轨迹是一个环形移动,并在移送的过程中对摄像头加了一个矢量速度。
2:向量的定义:
向量在数学意义中是一个有方向的量。举一个现实的例子来说:当你想向某个方向走的时候,此刻,从第三人称视角来看,你还没动,但你的方向就是你此刻的向量。
在计算机中,从某个位置的终点的位置减去起始位置,正是这段时间你的向量。
重点2:向量的*乘
点乘是第二集中比较重点的一个概念。
具体对应方法有:
两个物理参数的概念相乘,得到一个新的定义,点乘的结果是一个数字。
例子:光线打到镜子上的例子,I=L*N。
L是光的方向向量,N是法线向量。
想象一下,当我们举着手电筒照镜子的时候,我们直接面对镜子,并看着镜子,是不是当我们的手电筒垂直镜子的时候,反射回我们眼睛的强度是最高的。
使用例子:
计算投影,例如我们在现实生活中的影子。
重点:向量的X乘。
具体公式
喜欢记公式的朋友可以简单记一下。
1:右手定则。
伸出我们的右手。在一个三维坐标系中,从X轴到Y轴的旋转方向。让我们的除了大拇指外的四指向X到Y的方向旋转。大拇指的方向就是向量X乘结果的方向。
X乘结果是一个向量!!!,点乘结果是一个数字!!!。
X乘是我们后续学习变换课程的基础。
2:基于右手定则,我们可以计算出X乘向量的方向。
应用例子:
1:计算出一个平面的垂直向量。
因为两个向量就可以构成一个平面,试想一下:你的手掌就是一个平面。
2:
A = (3, 0, 0)
B = (0, 4, 0)
面积 = |A × B| / 2 = 6
有助于我们算出一个三角形及其衍生图形的面积:在我们后续进行光栅化的一个个像素的渲染,有着决定性作用!
博主猜想:渲染的过程便是动态规划+每个像素的两个向量的X乘,得到面积!
3:X的计算法则。
博主先给出自己的见解:多个向量组成一个变换。
比如一个点(1,0)
有一个变换为逆时针旋转90度+向坐标X方向平移1个单位
。如果是先旋转再平移。则坐标将从(1,0)—》(0,1)—》(1,1)。
如果是先平移再旋转,则是从(1,0)—》(2,0)—》(0,2)。
两种变换的结果明显不是一个坐标,所以,X乘中向量的顺序是很重要的。