记矩阵基础概念

转自up:Naruto_Qcsdn:三维空间几何变换矩阵

先贴个站里分享的基础概念。

learn form 肥猫同学VFX b站:会用transform就会用矩阵

移动 旋转 缩放

1.transofrm ——输出变化矩阵
在这里插入图片描述

可以移动transform查看变化去理解

位移

[1 0 0 0]

缩放

在这里插入图片描述

旋转

在这里插入图片描述

由此——3*3矩阵无法实现 ,位移

vex

4@m=ident(); //ch4('m')//单位矩阵
scale(@m,ch('sacle'));//缩放 对空间缩放(物体在空间内——同步缩放)

float angle=radians(chf('angle'));
vector axis=chv('axis');
rotate(@m,angle,axis);// 旋转

translate(@m,chv('tran'));//位移  or这里用3*3矩阵  最后@P+位移 也可以

@P*=m;

lookat函数

vector p1=getbbox_center(0);
vector p2=point(1,'P',0);
martix3 m=lookat(p2,p1);
@P*=m;

dihedral 函数 让a转向b

绕指定轴转

vector a={0,1,0};
vector b=normlize(b向量);
martix3 m =dihedral(a,b);

float angle=radians(chf('angle'));
rotate(@m,angle,b);// 旋转
@P*=m;

在这里插入图片描述

读取位移信息

在这里插入图片描述
copy给物体
在这里插入图片描述
读取运动 这里等于复制了3个transform

maketransform

在这里插入图片描述
z +y+中心 定义4*4

vector zaxis=z;
vector yaxis=y;
vector translate=getbbox_center(1);
matrix m=maketransform(zaxis,yaxis,translate);
@P*=m;

3*3-------四元数

3@m=ident();
p@q=quaternion(3@m);

逆矩阵 invert
转置矩阵 transpose (eg:(m,n)矩阵A的行和列 给出的转置矩阵At 大小为(n,m))

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flink学习-时间和窗口

在流数据处理应用中,一个很重要、也很常见的操作就是窗口计算。所谓的“窗口”,一 般就是划定的一段时间范围,也就是“时间窗”;对在这范围内的数据进行处理,就是所谓的 窗口计算。所以窗口和时间往往是分不开的。 时…

【js】js解析Token:

