zoukankan      html  css  js  c++  java
  • transformations 变换集合关系 仿射变换

    http://groups.csail.mit.edu/graphics/classes/6.837/F03/lectures/04_transformations.ppt

    https://groups.csail.mit.edu/graphics/classes/6.837/F03/lectures/

    Maps points (x, y) in one coordinate system to points (x', y') in another coordinate system

    x' = ax + by + c

    y' = dx + ey + f

    For example, IFS:

    Can be combined

    Are these operations invertible?

    Yes, except scale = 0

    恒等 平移 旋转 等比缩放

    可逆,除非等比缩放系数为0

    Classes of Transformations 变换分类

    Rigid Body / Euclidean Transforms 刚体、欧式变换

    Similitudes / Similarity Transforms 相似性变换

    Linear 线性变换

    Affine 放射

    Projective 投影

    保持不变量的对象
    点点之间
    距离
    线线之间
    角度
    平行关系

    保距变换
    保角变换
    平行变换

    Rigid-Body / Euclidean Transforms

    Preserves distances

    Preserves angles

    Rigid / Euclidean

    Translation Identity Rotation

    Similitudes / Similarity Transforms

    Linear Transformations

    L(p + q) = L(p) + L(q)

    L(ap) = a L(p)

    shear 

    vt. 剪;修剪;剥夺

    vi. 剪;剪切;修剪

    切力 切变

    Affine Transformations

    Projective Transformations

    preserves lines

    Representing Transformations 变换的表示

    Combining Transformations 变换的联合

    Change of Orthonormal Basis 改变正交基 

    How are Transforms Represented?

    Homogeneous Coordinates 齐次坐标 

    Add an extra dimension

    in 2D, we use 3 x 3 matrices

    in 3D, we use 4 x 4 matrices

    Each point has an extra value, w

     Most of the time w = 1, and we can ignore it

    If we multiply a homogeneous coordinate by an affine matrix, w is unchanged

     如果通过仿射矩阵来乘齐次坐标系,则w不变

     Divide by w to normalize (homogenize)

    W = 0? Point at infinity (direction)

     https://en.wikipedia.org/wiki/Affine_transformation

     

    Translate (tx, ty, tz)

    Why bother with the extra dimension? Because now translations can be encoded in the matrix!

    Translate(c,0,0)

    Scale (sx, sy, sz)

    Isotropic (uniform) scaling: sx = sy = sz

     扩展

     旋转

     关于不同坐标轴旋转

    About (kx, ky, kz), a unit vector on an arbitrary axis (Rodrigues Formula)

    How are transforms combined?

    Scale then Translate

    Use matrix multiplication:   p'  =  T ( S p )  =  TS p

    Caution: matrix multiplication is NOT commutative!

     矩阵相乘不可以交换

    Non-commutative Composition

    Scale then Translate: p' = T ( S p ) = TS p

    Translate then Scale:   p'  =  S ( T p )  =  ST p

     

    Review of Dot Product

    点乘

    Change of Orthonormal Basis

    Given: coordinate frames

    xyz and uvn

    point p = (x,y,z)

     

    Find: p = (u,v,n)

     

    Substitute into equation for p:

     Rewrite:

    p = (u,v,n) = u u + v v + n n

    Expressed in uvn basis:

    In matrix form:

  • 相关阅读:
    dex文件格式三
    神庙逃亡破解分析
    MySQL优化
    Redis AOF和RDB
    KD树
    关系型和非关系型数据库
    数据库实现分布式锁
    单点登录
    数据库树形结构查询
    层次遍历递归和非递归方法
  • 原文地址:https://www.cnblogs.com/rsapaper/p/10598858.html
Copyright © 2011-2022 走看看