【GAMES103】基于物理的计算机动画入门(1)前置的基础数学知识

GAMES103: 基于物理的计算机动画入门
链接:GAMES103

1. 坐标系的划分

在游戏引擎中分为右手和左手坐标系,区分的依据是什么?

在这里插入图片描述

上图可以看到如果是左手坐标系,那么所有的物体都在屏幕后面,意味着x,y,z的值都是正的。

2. Vector Norm

向量的长度就是2-Norm,通常使用Vector Norm来评估向量。

在这里插入图片描述

3. 投影

投影的计算,可以看到投影的长度只和两个向量有关系。

在这里插入图片描述

在游戏引擎中,通常使用投影推出来的Signed Distance,进行碰撞检测的判断。

在这里插入图片描述

4. 叉乘

4.1 三角形的拓扑顺序

叉乘决定了两条边计算的方向,因此在录入三角形的时候,也应该注意三角形边的顺序,也叫做拓扑顺序。

在这里插入图片描述

4.2 Signed Areas和Barycentric Weights

对于2维中,叉乘引出的重心插值。

在这里插入图片描述

对于3维中,可以通过叉乘计算体积,同时叉乘也有相同的规律。

在这里插入图片描述

5. 矩阵的分解

5.1 奇异值分解

矩阵的奇异值分解主要的思想:依据于每一个矩阵都可以通过一个正形进行旋转→缩放→旋转的步骤来得到。

因此U和V都是正交矩阵,用于做旋转操作,而D是对角矩阵,来进行缩放,D中的值也称为奇异值。

在这里插入图片描述

5.2 特征值分解

注意:在计算机物理学中,主要讨论对称矩阵的特征值分解。

特征值的思想:针对于每一个“轴”的指定缩放。

在这里插入图片描述

5.3 LU分解

LU分解的思想:将任何矩阵都能分解为上三角和下三角矩阵的乘积,主要用于求解Ax=b线性方程。

在这里插入图片描述

6. 矩阵正定

矩阵正定的通常判定方法:
(1)判定特征值的正负性
(2)使用对角占优的方法判定正定,注意,对角占优能推出正定,但正定不一定对角占优
(3)正定矩阵必定可逆

在这里插入图片描述

7. 迭代法求解线性系统

主要目的:使 b − A x [ k ] b-Ax^{[k]} bAx[k] 趋近于0,这要求 1 − 1- 1 α \alpha α A M − 1 AM^{-1} AM1 的谱半径小于1 ,因此M矩阵的不同对应着不同的迭代方法。

在这里插入图片描述

可以把线性系统认为是二次优化问题, α \alpha α通常是需要试错的。

迭代法分为:
(1)Jacobi迭代法
(2)Gauss-Seidel迭代法
(3)超松弛(SOR方法)

注意:迭代法求解以后用到会详细说明。

8. 向量的求导

8.1 普通函数对向量x求一阶导

对向量x求一阶导通常用梯度进行表示,意义是最快的增长方向。

在这里插入图片描述

8.2 向量函数对向量x求一阶导

向量函数相当用于就是三个函数拼起来的向量,直接求导即可。

在这里插入图片描述

上图中Jacobian是雅可比行列式,Divergence是散度,如果将 ▽ \bigtriangledown 也看作是一个算子,那么做叉乘会得到Curl,即旋度。

8.3 普通函数对向量x求二阶导

二阶导,因为普通函数对向量求一阶导一定得到的是一个向量,再次求导相当于在做Jacobian。

在这里插入图片描述

Hessian(海森矩阵)仅仅是对一阶导的组合,同样的Hessian矩阵的对角叫做Laplacian(拉普拉斯)。

9. 函数对向量参数的泰勒展开

在这里插入图片描述

注意:对于向量的二阶泰勒展开是可以判断正定的,这可以带来很多性质,比如极值等。

10. 对弹簧的受力分析

通过链式法则和物理定律我们能推出弹簧受力时的能量、力和能量的海森矩阵。

10.1 针对于x的Norm的求导

在这里插入图片描述

10.2 单方向弹簧受力

