矩阵表达缩放

  旋转矩阵表示方式为:

  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

转载于:https://www.cnblogs.com/leiGameDesigner/p/8372594.html

用矩阵表示物体的缩放相关推荐

  1. unity 如何使用鼠标滚轮进行物体的缩放

    当我们进行鼠标滚轮进行滑动时,会返回一个float的值, 当鼠标滚轮向前进行滑动时 返回的float值是>0的,        当鼠标滚轮向后进行滑动时 返回的float值是<0的   所 ...

  2. html中心点缩放,html canvas 让物体随物体中心缩放

    let cv=document.querySelector('.cv'), ctx=cv.getContext('2d'), sv= 0,//缩放的增加值 speed= 0.01,//缩放增加速度 / ...

  3. 用矩阵表示图形旋转缩放变换

    二维图形 1.缩放 假设x和y都缩小到0.5倍 那新的x' = 0.5x 新的y' = 0.5y 我们现在通用化一下,假设x方向缩放为Sx,y方向缩放为Sy,并且用矩阵的方法可表示如下 -1 < ...

  4. Unity 3D鼠标操作实现旋转、缩放观察物体

    1.实现思路:操作摄像头围绕物体中心点(远点),做球面旋转移动来实现旋转观察物体,控制球的半径大小来实现物体的缩放效果. 2.C#摄像头源码脚本 //放在摄像头上,实现旋转.缩放观察物体 using ...

  5. Unity实现以鼠标为中心缩放物体(一)

    Unity实现以鼠标为中心缩放物体(一) 方法一:UGUI下动态设置Pivot Canvas.renderMode = ScreenSpaceCamera Canvas.renderMode = Sc ...

  6. 计算机图形学一:基础变换矩阵总结(缩放,旋转,位移)

    变换矩阵总结 摘要 1 2D线性变换 1.1 缩放(scaling) 1.2 剪切(shearing) 1.3 旋转(rotation) 2 3D线性变换 2.1 3维缩放(scaling),剪切(s ...

  7. 一文教会你三维网格物体识别

    本文由「图普科技」(微信公众号 tuputech)编译,原作者 Vladimir Tsyshnatiy,链接:https://medium.com/@vtsyshnatiy 2017 年 3 月,当时 ...

  8. 鼠标滑轮将物体放大缩小

    鼠标滑轮将物体放大缩小 哈喽!又来给大家分享代码喽,今天给大家分享一下,鼠标滑轮滑动将物体放大缩小,我用了两种方法,两种方法的效果不一样,好了下面为大家演示一下两种效果的不同以及代码: 1.第一种效果 ...

  9. 总结GLM库中glm::transform(位移), glm:scale(缩放), glm::rotate(旋转)

    在使用下面所介绍的函数之前请记得包含相关头文件,一般包含这几个就够了: #include <glm/glm.hpp> #include <glm/gtc/matrix_transfo ...

最新文章

  1. 新建异常并处理java_java – 动态创建异常的工厂模式
  2. 两个有序数组的合并,python版
  3. stopping NetworkManager daemon failed
  4. [笔记]Go语言写文件几种方式性能对比
  5. SQLyog笔记-CURRENT_TIMESTAMP在SQLyog的配置
  6. 偷窥、报复、歧视,Google 为何频发性骚扰事件?
  7. python竖着输出_Python中三种格式化输出的方式
  8. 有关 delphi7读取 excel 报错EoleException with message '未找到提供程序,该程序可能未能正确安装' 解决方式
  9. java wifi开发教程_WiFi技术
  10. LabVIEW 2021 工具包
  11. H3C ipsec psk aggressive mode配置
  12. C# winform 检测网络是否畅通 检测
  13. Python资源(转)
  14. 开局觉醒天道酬勤天赋(二)
  15. Python SQL 语法简单入门
  16. y yun m_yun是y---un 组成 ,还是y----ün组成?
  17. orangepi zero2部署网心云docker版
  18. Windows的西班牙语输入法
  19. 【Vue】通过Vue操作表单元素(下拉框、选择框)等示例(图文+完整代码)
  20. 小孩儿吃梨问题c语言,C语言编程练习 6.2课上编程练习.docx

热门文章

  1. 快速查找Hashtable中的元素
  2. 【实习之T100开发】T100 单档程序开发(1)开发流程
  3. 【Python笔记】网络爬虫——常用框架介绍以及 Scrapy 框架使用
  4. Github图片无法打开的问题解决【2020.07.20更新】
  5. 配置node.js默认的npm安装目录
  6. eclipse下开发简单的Java Web Service
  7. SVM支持向量机通俗导论(理解SVM的三层境界)
  8. lisp 里在特定图层写字_有温度的“城市客厅”——从景观设计角度感受天目里...
  9. 年轻人应该做的和不该做的
  10. Centos7安装Python3的方法