平移矩阵中的数学思考

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

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

相关推荐
Deepcong1 天前
多个摄像机画面融合:找到同一个目标在多个画面中的伪三维坐标,找出这几个摄像头间的转换矩阵
人工智能·线性代数·矩阵
皮皮陶1 天前
Unity WebGL交互通信
unity·交互·webgl
雷达学弱狗2 天前
右旋圆极化散射后的stocks矢量 与T3矩阵的关系
线性代数·矩阵
不穿铠甲的穿山甲2 天前
glsl中vec4是行矩阵还是列矩阵
线性代数·矩阵
HP-Patience2 天前
【Word2Vec】传统词嵌入矩阵训练方法
人工智能·矩阵·word2vec
哈市雪花2 天前
图形几何之美系列:仿射变换矩阵之先转后偏
线性代数·矩阵·空间变换·先转后偏·矩阵推导
哈市雪花2 天前
图形几何之美系列:仿射变换矩阵之Y-Up和Z-Up
线性代数·矩阵·转换·空间变换·y up·z up
平头哥在等你2 天前
求一个3*3矩阵对角线元素之和
c语言·线性代数·算法·矩阵
彭彭不吃虫子3 天前
将一个二维矩阵,螺旋遍历展开为一维列表
线性代数·算法·矩阵
yangmc043 天前
二维前缀和 子矩阵的和
c语言·数据结构·c++·git·算法·矩阵·图论