3D引擎的基础数学知识
1. 左右手坐标系
Unity使用的是左手坐标系,但是它的观察空间使用的是右手坐标系。
(Unity场景中) (Unity视图空间)
2. 向量(vector)
2.1. 向量和标量(scalar)乘法:
2.2. 向量加减法:
2.3. 向量的模(magnitude)
2.4. 向量的点积(dot product)或内积(inner product)
2.5. 向量的叉积(cross product)或外积(outer product)
3. 矩阵(matrix)
3.1 与标量相乘
3.2 与矩阵相乘
3.3. 性质
3.4.1 方块矩阵、方阵(square matrix)
3.4.2 对角矩阵(diagonal matrix)
3.4.3 单位矩阵(identity matrix)
3.4 转置矩阵(transposed matrix)
4.5. 逆矩阵(inverse matrix)
4.6. 正交矩阵(orthogonal matrix)
4. 变换(transform)
4.1. 线性变换(linear transform)
4.2. 仿射变换(affine transform)
4.3. 常用变换矩阵
5. 法线变换
- 需要用变换顶点的变换矩阵的逆转置矩阵来变换法线,才能确保法线的垂直性。
- 如果变换矩阵是正交矩阵(只包含旋转变换的矩阵是正交矩阵),可以用变换顶点的矩阵变换法线。
- 如果变换只包含旋转和统一缩放,可以使用来变换。
3D引擎的基础数学知识相关推荐
- 虚幻引擎的数学知识学习教程 Math for Unreal Engine (Early Preview)
通过做真实世界的 Unreal Engine项目来学习数学 你会学到什么 理解游戏开发对数学的基本需求 将数学直接应用到用例中,而不是钻研理论(用我们的示例项目进行实践) 正确编辑短视频,节省您的时间 ...
- 关于如何学好游戏3D引擎编程的一些经验
原帖地址:http://www.opengpu.org/bbs/forum.php?mod=viewthread&tid=2202&extra=page%3D1 此篇文章献给那些为了游 ...
- 如何学好游戏3D引擎编程(摘抄)
网上看到,觉得很好,因此收藏一下,侵删. <如何学好游戏3D引擎编程> 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术 ...
- Unity引擎UI模块知识Tree
Unity引擎在4.6版本之前是没有内置的UI解决方案的.当时最流行的就是NGUI的框架,目前主流的UI解决方案就是NGUI和UGUI,近几年来,更是以UGUI为主,同时也有团队开始使用FairyGU ...
- Python pyglet 自制3D引擎入门(一) -- 绘制几何体、创建3D场景
Python作为目前较广泛的编程语言, 用于制作3D游戏可谓得心应手.本文讲解应用Python pyglet库绘制3D场景的入门知识. 下篇:Python pyglet 自制3D引擎入门(二) – 绘 ...
- (转)关于如何学好游戏3D引擎编程的一些经验
此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 --阿哲VS自己 QQ79134054多希望大家一起交流与沟通 这篇文章是 ...
- 如何学好游戏3D引擎编程
<如何学好游戏3D引擎编程> 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 --阿哲VS自己 QQ7 ...
- 如何学好游戏3D引擎编程的一些经验
这篇文章是我一年半前,找工作时候写的,那时是发到学校的BBS上.现在我工作了,想法和以前也有不同,但对游戏引擎编程理念还是基本差不多.在我没遇到U3以前,一直研究WILDMAGIC,可以说是GAMEB ...
- 3D引擎架构设计高级篇
3D引擎架构设计最核心的技术包括:引擎框架设计,引擎内存管理,大场景加载以及卸载,引擎的渲染,模型骨骼插件:其他的模块还有粒子,AI,行为树,UI等等吧. 市场上对于引擎开发的需求也是比较大的,而且薪 ...
最新文章
- C++中内存分配、函数调用和返回值问题
- PetShop之ASP.NET缓存
- MongoDB命令--自用记录
- js uri解码_js进行URL编码(escape,encodeURI,encodeURIComponent)
- c#双缓冲绘图(不闪烁的几种方法)
- Linux部署Web应用程序超链接下载中文名称文件404问题解决办法
- 团队项目--设计类图
- 接力,智能指针也麻烦
- 大话项目管理工具之Confluence篇
- 30分钟快速上手Docker,看这篇就对了!
- 基于实现韦尔奇·鲍威尔法对图进行着色
- Mysql面试题(100+)
- vscode终端显示中文字符乱码解决
- namecheap 添加二级域名
- mac用什么软件测试硬盘好坏,谁说果粉不在意性能?6款macOS下硬盘测速软件介绍...
- 修改已经上线的小程序名称
- 进化:屌丝的互联网逆袭之路
- 这100 个网络基础知识,看完成半个网络高手
- flutter 九宫格菜单_flutter九宫格图片查看器
- c语言程序设计创新大作业,C语言程序设计大作业报告.pdf
热门文章
- php个人发展计划,教师个人发展计划
- node.js实现微信授权登录,最详细最简单小白教程。。
- 2.3.5 linux软件管理 :debian和RedHat体系常用软件安装: axel 安装
- atxserver运行没有反应_atxserver2 部署遇到一些问题
- “一带一路”国际商协会大会10月29日在京盛大开幕
- android转ios系统,王者荣耀安卓怎么转苹果系统 安卓转ios系统方法
- 豆瓣 9.0,评论人数过万的 9 本经典科技图书 | 码书排行榜
- fmt库需要使用-fPIC参数recompile
- 【运营小卖部】短视频剪辑,短视频拍摄教程,直播教程
- 抖音上的视频用什么软件做的?