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

一、变换实质

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

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

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

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

二、拓展进阶

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

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

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

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

相关推荐
UVM_ERROR27 分钟前
RDMA Scheduler + TX + Completion RTL 开发经验分享
笔记·vscode·ssh·github·芯片
Vizio<44 分钟前
STM32HAL库开发笔记-GPIO输入
笔记·stm32·单片机·嵌入式硬件
chinalihuanyu1 小时前
蓝牙开发笔记(BlueTooth,BLE,CH592)
笔记
其美杰布-富贵-李1 小时前
tsai 中 Learner 机制深度学习笔记
人工智能·笔记·深度学习
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [fs]dcache
linux·数据库·笔记·学习·ubuntu
小智RE0-走在路上2 小时前
Python学习笔记(7)--集合,字典,数据容器总结
笔记·python·学习
map_vis_3d3 小时前
JSAPIThree 加载单体三维模型学习笔记:SimpleModel 简易加载方式
笔记·学习·3d
Lv11770084 小时前
Visual Studio 中的密封类和静态类
ide·笔记·c#·visual studio
EniacCheng7 小时前
【RUST】学习笔记-整型
笔记·学习·rust
断剑zou天涯7 小时前
【算法笔记】树状数组IndexTree
java·笔记·算法