平移矩阵中的数学思考

《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是方程的一个解!

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

相关推荐
独立开发之道6 小时前
【three.js教程】Three.js 运行时更新:矩阵、几何体、材质怎么改才不卡
javascript·矩阵·材质
船厂电气自动化ai大模型6 小时前
AI大模型与数学/第63课:矩阵定义、矩阵加法、标量乘法(逐级精讲)
数据结构·人工智能·深度学习·线性代数·算法
张宇Joaquin10 小时前
鲲鹏统一并行加速库KUPL--异步数据拷贝
线性代数·算法·矩阵·numpy
独立开发之道15 小时前
【three.js教程】Three.js 矩阵变换:position/quaternion/scale 和 matrix 到底怎么配合
开发语言·javascript·矩阵
小翰生信16 小时前
转录组下游分析全流程:DESeq2 差异分析、GO/KEGG 富集与 GSEA 实战
数据库·矩阵·golang
AI_yangxi1 天前
靠谱的短视频矩阵系统
大数据·人工智能·矩阵
浪里镖客1 天前
位姿转换矩阵写法-个人习惯(计算机理解其实是相反的)
线性代数·算法·矩阵
前端老爷更车1 天前
从 `renderer.render()` 到地面上的阴影:Three.js 阴影渲染全流程源码解析
webgl
张宇Joaquin1 天前
鲲鹏计算平台矩阵乘算子SGEMM优化实践——下篇
线性代数·矩阵
船厂电气自动化ai大模型2 天前
AI大模型与数学第64课:矩阵×向量乘法(神经网络矩阵运算底层)
数据结构·深度学习·线性代数·机器学习·推荐算法