1、二维坐标的平移,旋转、缩放矩阵

  • 平移矩阵M

1    0    0

0    1    0

dx  dy   1

D2 = D1*M

  • 旋转矩阵M

设某点与原点连线和X轴夹角为b度,以原点为圆心,逆时针转过a度  , 原点与该点连线长度为R, [x,y]为变换前坐标, [X,Y]为变换后坐标。

x = Rcos(b) ; y = Rsin(b);

X = Rcos(a+b) = Rcosacosb - Rsinasinb = xcosa - ysina; (合角公式)

Y = Rsin(a+b) = Rsinacosb + Rcosasinb = xsina + ycosa ;

绕原点的旋转矩阵表示:

cosa   sina  0

[X, Y, 1] = [x, y, 1][-sina  cosa  0  ]

0        0     1

cosa   sina  0

-sina  cosa  0  为旋转变换矩阵。

0       0     1

  • 缩放矩阵

设某点坐标,在x轴方向扩大 sx倍,y轴方向扩大 sy倍,[x,y]为变换前坐标, [X,Y]为变换后坐标。

X = sx*x; Y = sy*y;

则用矩阵表示:

sx    0    0

[X, Y, 1] = [x, y, 1][ 0    sy    0  ] ;

0     0     1

sx    0    0

0    sy    0  即为缩放矩阵。

0     0     1

2、三维坐标的平移,旋转、缩放矩阵

  • 平移矩阵M

1    0    0    0

0    1    0    0

0     0   1    0

dx   dy  dz  1

  • 缩放矩阵​​​​​​​

Sx    0    0    0

0     Sy   0    0

0     0     Sy  0

0     0     0    1

  • 旋转矩阵

绕X轴旋转θ度

1     0        0         0

0     cosθ   sinθ    0

0     -sinθ   cosθ   0

0     0         0        1

绕Y轴旋转θ度

cosθ     0        -sinθ     0

0          1        0           0

sinθ      0       cosθ      0

0           0       0           1

绕Z轴旋转θ度

cosθ   sinθ      0         0

-sinθ   cosθ     0         0

0         0          1         0

0         0          0         1

参考:

  1. 二维几何变换
  2. 矩阵运算——平移,旋转,缩放
  3. 三维坐标变换原理-平移, 旋转, 缩放

坐标的平移,旋转,缩放矩阵相关推荐

  1. Unity 触屏手势控制Camera平移旋转缩放

    Unity 触屏手势控制Camera平移旋转缩放 实现思路 单点触屏,位移增量控制相机平移: 两点触屏,两点位移控制相机前后移动(缩放):两点中一点不位移控制相机绕点旋转: 实现需要的API Touc ...

  2. 三维坐标要建一个4*4的矩阵?平移 旋转 缩放

    移植不知道三维物体的旋转平移缩放和矩阵的关系.找到这篇文章借鉴一下. 转自:https://blog.csdn.net/ALLENJIAO/article/details/80348362 怎么平移一 ...

  3. 三维坐标 偏转_三维坐标变换原理-平移, 旋转, 缩放

    给定一个二维点(x, y),那么形如(kx, ky, k)的所有三元组就都是等价的,它们就是这个点的齐次坐标(homogeneous).齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指 ...

  4. Unity矩阵平移旋转缩放Matrix4x4

    Unity中的矩阵(Matrix4x4) 最近在研究帧同步定点数物理系统中需要自定义定点数矩阵,所以在这里分享下基础的矩阵案例旋转.平移.缩放.(注意这里本文中的transform组件式基于unity ...

  5. 三维空间中的几何变换-平移旋转缩放

    前言 前段时间由于项目需要,深入学习了下图形几何变换,主要是绕任意轴旋转部分(其他的已有一定基础),现记录学习笔记. 文章内容部分引用并参考了下面的博客: http://netclass.csu.ed ...

  6. Cesium变换3DTiles的位置(平移旋转缩放)

    function add3DTilesetDataTrans(url) {             //viewer1.scene.globe.depthTestAgainstTerrain = tr ...

  7. OpenGL中的平移旋转缩放

    1.opengl中缩放使用的函数是glScalef 其原型为void glScalef(GLfloat  x,  GLfloat  y,  GLfloat  z); 该函数表示模型在各轴上进行扩大和缩 ...

  8. WebGL编程指南-24 同时使用漫反射光和环境反射光、立方体平移旋转缩放变换时漫反射光和环境反射光处理

    1.demo效果 此效果是上一章绘制的立方体基础上,向Y轴方向平移一个单位,然后绕Z轴旋转30度. 如上图,归纳一下物体坐标变换法向量变化的规律如下 平移变换, 法向量不会改变 旋转变换, 大多数情况 ...

  9. flutter Transform 矩阵变换(平移旋转缩放)

    Transform其子Widget绘制时外面包着矩阵变换(transformation),通过它可以实现各种矩阵操作. 1.widget平移 效果图 2.旋转(rotate) 效果图: 3.缩放 Tr ...

  10. osg中使用MatrixTransform来实现模型的平移/旋转/缩放

    MatrixTransform是从Transform - Group继承而来,因此可以在它的下面挂接Node对象. 通过设置其矩阵,来实现其下子节点的模型变换. -- 用局部坐标系来理解(局部坐标系又 ...

最新文章

  1. 微信小程序开通腾讯云开发实践流程附详细图解
  2. 4大案例分析金融机构的大数据应用
  3. c++,不能声明为虚函数的函数
  4. 关于expanded一级二级菜单数据的分组排序
  5. 最近学习linux-c的编程
  6. 线性回归(y=ax+b)
  7. [转][HTML]css属性
  8. 《西线无战事》:合上书的那一刻:只想痛哭
  9. 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(HDU-2191)
  10. .gitignore更新后如何生效
  11. 《Reids 设计与实现》第三章 跳跃表
  12. URL中文传值乱码解决方式
  13. Android--获取当前系统的语言环境
  14. Egret入门学习日记 --- 第十九篇(书中 8.8~8.10 节 内容)
  15. pta 计算圆周率(C语言实现)
  16. Python:井字棋游戏
  17. vscode设置默认浏览器
  18. 19年深圳杯D题之爬取电视收视率排行榜
  19. 针对RK3328平台搭建支持KVM的Linux环境
  20. ajax提交表单序列化不进请求,表单序列化+ajax跨域提交

热门文章

  1. KBJ2510-ASEMI通用适配电磁炉整流桥KBJ2510
  2. myeclipse激活码生成器+代码自动提醒
  3. 【Excel超实用快捷键!!!办公效率1000%up!up!up!】
  4. win11系统怎么使用ie浏览器
  5. 在MM32F5微控制器上使用外扩SRAM作为主内存
  6. 一款实用的可视化报表工具
  7. 新型薄煤层滚筒采煤机截割部设计 文献翻译
  8. Vertex and FragmentShader顶点与片段着色器
  9. css_背景图片撑开DIV高度
  10. arch linux必备软件,ArchLinux常用软件