平移矩阵中的数学思考

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

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

相关推荐
GISer_Jing9 小时前
Three.js渲染架构:从WebGL到WebGPU的演进
javascript·架构·webgl
5201-9 小时前
Cube MatMul:为什么矩阵乘法选了 Cube 而不是 Vector
pytorch·python·矩阵
都在酒里9 小时前
STM32矩阵按键详解——4×4行列扫描与非阻塞消抖(硬件总结六)
stm32·嵌入式硬件·矩阵
救救孩子把11 小时前
66-机器学习与大模型开发数学教程-6-2 矩阵运算的数值误差分析
人工智能·机器学习·矩阵
吃好睡好便好11 小时前
创建全0矩阵和全1矩阵
开发语言·学习·线性代数·算法·matlab·信息可视化·矩阵
加成BUFF14 小时前
MATLAB 基础命令合集:从入门到精通(环境、变量、矩阵、绘图全解析)
数据结构·matlab·矩阵
吃好睡好便好14 小时前
创建随机矩阵
开发语言·人工智能·线性代数·算法·matlab·矩阵
吃好睡好便好15 小时前
用直接输入的方式创建矩阵
开发语言·人工智能·学习·线性代数·算法·matlab·矩阵
oo哦哦1 天前
2026年多平台内容管理系统技术选型:从架构设计到工程落地
人工智能·线性代数·矩阵