学习3D《1、二维坐标系下的平移旋转缩放》

各位看官,俗话说:火车不是推滴,牛皮不是吹滴。没有扎实的基础知识,再高的摩天大楼也是会倒滴,我们还是一步两个脚印吧^_^

话说当年笛卡尔坐标系创世之初,那场面也是惊天地,泣鬼神,以至于让我们这些小虾米下了一十八层地域。

那么我们就先从二维中的平移开始说起:

平移:

假设M是原点为(0,0)的坐标系,N是原点为(2,2)的坐标系,点P(px,py)是M中的一点,那么点P在N中的坐标P‘是多少呢?

p'x = px - 2;p'y = py - 2;换成矩阵看看:

p'x = |px| + |-2|
p'y = |py| + |-2|

换成齐次坐标[不认识?那这位童鞋就去翻翻书了):]就为:

[p'x]   [ 1 0 tx]   [px]
[p'y] = [ 0 1 ty] * [py]
[ 1 ]   [ 0 0  1]   [1 ],对上面来讲:tx=-2,ty=-2;

旋转:

假设M是原点为(0,0)的坐标系,点p(px,py)绕原点逆时针旋转a度到点p',那么点p'是多少呢?

p'x = px*cosa - py*sina
p'y = px*sina + py*cosa

(问:神马是这样滴捏?答:童鞋,多动动小手,画画图吧!)上面也可用下表示:

[p'x]     [-sina]   [px]
[p'y]  =  [cosa ] * [py]

换成齐次坐标就为:

[x']   [cosa -sina 0]   [x]
[y'] = [sina  cosa 0] * [y]
[1 ]   [0     0    1]   [1]

缩放:

假设M是原点为(0,0)的坐标系,点P(px,py)沿x轴缩放sx,沿y轴缩放sy后的坐标p'是多少呢?

p'x = px * sx
p'y = py * sy,也可写成:

[p'x]   [sx 0]   [px]
[p'y] = [0 sy] * [py]

换成齐次坐标就为:

[x']   [sx  0 0]  [x]
[y'] = [0  sy 0] *[y]
[1 ]   [0  0  1]  [1]

如果对上面还不了解的童鞋,可要加紧study难过
如果明白的童鞋可以尝试下二维的复合哦偷笑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值