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:

  • 相关阅读:
    Win10 安装 Oracle32bit客户端 提示:引用数据不可用于验证此操作系统分发的先决条件
    ORACLE 拆分逗号分隔字符串函数
    PLSQL 中文乱码
    不要把分层当做解耦!
    MySQL 迁移到 PG 怎么做
    在 MySQL 创造类似 PipelineDB 的流视图(continuous view)
    TeamViewer 的替代品 ZeroTier + NoMachine
    所有 HTML attribute
    使用PG的部分索引
    基于 500 份标注数据用深度学习破解验证码
  • 原文地址:https://www.cnblogs.com/rsapaper/p/10598858.html
Copyright © 2011-2022 走看看