在这里插入图片描述

10.3 双方向弹簧受力

两个方向都有力时,我们将两端的力组合成一个大向量,以相同方式计算即可。

在这里插入图片描述

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

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

相关文章

物联网的未来:连接的智能世界

物联网(IoT)是引领我们走向未来的一项关键技术。它让物品通过互联网进行连接,交流,开创了智能生活新时代。预计到2025年,全球将拥有超过410亿的IoT设备。在对人类生活的每个方面产生影响的同时,物联网也正在…

2023华为杯研究生数学建模竞赛CDEF题思路+模型代码

全程更新华为杯研赛CDEF题思路模型及代码,大家查看文末名片获取 华为杯C题思路分析 问题一 在每个评审阶段,作品通常都是随机分发的,每份作品需要多位评委独立评审。为了增加不同评审专家所给成绩之间的可比性,不同专家评审的作…

【kafka实战】03 SpringBoot使用kafka生产者和消费者示例

本节主要介绍用SpringBoot进行开发时&#xff0c;使用kafka进行生产和消费 一、引入依赖 <dependencies><dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId></dependency><depen…

zabbix自定义监控、钉钉、邮箱报警

目录 一、实验准备 二、安装 三、添加监控对象 四、添加自定义监控项 五、监控mariadb 1、添加模版查看要求 2、安装mariadb、创建用户 3、创建用户文件 4、修改监控模版 5、在上述文件中配置路径 6、重启zabbix-agent验证 六、监控NGINX 1、安装NGINX&#xff0c…

207.Flink(二):架构及核心概念,flink从各种数据源读取数据,各种算子转化数据,将数据推送到各数据源

一、Flink架构及核心概念 1.系统架构 JobMaster是JobManager中最核心的组件,负责处理单独的作业(Job)。一个job对应一个jobManager 2.并行度 (1)并行度(Parallelism)概念 一个特定算子的子任务(subtask)的个数被称之为其并行度(parallelism)。这样,包含并行子任…

实验五 熟悉 Hive 的基本操作

实验环境&#xff1a; 1.操作系统&#xff1a;CentOS 7。 2.Hadoop 版本&#xff1a;3.3.0。 3.Hive 版本&#xff1a;3.1.2。 4.JDK 版本&#xff1a;1.8。 实验内容与完成情况&#xff1a; &#xff08;1&#xff09;创建一个内部表 stocks&#xff0c;字段分隔符为英文逗号…

爬虫 — Scrapy 框架(一)

目录 一、介绍1、同步与异步2、阻塞与非阻塞 二、工作流程三、项目结构1、安装2、项目文件夹2.1、方式一2.2、方式二 3、创建项目4、项目文件组成4.1、piders/__ init __.py4.2、spiders/demo.py4.3、__ init __.py4.4、items.py4.5、middlewares.py4.6、pipelines.py4.7、sett…

BOM与DOM--记录

BOM基础&#xff08;BOM简介、常见事件、定时器、this指向&#xff09; BOM和DOM的区别和联系 JavaScript的DOM与BOM的区别与用法详解 DOM和BOM是什么&#xff1f;有什么作用&#xff1f; 图解BOM与DOM的区别与联系 BOM和DOM详解 JavaScript 中的 BOM&#xff08;浏览器对…

睿趣科技:抖音开通蓝V怎么操作的

在抖音这个充满创意和活力的社交媒体平台上&#xff0c;蓝V认证成为了许多用户的梦想之一。蓝V认证不仅是身份的象征&#xff0c;还可以增加用户的影响力和可信度。但是&#xff0c;要在抖音上获得蓝V认证并不是一件容易的事情。下面&#xff0c;我们将介绍一些操作步骤&#x…

小米笔试题——01背包问题变种

这段代码的主要思路是使用动态规划来构建一个二维数组 dp&#xff0c;其中 dp[i][j] 表示前 i 个产品是否可以组合出金额 j。通过遍历产品列表和可能的目标金额&#xff0c;不断更新 dp 数组中的值&#xff0c;最终返回 dp[N][M] 来判断是否可以组合出目标金额 M。如果 dp[N][M…

