GAMES101-现代计算机图形学学习笔记(04)

GAMES101-现代计算机图形学学习笔记(04)

原课程视频链接以及官网
b站视频链接: link.
课程官网链接: link.

三维变换

定义

根据二维的定义,三维坐标和向量同样可以根据如下公式定义:
3 D 3 D 3D point = ( x , y , z , 1 ) ⊤ =(x, y, z, 1)^{\top} =(x,y,z,1)
3 D 3 D 3D vector = ( x , y , z , 0 ) ⊤ =(x, y, z, 0)^{\top} =(x,y,z,0)
齐次坐标定义如下,本质是先做线性变换再做平移变换
( x ′ y ′ z ′ 1 ) = ( a b c t x d e f t y g h i t z 0 0 0 1 ) ⋅ ( x y z 1 ) \left(\begin{array}{l} x^{\prime} \\ y^{\prime} \\ z^{\prime} \\ 1 \end{array}\right)=\left(\begin{array}{llll} a & b & c & t_{x} \\ d & e & f & t_{y} \\ g & h & i & t_{z} \\ 0 & 0 & 0 & 1 \end{array}\right) \cdot\left(\begin{array}{l} x \\ y \\ z \\ 1 \end{array}\right) xyz1=adg0beh0cfi0txtytz1xyz1

几种变换

缩放

相对于原点缩放矩阵 S S S 为:
S ( s x , s y , s z ) = ( s x 0 0 0 0 s y 0 0 0 0 s z 0 0 0 0 1 ) \mathbf{S}\left(s_{x}, s_{y}, s_{z}\right)=\left(\begin{array}{cccc} s_{x} & 0 & 0 & 0 \\ 0 & s_{y} & 0 & 0 \\ 0 & 0 & s_{z} & 0 \\ 0 & 0 & 0 & 1 \end{array}\right) S(sx,sy,sz)=sx0000sy0000sz00001
相对于某点 p ( x , y , z ) p(x,y,z) p(x,y,z) 的缩放矩阵 S S S 为(先将坐标移到原点,再缩放,再移回,其组合矩阵如下):
[ s x 0 0 0 0 s y 0 0 0 0 s z 0 ( 1 − s x ) x ( 1 − s y ) y ( 1 − s z ) z 1 ] \left[\begin{array}{cccc} s_{x} & 0 & 0 & 0 \\ 0 & s_{y} & 0 & 0 \\ 0 & 0 & s_{z} & 0 \\ \left(1-s_{x}\right) x & \left(1-s_{y}\right) y & \left(1-s_{z}\right) z & 1 \end{array}\right] sx00(1sx)x0sy0(1sy)y00sz(1sz)z0001

平移

平移矩阵 T T T 为:
T ( t x , t y , t z ) = ( 1 0 0 t x 0 1 0 t y 0 0 1 t z 0 0 0 1 ) \mathbf{T}\left(t_{x}, t_{y}, t_{z}\right)=\left(\begin{array}{cccc} 1 & 0 & 0 & t_{x} \\ 0 & 1 & 0 & t_{y} \\ 0 & 0 & 1 & t_{z} \\ 0 & 0 & 0 & 1 \end{array}\right) T(tx,ty,tz)=

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值