平移矩阵中的数学思考

《webgl编程指南》中,"平移矩阵"中相关值的得出

是基于"矩阵和向量相乘所得的等式"与"向量表达式"组成一个方程组

x'=ax+by+cz+d

x'=x+Tx

书中说,根据上面的方程组,可以很容易得出

a=1、b=0、c=0、d=Tx

0、问题来了!

我也确实可以看出,a=1、b=0、c=0、d=Tx,是上述方程组的一个解

但是,我觉得这种方式很不"数学"很不"严谨" !!

也没有用严谨的手段来证明,只有这1个解!!(我这篇文章也没有证明)

下面写出自己的一些思考和推导过程

1、定义和概念:

正确的定义和概念,就可以极大的推进问题的解决

上述方程组中,我觉得有这么几类数据:

|--------|----------|---------------------------------------|
| 类型 | 相关变量 | 备注 |
| "自由"变量 | x、y、z、x' | 可以随意赋值为任何数 |
| 未知常量 | a、b、c、d | 要解出"未知常量" 不是求x、y、z的值 (一般方程是求xyz值) |
| 已知常量 | Tx | 可以当做一个已知常数来对待 |

2、取值互相不约束

上述方程中x、y、z的取值,是互相不限制

(x想取什么值,就取什么值,不需要考虑y或z是什么值)

备注:

下述方程组中,x、y的值就是互相制约和限制(x想取什么值,需要考虑y已经取了什么值)

23x+17y=63

17x+23y=57

3、方案1:

基于1的结论,我可以随便给出x、y、z的值

给出4组值,就会组成4个等式,然后求4个"未知常量"

4、方案2:

因为x、y、z可以取任意值,可以取一个特殊值,比如0

来快速求解出"未知常量"

把上述方程组,改成等式:ax+by+cz+d=x+Tx

**情形A:**x=0;y=0;z=0;

带入等式:0a+0b+0c+d=0+Tx

结果:d=Tx

**情形B:**x=0;y=0;z=1;

带入等式:0a+0b+1c+d=0+Tx

结果:c=Tx-d

因为:Tx=d

所以:c=0

**情形C:**x=0;y=1;z=0;

带入等式:0a+1b+0c+d=0+Tx

结果:b=0

**情形D:**x=1;y=0;z=0;

带入等式:1a+0b+0c+d=1+Tx

结果:a=1

至此:

才算严格的证明了:

a=1、b=0、c=0、d=Tx是方程的一个解!

(数学水平一般,不知道这个推导对不对,欢迎大家指正)

相关推荐
hold?fish:palm14 小时前
19 螺旋矩阵
线性代数·算法·矩阵
echoVic17 小时前
同一个 bug,我在 WebGPU 渲染器里犯了两轮:一帧内多次写同一块 buffer
前端·webgl·图形学
larito17 小时前
图形学基础(面试版)
线性代数·矩阵
青象矩阵解码器2 天前
2026年HDMI矩阵供应商实力对决,谁更胜一筹?
矩阵
SNAKEpc121383 天前
OpenGL(十一)- 变换管线
c语言·c++·算法·矩阵·图形渲染
中年阿甘3 天前
解析式布局-二次线长布局
线性代数·算法·矩阵
xier_ran3 天前
【infra之路】W_Q、W_K、W_V矩阵是如何训练出来的
线性代数·矩阵·transformer
乱七八糟的屋子4 天前
MTL4 (Matrix Template Library) 超详细实战教程|C++高性能稠密/稀疏矩阵计算
c++·矩阵·稀疏矩阵·mtl4·matrixtemplate·c++线性代数·高性能数值计算
用户83134859306984 天前
Vue3+Cesium实现阴天乌云+下雨天气特效
vue.js·webgl·cesium
小趴蔡ha4 天前
03 NumPy 入门:机器学习中的数组和矩阵
python·线性代数·机器学习·numpy