交互式计算机图形学总结:第三章 几何对象和变换

第三章 几何对象和变换

  1. 基本概念
    –零向量:长度为零,方向没有定义

    –向量空间:包含向量和标量

    –仿射空间:包含向量、标量、点

    –计算机科学的观点:把向量、标量、点看作抽象数据类型(ADT)

    –凸性:如果对于一个对象中的任意两个点,连接它们的线段上所有的点仍然位于这个对象中,那么这个对象就是凸的

  2. 直线
    –直线的参数形式: P ( α ) = P 0 + α d P(\alpha ) = P_{0} + \alpha d P(α)=P0+αd

  3. 仿射加法
    在这里插入图片描述

  4. 点积和叉积
    –点积
    ( a 1 , a 2 , a 3 ) ⋅ ( b 1 , b 2 , b 3 ) = a 1 b 1 + a 2 b 2 + a 3 b 3 (a_{1}, a_{2}, a_{3})\cdot (b_{1}, b_{2}, b_{3}) = a_{1}b_{1} + a_{2}b_{2} + a_{3}b_{3} (a1,a2,a3)(b1,b2,b3)=a1b1+a2b2+a3b3
    一般有:
    a ⋅ b = ∣ a ∣ ∣ b ∣ cos ⁡ θ a\cdot b = \left |a \right |\left |b \right |\cos \theta ab=abcosθ
    –叉积
    ( a 1 , a 2 , a 3 ) × ( b 1 , b 2 , b 3 ) = ( a 2 b 3 − a 3 b 2 , a 3 b 1 − a 1 b 3 , a 1 b 2 − a 2 b 1 ) (a_{1}, a_{2}, a_{3})\times (b_{1}, b_{2}, b_{3}) = (a_{2}b_{3} -a_{3}b_{2} , a_{3}b_{1} -a_{1}b_{3} , a_{1}b_{2} -a_{2}b_{1} ) (a1,a2,a3)×(b1,b2,b3)=(a2b3a3b2,a3b1a1b3,a1b2a2b1)

  5. 平面

    –线段的参数形式:
    S ( α ) = α P + ( 1 − α ) Q , 0 ≤ α ≤ 1 S(\alpha ) = \alpha P + (1 - \alpha) Q, 0\leq \alpha \leq 1 S(α)=αP+(1α)Q0α1

    –平面的参数形式
    在这里插入图片描述

  6. 变换(Transformation)

    –平移(translation):P’ = P+T, where T is translation vector

    –缩放(scaling):P’ = S*P, where S is a scaling matrix

    –旋转(rotation):P’ = R*P, where R is a rotation matrix
    A)沿X轴旋转的旋转矩阵(不动点为原点)
    在这里插入图片描述
    B)沿Y轴旋转的旋转矩阵(不动点为原点)
    在这里插入图片描述
    C)沿Z轴旋转的旋转矩阵(不动点为原点)
    在这里插入图片描述
    –变换矩阵的逆矩阵
    在这里插入图片描述

  7. OpenGL的变换顺序
    在这里插入图片描述
    –当前变换矩阵(Current Transformation
    Matrix,CTM):CTM是绘制流水线的一部分,因此,如果p是应用程序中定义的一个顶点,那么绘制流水线就会生成Cp
    在这里插入图片描述

    –例子(固定点的旋转)
    在这里插入图片描述

    –OpenGL里的CTM
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值