zoukankan      html  css  js  c++  java
  • 用矩阵表示物体的缩放

    矩阵表达缩放

      旋转矩阵表示方式为:

      a  0  0  0

      0  b  0  0

      0  0  c  0

      0  0  0  1

      验证如下:

      A = [x,y,z] ,如果要将A进行缩放,假设缩放比为N =[a,b,c],那么缩放结果应为 [x*a,y*b,z*c]

      [x,y,z,w] *{ a,0,0,0}   =a*x+y*0+z*0+w*1 =a*x 

             0,b,0,0    =x*0+y*b+z*0+w*0 =y*b

             0,0,c,0    =x*0+y*0+z*c+w*0 =z*c

           0,0,0,1   =x*0+y*0+z*0+w*1 =w

      结果[a*x,y*b,z*c,w]与预期相符

    矩阵表达旋转

      假设轴 为n =(x,y,z).旋转α角度。 c = cos(α),s = sin(α)

      那么旋转的矩阵表示为:

      c+(1-c)x2            (1-c)x*y+s*z        (1-c)x*z -s*y       0

      (1-c)x*y-s*z         c+(1-c)y2             (1-c)y*z+s*x      0

      (1-c)x*z+s*y  (1-c)y*z-s*x    c+(1-c)z2    0

      0       0       0        1

      如果旋转轴为 x[1,0,0],旋转角度为α,那么其旋转矩阵为:

      1    0    0    0

      0    cos(α)    sin(α)    0

      0    -sin(α)  cos(α)   0

      0    0    0    1

  • 相关阅读:
    2018-2019-2 实验三 敏捷开发与XP实践
    计算机网络课外实验一级 20175319江野
    2018-2019-2 《Java程序设计》第9周学习总结
    MyCP(课下作业,必做)
    [NOIP2012] 疫情控制
    [SPOJ2021] Moving Pebbles
    谁能赢呢?
    [HEOI2014] 人人尽说江南好
    [笔记] 巴什博弈
    [SCOI2008] 着色方案
  • 原文地址:https://www.cnblogs.com/leiGameDesigner/p/8372594.html
Copyright © 2011-2022 走看看