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

embedded/2025/2/2 1:54:39/

一、变换实质

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

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

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

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

二、拓展进阶

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

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

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

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


http://www.ppmy.cn/embedded/158785.html

相关文章

P1158

题意 就是给你机器的工作半径&#xff0c;每次工作要花钱&#xff0c;就是工作半径的平方&#xff0c;问你怎么花最少的钱&#xff0c;拦截所有导弹。 思路 每次通过我们的公式计算距离&#xff0c;存入并排序&#xff0c;最后即可得出答案。 代码 #include <bits/stdc…

STM32-时钟树

STM32-时钟树 时钟 时钟

Spring 面试题【每日20道】【其一】

1、Spring 当中什么是循环依赖&#xff08;常问&#xff09;&#xff1f; 中等 在Spring框架中&#xff0c;循环依赖&#xff08;Circular Dependency&#xff09;是指两个或多个bean互相之间直接或间接地依赖对方的注入。例如&#xff1a; A bean依赖于B bean。B bean又依赖…

react native i18n插值:跨组件trans

想要实现动态插值以及插入元素&#xff0c;如下效果 这个找了蛮久的&#xff0c;官网的例子在我这无效&#xff0c;所以网上找了比较久&#xff0c;没能理解用法。最后是在 github issue 中看到别人的用法&#xff0c;自己理解下实现出来了&#xff0c;所以这里记录下。 例如…

Learning Vue 读书笔记 Chapter 4

4.1 Vue中的嵌套组件和数据流 我们将嵌套的组件称为子组件&#xff0c;而包含它们的组件则称为它们的父组件。 父组件可以通过 props向子组件传递数据&#xff0c;而子组件则可以通过自定义事件&#xff08;emits&#xff09;向父组件发送事件。 4.1.1 使用Props向子组件传递…

Github 2025-01-30 Go开源项目日报 Top10

根据Github Trendings的统计,今日(2025-01-30统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10Ollama: 本地大型语言模型设置与运行 创建周期:248 天开发语言:Go协议类型:MIT LicenseStar数量:42421 个Fork数量:2724 次关注人…

php接口连接数据库

框架&#xff1a;https://www.thinkphp.cn/doc 创建网站 域名自己写 创建文件夹&#xff0c;“test”拉取框架&#xff0c;地址栏输入 composer create-project topthink/think5.1.* tp5 会自动创建一个tp5文件夹 根目录选择刚刚创建拉框架的文件夹 以test为示例 “D:\test\…

Ubuntu安装VMware17

安装 下载本文的附件&#xff0c;之后执行 sudo chmod x VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle sudo ./VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle安装注意事项&#xff1a; 跳过账户登录的办法&#xff1a;断开网络 可能出现的问题以及解决…