zoukankan      html  css  js  c++  java
  • [3D数学]矩阵 2017.8.16

    <1>有时候我们想对整个物体做一定量旋转,其实可以直接对物体坐标系进行相反量的旋转

           比如:现在想对一个物体顺时针旋转20度,再扩大200%,,既可以对这个物体的坐标系先缩小200%,再逆时针旋转20度:  注意这里组合变换,需要以相反的顺序做变换

    <2>如何看出一个矩阵的旋转缩放?

           从矩阵中抽出基向量,2维抽出的X,Y;2维矩阵在笛卡尔坐标系中呈现出一个"L"型,从这个“L”型中我们可以看出乘以这个矩阵的旋转 缩放效果:

           比如:现在有矩阵,行向量A[1,0]乘以这个矩阵,得到的值会发生什么变化呢?AM = 1X2  2X2 = 1X2 = [2,1],新的行向量[2,1]相对于[1,0]做了什么变化呢?可以计算一下它们的夹角26.5度,缩放sqrt(5)

           3维矩阵中抽出基向量,X,Y,Z;3维矩阵呈现出一个“三脚架”形状,从这个“三脚架”形状可以看出乘以这个矩阵的旋转 缩放效果

    <3>2D旋转矩阵:限制了位移 绕原点旋转

           [cosθ  sinθ]

           [-sinθ  cosθ]

           对一个向量(4,2)旋转θ度 (4*cosθ-2*sinθ,4*sinθ+2*cosθ) 即为旋转θ度后的向量

    <4>3D旋转矩阵:

           3D旋转矩阵是绕着一条轴做旋转,可以不是笛卡尔坐标系的X,Y,Z轴,现在不考虑平移,只讨论旋转轴穿过原点的情况

           下面列出旋转3条轴的公式:X,Y,Z

            

           这三个旋转矩阵也很好记:X,Y,Z轴的旋转矩阵分别在1,2,3行写上单位基向量,在单位1的对角都写上0,剩下的4格子填上2维旋转矩阵

           当一个3D物体旋转复杂的时候,我们可以拆分成多次绕轴旋转

           绕任意轴旋转公式:

                                           

           

  • 相关阅读:
    (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
    (转)Elasticsearch分析聚合
    搜索引擎-倒排索引基础知识(摘自《这就是搜索引擎:核心技术详解》)
    Elasticsearch5.x Head插件安装
    Java开发规范总结
    (转)ElasticSearch Java Api-检索索引库
    QTGraphics-View拖拽以及鼠标指针操作
    Qt Graphics-View的打印功能实现
    Qt使用QPainter绘制矢量图并保存为svg文件
    QT制作一个位图画图板程序
  • 原文地址:https://www.cnblogs.com/cocotang/p/7376144.html
Copyright © 2011-2022 走看看