坐标的平移,旋转,缩放矩阵
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
参考:
- 二维几何变换
- 矩阵运算——平移,旋转,缩放
- 三维坐标变换原理-平移, 旋转, 缩放
坐标的平移,旋转,缩放矩阵相关推荐
- Unity 触屏手势控制Camera平移旋转缩放
Unity 触屏手势控制Camera平移旋转缩放 实现思路 单点触屏,位移增量控制相机平移: 两点触屏,两点位移控制相机前后移动(缩放):两点中一点不位移控制相机绕点旋转: 实现需要的API Touc ...
- 三维坐标要建一个4*4的矩阵?平移 旋转 缩放
移植不知道三维物体的旋转平移缩放和矩阵的关系.找到这篇文章借鉴一下. 转自:https://blog.csdn.net/ALLENJIAO/article/details/80348362 怎么平移一 ...
- 三维坐标 偏转_三维坐标变换原理-平移, 旋转, 缩放
给定一个二维点(x, y),那么形如(kx, ky, k)的所有三元组就都是等价的,它们就是这个点的齐次坐标(homogeneous).齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指 ...
- Unity矩阵平移旋转缩放Matrix4x4
Unity中的矩阵(Matrix4x4) 最近在研究帧同步定点数物理系统中需要自定义定点数矩阵,所以在这里分享下基础的矩阵案例旋转.平移.缩放.(注意这里本文中的transform组件式基于unity ...
- 三维空间中的几何变换-平移旋转缩放
前言 前段时间由于项目需要,深入学习了下图形几何变换,主要是绕任意轴旋转部分(其他的已有一定基础),现记录学习笔记. 文章内容部分引用并参考了下面的博客: http://netclass.csu.ed ...
- Cesium变换3DTiles的位置(平移旋转缩放)
function add3DTilesetDataTrans(url) { //viewer1.scene.globe.depthTestAgainstTerrain = tr ...
- OpenGL中的平移旋转缩放
1.opengl中缩放使用的函数是glScalef 其原型为void glScalef(GLfloat x, GLfloat y, GLfloat z); 该函数表示模型在各轴上进行扩大和缩 ...
- WebGL编程指南-24 同时使用漫反射光和环境反射光、立方体平移旋转缩放变换时漫反射光和环境反射光处理
1.demo效果 此效果是上一章绘制的立方体基础上,向Y轴方向平移一个单位,然后绕Z轴旋转30度. 如上图,归纳一下物体坐标变换法向量变化的规律如下 平移变换, 法向量不会改变 旋转变换, 大多数情况 ...
- flutter Transform 矩阵变换(平移旋转缩放)
Transform其子Widget绘制时外面包着矩阵变换(transformation),通过它可以实现各种矩阵操作. 1.widget平移 效果图 2.旋转(rotate) 效果图: 3.缩放 Tr ...
- osg中使用MatrixTransform来实现模型的平移/旋转/缩放
MatrixTransform是从Transform - Group继承而来,因此可以在它的下面挂接Node对象. 通过设置其矩阵,来实现其下子节点的模型变换. -- 用局部坐标系来理解(局部坐标系又 ...
最新文章
- 微信小程序开通腾讯云开发实践流程附详细图解
- 4大案例分析金融机构的大数据应用
- c++,不能声明为虚函数的函数
- 关于expanded一级二级菜单数据的分组排序
- 最近学习linux-c的编程
- 线性回归(y=ax+b)
- [转][HTML]css属性
- 《西线无战事》:合上书的那一刻:只想痛哭
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(HDU-2191)
- .gitignore更新后如何生效
- 《Reids 设计与实现》第三章 跳跃表
- URL中文传值乱码解决方式
- Android--获取当前系统的语言环境
- Egret入门学习日记 --- 第十九篇(书中 8.8~8.10 节 内容)
- pta 计算圆周率(C语言实现)
- Python:井字棋游戏
- vscode设置默认浏览器
- 19年深圳杯D题之爬取电视收视率排行榜
- 针对RK3328平台搭建支持KVM的Linux环境
- ajax提交表单序列化不进请求,表单序列化+ajax跨域提交