【GAMES101】三维变换

games101的第四节课讲了三维变换和观察变换,我们这里先记录一下三维变换的知识,后面再讲观察变换

齐次坐标下的三维变换

类似于解决之前二维变换平移的问题,三维变换下用齐次坐标通过增加一个维度来表示,第四个维度为1表示这是个点,第四个维度为0表示这是个向量,这样就可以通过四维矩阵乘法来表示平移变换了

这样,所有的三维变换就可以通过一个矩阵乘法来表示了

 

和之前二维变换类似的,三维下的缩放和平移都可以用类似的矩阵表示

比较复杂的是三维中的旋转,二维中的旋转方式是固定的,要么是逆时针旋转要么是顺时针旋转 

但是在三维中旋转的角度可以是任意方向的,如何用一个变换矩阵来表示呢

首先从简单的x、y和z三个轴方向上的旋转来研究

如果是绕着x轴旋转,那么就是x坐标不变,y和z坐标在发生变化,类似于二维的旋转矩阵表示

如果是绕着z轴旋转,那么就是z坐标不变,x和y坐标在发生变化,类似于二维的旋转矩阵表示 

但是到了绕着y轴旋转时,实际的旋转矩阵是这样的

你可能会发现,之前正弦值都是右上角的是负的,为什么到了绕y轴旋转时,却变成了左下角是负的呢?

如何来理解这个事情,我们知道x和y叉乘可以得到z,y和z叉乘可以得到x,但是呢,x和z叉乘得到的是-y,只有z和x叉乘得到的才是y,所以呢,到了旋转的时候,实际上是整个的角度取反了,余弦函数是偶函数,所以没变化,但是正弦函数是奇函数,符号就发生了变化

现在呢我们知道了在三个轴上的旋转如何变换了,那么对于任意角度的旋转,实际上就可以通过在这三个轴上的旋转合成来实现,这一组角,就叫做欧拉角,好比飞机的俯仰pitch、偏航yaw和翻转roll

现在问题是如何用一个统一的矩阵变换来表示三维空间的旋转,实际上对于任意方向的旋转都可以表示为相对于某个方向的旋转轴旋转,这里引入罗德里德斯的旋转公式,可以根据旋转轴n和对应的旋转角度来完成任意方向的旋转

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205305.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无敌是多么的寂寞!一本书讲透Java多线程!吊打多线程从原理到实践!

摘要 互联网的每一个角落,无论是大型电商平台的秒杀活动,社交平台的实时消息推送,还是在线视频平台的流量洪峰,背后都离不开多线程技术的支持。在数字化转型的过程中,高并发、高性能是衡量系统性能的核心指标&#xff…

vue2+electron桌面端一体机应用

vue2+electron项目 前言:公司有一个项目需要用Vue转成exe,首先我使用vue-cli脚手架搭建vue2项目,然后安装electron 安装electron 这一步骤可以省略,安装electron-builder时会自动安装electron npm i electron 安装electron-builder vue add electron-builder 项目中多出…

(NeRF学习)3D Gaussian Splatting Instant-NGP

学习参考: 3D Gaussian Splatting入门指南【五分钟学会渲染自己的NeRF模型,有手就行!】 三维重建instant-ngp环境部署与colmap、ffmpeg的脚本参数使用 一、3D Gaussian Splatting (一)3D Gaussian Splatting环境配置…

JVM 类的加载器的基本特征和作用

Java全能学习面试指南:https://javaxiaobear.cn 1、作用 类加载器是 JVM 执行类加载机制的前提 ClassLoader的作用: ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,ClassLoader负责通过各种方式将Class信…

【跨境营商】创新科技助力数码转型 增强大湾区企业核心竞争力

粤港澳大湾区作为国家的重点发展区域,坐拥丰富的资源及商机,企业积极推行数码化,务求在大湾区抢占先机。香港电讯商业客户业务董事总经理吴家隆表示,近年企业锐意加快数码化步伐,香港电讯以创新科技融入的数码方案&…

UE学习C++(1)创建actor

创建新C类 在 虚幻编辑器 中,点击 文件(File) 下拉菜单,然后选择 新建C类...(New C Class...) 命令: 此时将显示 选择父类(Choose Parent Class) 菜单。可以选择要扩展的…

Linux Component概述和高通V4l2驱动模型