Android studio安卓生成APK文件安装包方法

1.点击Build->Generate Signed Bundle/APK 2.选择APK 3.首次生成&#xff0c;没有jks文件&#xff0c;就点击Create new。再次生成&#xff0c;直接点Next 4.选择创建jks文件路径 5.点击Next 6.选择release 7.生成完成的apk安装包路径

【论文阅读 08】Adaptive Anomaly Detection within Near-regular Milling Textures

2013年&#xff0c;太老了&#xff0c;先不看 比较老的一篇论文&#xff0c;近规则铣削纹理中的自适应异常检测 1 Abstract 在钢质量控制中的应用&#xff0c;我们提出了图像处理算法&#xff0c;用于无监督地检测隐藏在全局铣削模式内的异常。因此&#xff0c;我们考虑了基于…

uniapp小程序点击按钮直接退出小程序效果demo(整理)

点击按钮直接退出小程序 <navigator target"miniProgram" open-type"exit">退出小程序</navigator>

Android Key/Trust Store研究+ssl证书密钥

前言&#xff1a;软件搞环境涉及到了中间件thal trustzone certificate key&#xff0c;翻译过来是thal信任区域证书密钥 &#xff0c;不明白这是什么&#xff0c;学习一下 ssl证书密钥 SSL密钥是SSL加密通信中的重要组成部分。SSL证书通过加密算法生成&#xff0c;用于保护网…

Oracle 11g RAC部署笔记

搭了三次才搭好&#xff0c;要记录一下。 1. Oracle 11g RAC部署的相关步骤以及需要的包&#xff0c;可以参考这里。 Oracle 11g RAC部署_12006142的技术博客_51CTO博客Oracle 11g RAC部署&#xff0c;Oracle11gRAC部署操作环境&#xff1a;CentOS7.4Oracle11.2.0.4一、主机网…

解决老版本Oracle VirtualBox 此应用无法在此设备上运行问题

问题现象 安装华为eNSP模拟器的时候&#xff0c;对应的Oracle VirtualBox-5.2.26安装的时候提示兼容性问题&#xff0c;无法进行安装&#xff0c;具体版本信息如下&#xff1a; 软件对应版本备注Windows 11专业工作站版22H222621eNSP1.3.00.100 V100R003C00 SPC100终结正式版…

利用优化算法提高爬虫任务调度效率

目录 一、任务调度优化的重要性 二、选择合适的优化算法 三、建立任务调度模型 四、设计适应性函数 五、算法实施和调优 六、性能评估和优化结果分析 代码示例 总结 随着网络信息的爆炸式增长&#xff0c;网络爬虫在信息获取和数据挖掘等领域的应用越来越广泛。然而&am…

Arduino程序设计(十一)8×8 共阳极LED点阵显示(74HC595)

88 共阳极LED点阵显示 前言一、74HC595点阵模块1、74HC595介绍2、74HC595工作原理3、1088BS介绍4、74HC595点阵模块 二、点阵显示实验1、点阵显示初探2、点阵显示进阶3、点阵显示高阶3.1 点阵显示汉字&#xff08;方法1&#xff09;3.2 点阵显示汉字&#xff08;方法2&#xff…

conda的安装和使用

参考资料&#xff1a; https://www.bilibili.com/read/cv8956636/?spm_id_from333.999.0.0 https://www.bilibili.com/video/BV1Mv411x775/?spm_id_from333.999.0.0&vd_source98d31d5c9db8c0021988f2c2c25a9620 目录 conda是啥以及作用conda的安装conda的启动conda的配置…

2023华为杯D题——基于Kaya模型的碳排放达峰实证研究

一、前言 化石能源是推动现代经济增长的重要生产要素&#xff0c;经济生产活动与碳排放活动密切相关。充分认识经济增长与碳排放之间的关系对转变生产方式&#xff0c;确定碳达峰、碳中和路径极为必要。本研究在对经济增长与碳排放关系现有研究梳理的基础上&#xff0c;系统地分…