directx12 3d+vs2022游戏开发第三章 笔记五 变换

一、变换实质

总结来说就是通过矩阵和向量计算控制点变换,变换的效果可以实现局内物体的平移,旋转,缩放等一系列操作。

具体实现为先使用线性变换,即向量矩阵控制物体对于自身坐标系的旋转,缩放。

再使用仿射变换,通过在线性变换加上一个平移向量,即可实现物体的平移。

这里我们可以把线性变换理解为物体大小,形状的参数矩阵;平移向量则是物体在总坐标系的位置参数。

二、拓展进阶

根据上面的理解,我们可以知道,存放好物体大小,形状的参数矩阵,再往里面加入不同的向量矩阵,就可以实现不同的物体变换和移动的效果。

比如加入关于总坐标系下的物体旋转向量,物体移动向量。甚至可以加入不同坐标系物体控制向量,只需在进行变换时进行一些矩阵变换处理则可实现物体的精准变换。

我们也可以通过改变参考坐标来进行物体变换,即坐标变换。这实际上也是一种向量变换,即线性变换加向量变换。

这些变换都能实现所需的效果,但只是过程和变换方式不同。

相关推荐
摇滚侠12 小时前
Spring Boot 3零基础教程,新特性 ProblemDetails,笔记50
spring boot·笔记
一只一只12 小时前
Unity 3D笔记(进阶部分)——《B站阿发你好》
笔记·3d·unity·游戏引擎
月临水12 小时前
Git 学习笔记
笔记·git·学习·1024程序员节
程序猿阿伟13 小时前
《3D端游开放世界动态天气系统与场景交互优化实践日志》
3d·1024程序员节
朝新_14 小时前
【SpringBoot】详解Maven的操作与配置
java·spring boot·笔记·后端·spring·maven·javaee
-Excalibur-16 小时前
形象解释关于TCP/IP模型——层层封装MAC数据帧的过程
linux·c语言·网络·笔记·单片机·网络协议·tcp/ip
想唱rap17 小时前
C++ list 类的使用
c语言·开发语言·数据结构·c++·笔记·算法·list
朝新_18 小时前
【EE初阶】JVM
java·开发语言·网络·jvm·笔记·算法·javaee
牛马大师兄19 小时前
STM32实现低功耗管理使用配置知识梳理笔记
笔记·stm32·单片机·嵌入式硬件·物联网·低功耗
chushiyunen21 小时前
neo4j图数据库笔记
数据库·笔记·neo4j