深入浅出WEBGL – 02 – 线性变换

本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!

本文发布在专栏 深入浅出webgl 中, 点击查看目录

如没有看过上一章: 深入浅出WEBGL – 01 – 点、向量、矩阵 建议查看

下面的公式一点都不难, 希望能看进去。而不是 收藏 = 会了 … 虽然我知道没有什么人收藏… 啊不…应该是都没什么人看…

点的运动 – 向量

首先我们来说明一下点的运动这件事情。

在某坐标系下的点和向量都可以用一个竖着写的[xyz] \left[ \begin{matrix}x \\ y \\ z\end{matrix} \right] 去表示,当然二维点或向量是[xy] \left[ \begin{matrix}x \\ y \end{matrix} \right] 去表示的。向量表示的是一个点的运动方向的,所以一个向量是具有长度和方向的。而点的坐标仅仅表示在某个坐标系下一个具体的位置。


怎么理解向量是点的运动呢? 这里我们回顾一下上篇文章中的一些运算:

  1. p~\tilde p + v\vec v

这代表这个点沿着这个向量的方向移动, 移动距离为向量的长度, 例如:

[11] \left[ \begin{matrix}1 \\ 1 \end{matrix} \right] + 向量 [21] \left[ \begin{matrix}2 \\ 1 \end{matrix} \right] 得到的是点[32] \left[ \begin{matrix}3 \\ 2 \end{matrix} \right]

  1. p~1\tilde p_1p~2\tilde p_2

这个结果得到的是一个向量, 向量的方向是从2点_2指向1点_1

  1. v1\vec v_1 + v2\vec v_2

得到的结果是一个新的向量, 即两个代表点运动的向量相加得到了全新的一个代表点运动的向量, 新向量的运动结果跟之前两个向量代表的运动结果的叠加是相同的:

  1. 向量的点积

向量的点积公式:

v1v2=v1v2cos(θ)\vec v_1·\vec v_2 = ||\vec v_1|| * ||\vec v_2|| * cos(\theta)

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享