games101 学习笔记02

三维旋转后平移

注意为先旋转后平移,因为写开为旋转后的坐标加上tx,ty,tz。

绕x,y,z轴旋转

注意绕y方向的旋转矩阵不一样,因为逆时针和右手系,x轴对应的是yoz平面,z轴对应的是xoz平面,而y轴对应的是zox平面。

绕任意轴旋转

R x y z ( α , β , γ ) = R x ( α ) R y ( β ) R z ( γ ) R_{xyz}(\alpha,\beta,\gamma) = R_{x}(\alpha)R_{y}(\beta)R_{z}(\gamma) Rxyz(α,β,γ)=Rx(α)Ry(β)Rz(γ)

轴过原点,复杂旋转为三个旋转的乘积。 α , β , γ \alpha,\beta,\gamma α,β,γ也被称为欧拉角。如果为不在原点的轴,需要先平移到原点,做旋转,再做平移的逆变换。

观测变换(view/camera)

需要相机位置、朝向和向上朝向的向量来唯一确定相机位置。为了运算方便,把相机固定在原点,朝向-z方向,朝上为y方向。

假设原始位置为 e e e,朝向为 g g g,向上方向为 t t t

  • 移动到原点
  • 旋转g到-z
  • 旋转t到Y
  • 旋转(g x t)到X

image-20220211122343513

旋转矩阵为三个矩阵的乘积,可以通过待定系数法求得,可以通过单位向量验证其正确性。

正交投影

  • 将长方体平移并且缩放到规范正方体 [ − 1 , 1 ] 3 [-1,1]^3 [1,1]3,因为相机在原点(可视区域为规范正方体),然后直接抛弃掉z坐标即可。

image-20220211135308371

数学表达式如上图。

透视投影

M 透 视 = M 正 交 M 挤 压 矩 阵 M_{透视} = M_{正交}M_{挤压矩阵} M=MM

image-20220211181044117

image-20220211181136459

image-20220211181159580

通过近平面上的点投影不变,远处的中心点投影不变可列方程。

image-20220211181212837

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值