一、效果: 二、实现: export function getTokenObject(token) {//通过split()方法将token转为字符串数组,数组中的第二个字符进行解析return token ? JSON.parse(decodeURIComponent(escape(window.atob(token.split(".")[1].replace(/-/g &…

2023年亲身经历总结 | 记录从大学到现在历程

现在是2023年12月31日,回想2023年,是充满挑战的一年,也是成就斐然的一年。回首过去,仿佛一幅画卷展开,每一笔每一刻都镌刻着成长的印记。 以下文章从大学经历说起,到现在发展情况,希望我的经历对…

大数据应用领域:数据驱动一切

大数据出现的时间只有十几年,被人们广泛接受并应用只有几年的时间,但就是这短短几年的时间,大数据呈现出爆炸式增长的态势。在各个领域,大数据的身影几乎无处不在。今天我们通过一些大数据典型的应用场景分析,一起来看…

ALSA学习(5)——设备中的alsa

参考博客: https://blog.csdn.net/DroidPhone/article/details/7165482 (一下内容基本是原博主的博客转载) 文章目录 一、ASOC的由来二、硬件架构三、软件架构四、数据结构五、内核对ASoC的改进 一、ASOC的由来 ASoC–ALSA System on Chip …

Vue-Setup

一、setup概述 小小提示&#xff1a;vue3中可以写多个根标签。 Person.vue中内容 <template><div class"person"><h2>姓名&#xff1a;{{name}}</h2><h2>年龄&#xff1a;{{age}}</h2><!--定义了一个事件&#xff0c;点击这…

【网络面试(5)】收发数据及断开服务器(四次挥手)

前面了解到服务器和客户端在创建套接字&#xff0c;建立连接后&#xff0c;就可以进入到下一步&#xff0c;双发可以互相发送和接收数据&#xff0c;本篇博客就来学习一下这个过程。  我们印象里&#xff0c;发送数据应该是我们在浏览器输入网址&#xff0c;敲击回车的一瞬间&…

L1-077:大笨钟的心情

有网友问&#xff1a;未来还会有更多大笨钟题吗&#xff1f;笨钟回复说&#xff1a;看心情…… 本题就请你替大笨钟写一个程序&#xff0c;根据心情自动输出回答。 输入格式&#xff1a; 输入在一行中给出 24 个 [0, 100] 区间内的整数&#xff0c;依次代表大笨钟在一天 24 小时…

【LLM 】7个基本的NLP模型,为ML应用程序赋能

在上一篇文章中&#xff0c;我们已经解释了什么是NLP及其在现实世界中的应用。在这篇文章中&#xff0c;我们将继续介绍NLP应用程序中使用的一些主要深度学习模型。 BERT 来自变压器的双向编码器表示&#xff08;BERT&#xff09;由Jacob Devlin在2018年的论文《BERT:用于语言…

C/C++ 函数重载

函数多态是C在C语言的基础新增的功能。默认参数能够使用不同数目的参数调用同一个函数&#xff0c;而函数多态(函数重载)让您能够使用多个同名的函数。术语“多态”指的是有多种形式&#xff0c;因此函数多态允许函数可以有多种形式。类似地&#xff0c;术语“函数重载”指的是…

【时钟】分布式时钟HLC|Logical Time|Vector Clock|True Time

目录 简略 详细 附录 1 分布式系统不能使用NTP的原因 简略 分布式系统中不同于单机系统不能使用NTP(网络时间协议&#xff08;Network Time Protocol&#xff09;)来获取时间&#xff0c;所以我们需要一个特别的方式来获取分布式系统中的时间&#xff0c;mvcc也是使用time保证读…

2024最全面且有知识深度的web3开发工具、web3学习项目资源平台

在Web3技术迅速发展的时代&#xff0c;寻找一个综合且深入的Web3开发工具和学习项目资源平台变得至关重要。今天&#xff0c;我将向大家介绍一个非常有价值的网站&#xff0c;它就是https://web3x.world 。 Web3X是一个全面而深入的Web3开发者社区&#xff0c;为开发者们提供了…

最优化方法Python计算:无约束优化应用——神经网络回归模型

人类大脑有数百亿个相互连接的神经元&#xff08;如下图(a)所示&#xff09;&#xff0c;这些神经元通过树突从其他神经元接收信息&#xff0c;在细胞体内综合、并变换信息&#xff0c;通过轴突上的突触向其他神经元传递信息。我们在博文《最优化方法Python计算&#xff1a;无约…

跳跃表原理及实现

一、跳表数据结构 跳表是有序表的一种&#xff0c;其底层是通过链表实现的。链表的特点是插入删除效率高&#xff0c;但是查找节点效率很低&#xff0c;最坏的时间复杂度是O(N)&#xff0c;那么跳表就是解决这一痛点而生的。 为了提高查询效率&#xff0c;我们可以给链表加上索…

打破成本壁垒,免费SSL证书为中小企业保驾护航

HTTPS&#xff0c;这个曾经看似遥远的技术词汇&#xff0c;如今已与我们每个人的网络生活息息相关。而实现HTTPS加密传输的关键一环——SSL证书&#xff0c;正以其独特的安全性能&#xff0c;为网站筑起一道坚实的防护墙。更令人惊喜的是&#xff0c;免费SSL证书服务已经到来&a…

数据结构与算法教程,数据结构C语言版教程!(第二部分、线性表详解:数据结构线性表10分钟入门)三

第二部分、线性表详解&#xff1a;数据结构线性表10分钟入门 线性表&#xff0c;数据结构中最简单的一种存储结构&#xff0c;专门用于存储逻辑关系为"一对一"的数据。 线性表&#xff0c;基于数据在实际物理空间中的存储状态&#xff0c;又可细分为顺序表&#xff…

自动化网络故障修复管理

什么是故障管理 故障管理是网络管理的组成部分&#xff0c;涉及检测、隔离和解决问题。如果实施得当&#xff0c;网络故障管理可以使连接、应用程序和服务保持在最佳水平&#xff0c;提供容错能力并最大限度地减少停机时间。专门为此目的设计的平台或工具称为故障管理系统。 …

JavaScript setTimeout和setInterval的用法与区别详解

目录 I. 总述 II. setTimeout()函数 III. setInterval()函数 IV. 新年倒计时案例 Javascript的setTimeOut和setInterval函数应用非常广泛&#xff0c;它们都用来处理延时和定时任务&#xff0c;下面这篇文章主要给大家介绍了关于JavaScript setTimeout和setInterval的用法与…

解决 Nginx 反向代理中的 DNS 解析问题:从挑战到突破20231228

引言 在使用 Nginx 作为反向代理服务器时&#xff0c;我们可能会遇到各种配置和网络问题。最近&#xff0c;我遇到了一个有趣的挑战&#xff1a;Nginx 在反向代理配置中无法解析特定的域名&#xff0c;导致 502 错误。这个问题的解决过程不仅揭示了 Nginx 的一个不太为人知的功…

分布式【雪花算法】

雪花算法 背景&#xff1a;在分布式系统中&#xff0c;需要使用全局唯一ID&#xff0c;期待ID能够按照时间有序生成。 **原理&#xff1a;**雪花算法是 64 位 的二进制&#xff0c;一共包含了四部分&#xff1a; 1位是符号位&#xff0c;也就是最高位&#xff0c;始终是0&am…
最新文章