【WebGPU学习杂记】数学基础拾遗(2)变换矩阵中的齐次坐标推导与几何理解

今天打算开始 3D 数学基础的复习,本文假设你了解以下概念:一次多项式、矩阵、向量 ,基于以上拓展的概念 归一化、2~3阶矩阵的几何意义。

几何意义结论

  • 齐次坐标是对三维的人工的特定的 升维,它是一个工具 而已。图形学中常用来作为变换矩阵(平移、斜切、旋转、缩放)中的平移 。因为平移 是一个仿射变换(另外三项人家不管怎么变都没有改变原点O(0,0)原点O(0, 0)原点O(0,0)的位置)。直接在三维中不好求解,升维后非常 "便于计算"。
  • 通常假设经过变换矩阵 后的点为 (x′,y′,z′,1)(x',y',z',1)(x′,y′,z′,1),也就是固定维度w=1w = 1w=1 的三维空间。类比理解三维空间中固定其中一个维度的数值,其意义就是一个平面,例如固定ZZZ后就能得到无数的点(x,y,z)→(x,y)(x,y,z)\rightarrow(x,y)(x,y,z)→(x,y)构成的平面OXY平面OXY平面OXY,而这个动作叫 "投影" ------ 高维度向低维度的投影。我们不必关心高维如何变化什么意义,只需要知道它可以求得我们渴求的变化结果 (x′,y′,z′)(x',y',z')(x′,y′,z′),至于什么 "投影" 概念一边凉快儿去!

(i⃗,j⃗,k⃗,l⃗)=i1j1k1Δxi2j2k2Δyi3j3k3Δzi4j4k41\begin{align*} \begin{pmatrix} \vec{i}, \vec{j}, \vec{k}, \vec{l} \end{pmatrix} &= \begin{bmatrix} i_1 & j_1 & k_1 & \Delta x \\ i_2 & j_2 & k_2 & \Delta y \\ i_3 & j_3 & k_3 & \Delta z \\ i_4 & j_4 & k_4 & 1 \\ \end{bmatrix} \end{align*} (i ,j ,k ,l )= i1i2i3i4j1j2j3j4k1k2k3k4ΔxΔyΔz1

多项式

  • 多元一次方程组(一次多项式)
  • 多项式拓展(w∈Rw \in \Rw∈R)变量,几何意义类比 二维平面、三维立体 相当于**"空间维度升了一维"**,因为我们主动添加了 维度(w)维度(w)维度(w), 即使什么都不考虑吧,那你让它等于几都可以呀,因为你甩出了魔法🪄 0x+0y+0z+1w=R0x + 0y + 0z + 1w = \R0x+0y+0z+1w=R, 然后令(w=1w = 1w=1)这个式子写作 0x+0y+0z+1×(w为1)=10x + 0y + 0z + 1\times(w 为 1) = 10x+0y+0z+1×(w为1)=1

矩阵

😓草稿,很多错误例如(多项式一元方程组) 应为 多元一次方程组---多项式

忽略 页面顶部的"行列式",瞎写的草稿,作者本人已经 6年 没碰线性代数了, 早就忘了什么乱七八糟的概念。只是记得一些 形式化的东西和定义 , 例如 等号两边加同样的东西,等号仍然成立。

相关推荐
坤坤子吖4 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
蒸蒸yyyyzwd5 小时前
后端相关学习笔记。
笔记·学习
旖旎夜光6 小时前
【C++ 基础入门】C++ 多态(上):虚函数、重写、override/final 与抽象类
开发语言·c++·笔记·学习
橙橙笔记8 小时前
QT的学习第四部分
linux·qt·学习·音视频
叼烟扛炮9 小时前
Linux 学习笔记(五十四):内网穿透实战——用 frp 让外网访问你的私人电脑
linux·服务器·网络·笔记·学习
在猴站学算法9 小时前
(《统计学习方法》(第2版) 李航)第2章 感知机算法
学习·算法·机器学习·统计学习
旖旎夜光9 小时前
【C++ 基础入门】C++ 继承(上):概念、切片、隐藏、默认成员函数与友元
c++·笔记·学习
Godspeed Zhao9 小时前
从零开始学AI24——无监督学习之K均值
学习·机器学习
叼烟扛炮9 小时前
[LangChain] 学习笔记(05):提示词模板(Prompt)与少样本注入(Few-Shot)实战
linux·人工智能·笔记·学习·langchain·prompt
kingx310 小时前
Bugku 逆向 MatrixHunter:黑盒 oracle + GF(2) 消元出唯一解
网络安全·矩阵·逆向·ctf