图形转换矩阵的内在原理

图形转换矩阵的内在原理

我们都知道一个点的坐标矩阵左乘一个矩阵就是对这个点进行位置变化的一种转换。

  • 对称矩阵
【】对一个点P(12)移到与起始关于y轴对称的点P'(-12):
	[-1 0,0 1][1,2] = [-1,2]

【】对一个点P(12)移到与起始关于x轴对称的点P'(1-2):
	[1 0,0 -1][1,2] = [1,-2]

即:R(对称)P(x,y) = P(x',y')
  • 镜像矩阵
对一个点P(12)移到与起始关于原点对称的点P'(-1-2):
	[-1 0,0 -1][1,2] = [-1,-2]
	
即:R(镜像)P(x,y) = P(x',y')
  • 水平倾斜(偏移)矩阵
令一矩形ABCD的坐标为:
	A(0,0)B(0,3)C(5,3)D(5,0)。
对该矩形ABCD进行水平倾斜转换:
	[1 a,0 1][0,0] = [0   0]
	[1 a,0 1][0,3] = [3a  3]
	[1 a,0 1][5,3] = [5+3a 3]
	[1 a,0 1][5,0] = [5   0]
对每个点进行转换,按照原序连接起来即是转换后的图形。
x偏移了a个y'。
y无变化。

即:R(水平倾斜)P(x,y) = P(x',y')
  • 纵向倾斜(偏移)矩阵
令一矩形ABCD的坐标为:
	A(0,0)B(0,3)C(5,3)D(5,0)。
对该矩形ABCD进行纵向倾斜转换:
	[1 0,b 1][0,0] = [0    0]
	[1 0,b 1][0,3] = [0    3]
	[1 0,b 1][5,3] = [5 5b+3]
	[1 0,b 1][5,0] = [5   5b]
对每个点进行转换,按照原序连接起来即是转换后的图形。
x无变化。
y偏移了b个x'。

即:R(纵向倾斜)P(x,y) = P(x',y')
  • 缩放矩阵
令一矩形ABCD的坐标为:
	A(1,1)B(1,3)C(5,3)D(5,1)。
对该矩形ABCD进行缩放转换:
	[a 0,0 b][1,1] = [a   b]
	[a 0,0 b][1,3] = [a  3b]
	[a 0,0 b][5,3] = [5a 3b]
	[a 0,0 b][5,1] = [5a  b]
对每个点进行转换,按照原序连接起来即是转换后的图形。
x缩放a倍;y缩放b倍。

即:R(缩放)P(x,y) = P(x',y')
  • 旋转矩阵
令一矩形ABCD的坐标为:
	A(0,0)B(0,3)C(5,3)D(5,0)。
对该矩形ABCD进行缩放转换:
	[cosθ -sinθ,sinθ cosθ][0,0] = [0   0]
	[cosθ -sinθ,sinθ cosθ][0,3] = [-3sinθ  3cosθ]
	[cosθ -sinθ,sinθ cosθ][5,3] = [5cosθ-3sinθ 5sinθ+3cosθ]
	[cosθ -sinθ,sinθ cosθ][5,0] = [5cosθ   5sisθ]
对每个点进行转换,按照原序连接起来即是转换后的图形。
x = x'缩放cosθ倍然后偏移(-sinθ)个y'的量;
y = y'缩放cosθ倍然后偏移(sinθ)个x'的量;

即:R(旋转)P(x,y) = P(x',y')

无论是一维的点还是二维的面,亦或是三维立体,其转换都是对图形的每一个点进行左乘矩阵转换的。
并且无论多复杂的图形转换矩阵,都是以下一系列矩阵合成的。

[-1 0,0 -1]:镜像矩阵
[a  0,0  b]:Scale矩阵
[1  0,0 -1]X轴对称矩阵
[-1 0,0  1]Y轴对称矩阵
[1  a,0  1]:水平倾斜矩阵
[1  0,a  1]:纵向倾斜矩阵
[cosθ -sinθ,sinθ cosθ]:旋转矩阵

重点
通过以上例子可以发现:

  1. 矩阵的对角线系数是沿着坐标轴对我们的对象进行缩放。
  2. 其他位置的系数是对该轴进行在其它轴上的偏移(扭曲)。
  3. 旋转矩阵是以上两条的合成体。
  4. 最基本的转换应该是:伸缩矩阵、倾斜(偏移)矩阵、对称矩阵、镜像矩阵。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值