用矩阵表示物体的缩放
矩阵表达缩放
旋转矩阵表示方式为:
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
用矩阵表示物体的缩放相关推荐
- unity 如何使用鼠标滚轮进行物体的缩放
当我们进行鼠标滚轮进行滑动时,会返回一个float的值, 当鼠标滚轮向前进行滑动时 返回的float值是>0的, 当鼠标滚轮向后进行滑动时 返回的float值是<0的 所 ...
- html中心点缩放,html canvas 让物体随物体中心缩放
let cv=document.querySelector('.cv'), ctx=cv.getContext('2d'), sv= 0,//缩放的增加值 speed= 0.01,//缩放增加速度 / ...
- 用矩阵表示图形旋转缩放变换
二维图形 1.缩放 假设x和y都缩小到0.5倍 那新的x' = 0.5x 新的y' = 0.5y 我们现在通用化一下,假设x方向缩放为Sx,y方向缩放为Sy,并且用矩阵的方法可表示如下 -1 < ...
- Unity 3D鼠标操作实现旋转、缩放观察物体
1.实现思路:操作摄像头围绕物体中心点(远点),做球面旋转移动来实现旋转观察物体,控制球的半径大小来实现物体的缩放效果. 2.C#摄像头源码脚本 //放在摄像头上,实现旋转.缩放观察物体 using ...
- Unity实现以鼠标为中心缩放物体(一)
Unity实现以鼠标为中心缩放物体(一) 方法一:UGUI下动态设置Pivot Canvas.renderMode = ScreenSpaceCamera Canvas.renderMode = Sc ...
- 计算机图形学一:基础变换矩阵总结(缩放,旋转,位移)
变换矩阵总结 摘要 1 2D线性变换 1.1 缩放(scaling) 1.2 剪切(shearing) 1.3 旋转(rotation) 2 3D线性变换 2.1 3维缩放(scaling),剪切(s ...
- 一文教会你三维网格物体识别
本文由「图普科技」(微信公众号 tuputech)编译,原作者 Vladimir Tsyshnatiy,链接:https://medium.com/@vtsyshnatiy 2017 年 3 月,当时 ...
- 鼠标滑轮将物体放大缩小
鼠标滑轮将物体放大缩小 哈喽!又来给大家分享代码喽,今天给大家分享一下,鼠标滑轮滑动将物体放大缩小,我用了两种方法,两种方法的效果不一样,好了下面为大家演示一下两种效果的不同以及代码: 1.第一种效果 ...
- 总结GLM库中glm::transform(位移), glm:scale(缩放), glm::rotate(旋转)
在使用下面所介绍的函数之前请记得包含相关头文件,一般包含这几个就够了: #include <glm/glm.hpp> #include <glm/gtc/matrix_transfo ...
最新文章
- 新建异常并处理java_java – 动态创建异常的工厂模式
- 两个有序数组的合并,python版
- stopping NetworkManager daemon failed
- [笔记]Go语言写文件几种方式性能对比
- SQLyog笔记-CURRENT_TIMESTAMP在SQLyog的配置
- 偷窥、报复、歧视,Google 为何频发性骚扰事件?
- python竖着输出_Python中三种格式化输出的方式
- 有关 delphi7读取 excel 报错EoleException with message '未找到提供程序,该程序可能未能正确安装' 解决方式
- java wifi开发教程_WiFi技术
- LabVIEW 2021 工具包
- H3C ipsec psk aggressive mode配置
- C# winform 检测网络是否畅通 检测
- Python资源(转)
- 开局觉醒天道酬勤天赋(二)
- Python SQL 语法简单入门
- y yun m_yun是y---un 组成 ,还是y----ün组成?
- orangepi zero2部署网心云docker版
- Windows的西班牙语输入法
- 【Vue】通过Vue操作表单元素(下拉框、选择框)等示例(图文+完整代码)
- 小孩儿吃梨问题c语言,C语言编程练习 6.2课上编程练习.docx
热门文章
- 快速查找Hashtable中的元素
- 【实习之T100开发】T100 单档程序开发(1)开发流程
- 【Python笔记】网络爬虫——常用框架介绍以及 Scrapy 框架使用
- Github图片无法打开的问题解决【2020.07.20更新】
- 配置node.js默认的npm安装目录
- eclipse下开发简单的Java Web Service
- SVM支持向量机通俗导论(理解SVM的三层境界)
- lisp 里在特定图层写字_有温度的“城市客厅”——从景观设计角度感受天目里...
- 年轻人应该做的和不该做的
- Centos7安装Python3的方法