1 Linux为什么要引入Component框架? 为了让subsystem按照一定顺序初始化设备才提出来的。 subsystem中由很多设备模块,内核加载这些模块的时间不确定。子系统内有些模块是需要依赖其它模块先初始化才能进行自己初始化工作(例如v4l2 subdev和v4l2 video …

电商类直播介绍

电商直播是一种购物方式,通过直播技术向消费者展示商品,并引导其进行购买。在法律上,电商直播属于商业广告活动,主播需要根据具体行为承担“广告代言人"“广告发布者"或“广告主"的责任。 电商直播的特点在于其更…

月薪6W!美团、网易等大厂急招HarmonyOS开发!

近期,多家互联网公司发布了多个和鸿蒙系统有关的岗位。 不仅如此,还与Windows等主流老牌操作系统并列,并且排在首位介绍。 此外,今日头条招聘Android开发工程师也提及岗位需要“负责今日头条 Android、鸿蒙系统等新技术方向调研…

Http协议与Tomcat

HTTP协议 HTTP协议(HyperText Transfer Protocol)即超文本传输协议 ,是TCP/IC网络体系结构应用层的一个客户端-服务端协议,是所有客户端,服务端数据传输的基石(数据传输规则) 特点 ⭐基于TCP协…

class059 建图、链式前向星、拓扑排序【算法】

class059 建图、链式前向星、拓扑排序【算法】 code1 建图 package class059;import java.util.ArrayList; import java.util.Arrays;public class Code01_CreateGraph {// 点的最大数量public static int MAXN 11;// 边的最大数量// 只有链式前向星方式建图需要这个数量// 注…

基于AT89C51单片机的秒表设计

1.设计任务 利用单片机AT89C51设计秒表,设计计时长度为9:59:59,超过该长度,报警。创新:设置重启;暂停;清零等按钮。最后10s时播放音乐提示。 本设计是采用AT89C51单片机为中心,利用其…

zabbix的自动发现和注册、proxy代理和SNMP监控

目录 一、zabbix自动发现与自动注册机制: 1、概念 2、zabbix 自动发现与自动注册的部署 二、zabbix的proxy代理功能: 1、工作流程 2、安装部署 三、zabbix-snmp 监控 1、概念 2、安装部署 四、总结: 一、zabbix自动发现与自动注册…

细讲结构体

结构体是一些值的集合,这些值就是成员变量,这些变量可以是不同类型的。 当我们存放一个学生的信息是,包括性别,姓名,学号,年龄等内容,这些值是不同类型的,这是我们就可以使用结构体来…

二叉树的层平均值[中等]

优质博文:IT-BLOG-CN 一、题目 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[3.00000,14.50000,1…

外置固态硬盘配置

1、插上usb外置硬盘盒 2、邮件我的此“电脑”选择“管理” 3、例如新增的固态硬盘如下: 4、这里我选择mrb(旧模式)而没选guid(新模式) 因为mrb兼容模式更加适合windows、ios等系统 5、右击未分区磁盘,选择新增卷区,一路下一步即可

《俏丽》正规万方收录普刊投稿发表

《俏丽》期刊是国家新闻出版总署批准的正规期刊,万方期刊网收录。安排文化、教育相关稿件,适用于评职称时的论文发表(单位有特殊要求除外),具体投稿方式请小窗我。 收稿方向、栏目参考:教育研究、课堂教学…

C语言课程设计

内容与设计思想 1、系统功能与分析&#xff08;填写你所设计的菜单及流程图&#xff09;。 菜单&#xff1a; 日历打印 日历推算 日历间隔倒计时牌 退出程序 模块设计 根据功能需要&#xff1a; 源文件&#xff1a; #include<stdio.h> #include&…

采样率越高噪声越大?

ADC采样率指的是模拟到数字转换器&#xff08;ADC&#xff09;对模拟信号进行采样的速率。在数字信号处理系统中&#xff0c;模拟信号首先通过ADC转换为数字形式&#xff0c;以便计算机或其他数字设备能够处理它们。 ADC采样率通常以每秒采样的次数来表示&#xff0c;单位为赫…

用Pandas轻松进行7项基本数据检查

大家好&#xff0c;作为一名数据工程师&#xff0c;面对糟糕的数据质量&#xff0c;可以使用Pandas执行快捷的数据质量检查。本文使用scikit-learn提供的California Housing数据集&#xff0c;进行基本数据检查。 一、California Housing数据集概述 【数据集】&#xff1a; …