3D数学基础
文章平均质量分 65
&动感超人
读书笔记,不求甚解!
展开
-
骨骼蒙皮动画(二)
转载:http://blog.csdn.net/ccx1234/article/details/6641944骨骼蒙皮动画(Skinned Mesh)的原理解析(一)一)3D模型动画基本原理和分类3D模型动画的基本原理是让模型中各顶点的位置随时间变化。主要种类有Morph动画,关节动画和骨骼蒙皮动画(Skinned Mesh)。从动画数据的角度来说,三者一般都采用关键帧技术,即只给出关键帧的数据,其他帧的数据使用插值得到。但由于这三种技术的不同,关键帧的数据 是不一样的。M...转载 2021-02-25 12:14:13 · 584 阅读 · 0 评论 -
碰撞检测之分离轴定理算法
本文转载自https://blog.csdn.net/yorhomwang/article/details/54869018,感谢博主分享本文翻译自@sevenson的文章Separating Axis Theorem (SAT) Explanation。原文作者用的是ActionScript 3来编写算法,不过文中主要讲述的还是算法原理,我想一旦算法原理被我们掌握了,选择什么编程语言来实现算法都是次要的事情了。本人并非英文专业,所以文中翻译得有不妥或疏漏之处,欢迎各位指正,谢谢!正文如下:..转载 2021-02-22 13:14:23 · 649 阅读 · 0 评论 -
贝塞尔曲线
https://www.jianshu.com/p/8f82db9556d2转载 2021-02-01 19:03:54 · 107 阅读 · 0 评论 -
3D数学基础——Rotator类的C++实现
Rotator类的C++实现FRotator类用来以欧拉角形式保存方位,使用pitch-yaw-roll进行约定,类的定义如下(来自于unreal4源码):struct FRotator{public: float Pitch; float Yaw; float Roll;public: static CORE_API const FRotator ZeroRotator;public: inline FRotator() { }; explicit inli原创 2020-07-08 00:10:13 · 968 阅读 · 1 评论 -
3D数学基础——矩阵和欧拉角的应用 :camera类的实现
矩阵和欧拉角的应用 :camera类的实现摄像机/观察空间所谓观察空间就是以摄像机的视角作为场景原点时场景中所有的顶点坐标:观察矩阵把所有的世界坐标变换为相对于摄像机位置与方向的观察坐标。要定义一个摄像机,我们需要它在世界空间中的位置、观察的方向、一个指向它右测的向量以及一个指向它上方的向量;实际上是创建了一个三个单位轴相互垂直的、以摄像机的位置为原点的坐标系。1. 摄像机位置摄像机位置就是世界空间中一个指向摄像机位置的向量,设置位置为:glm::vec3 cameraPos =原创 2020-07-05 23:51:58 · 938 阅读 · 0 评论 -
3D数学基础——矩阵、欧拉角和四元数的相互转换与比较
矩阵、欧拉角和四元数的相互转换与比较相互转换欧拉角转换到矩阵矩阵转换到欧拉角四元数转换到矩阵矩阵转换到四元数欧拉角转换到四元数四元数转换到欧拉角方位表示比较矩阵优点可以立即进行向量的旋转; 矩阵的形式被图形API所使用;当和图形API交流时,最终必须用矩阵来描述所需的转换; 矩阵的组合实现多个角位移的连接; 逆矩阵就是“相反"的角位移,因为旋转矩阵是正交的,而正交矩阵的逆矩阵等于 转置矩阵。缺点矩阵占用更多的空间,欧...原创 2020-07-03 08:17:30 · 724 阅读 · 0 评论 -
3D数学基础——四元数的介绍
四元素四元数是由哈密顿在1843年爱尔兰发现的。当时他正研究扩展复数到更高的维次(复数可视为平面上的点)。他不能做到三维空间的例子,但四维则造出四元数。根据哈密顿记述,他于10月16日跟他的妻子在都柏林的皇家运河(Royal Canal)上散步时突然想到i² = j² = k² = ijk = -1的方程解。之后哈密顿立刻将此方程刻在附近布鲁穆桥(Brougham Bridge,...原创 2020-06-30 00:03:38 · 2973 阅读 · 0 评论 -
3D数学基础——欧拉角与万向节死锁
欧拉角万向节死锁原创 2020-07-02 00:08:08 · 599 阅读 · 0 评论 -
3D数学基础——矩阵的介绍与使用
矩阵现在我们已经讨论了向量的全部内容,是时候看看矩阵了!简单来说矩阵就是一个矩形的数字、符号或表达式数组。矩阵中每一项叫做矩阵的元素(Element)。下面是一个2×3矩阵的例子: 矩阵可以通过(i, j)进行索引,i是行,j是列,这就是上面的矩阵叫做2×3矩阵的原因(3列2行,也叫做矩阵的维度(Dimension))。这与你在索引2D图像时的(x, y)相反,获取4的索引是(2, 1)(第二行,第一列)(译注:如果是图像索引应该是(1, 2)...原创 2020-06-17 00:11:37 · 2726 阅读 · 0 评论 -
3D数据基础——向量介绍与3D向量类的实现
向量向量最基本的定义就是一个方向。或者更正式的说,向量有一个方向(Direction)和大小(Magnitude,也叫做强度或长度);向量可以在任意维度(Dimension)上,但是我们通常只使用2至4维。如果一个向量有2个维度,它表示一个平面的方向(想象一下2D的图像),当它有3个维度的时候它可以表达一个3D世界的方向。下面你会看到3个向量,每个向量在2D图像中都用一个箭头(x, y)表示。我们在2D图片中展示这些向量,因为这样子会更直观一点。你可以把这些2D向量当做z坐标为0的3D向量。由于向量原创 2020-06-15 00:19:45 · 1687 阅读 · 0 评论 -
OpenGL——坐标系统与变换矩阵
为了将坐标从一个坐标系变换到另一个坐标系,我们需要用到几个变换矩阵局部空间(Local Space,或者称为物体空间(Object Space)) 世界空间(World Space) 观察空间(View Space,或者称为视觉空间(Eye Space)) 裁剪空间(Clip Space) 屏幕空间(Screen Space)顶点坐标起始于局部空间(Local Space),在这里它称为局部坐标(Local Coordinate),它在之后会变为世界坐(WorldCoordinate),观原创 2020-06-01 21:49:11 · 573 阅读 · 0 评论 -
3D数学基础——向量与矩阵变换
向量相乘1. 点乘 两个向量的点乘等于他们的数乘结果乘以两个向量之间家教的余弦值。 v¯⋅k¯=||v¯||⋅||k¯||⋅cosθ cosθ=v¯⋅k¯||v¯||⋅||k¯|| 通过点乘的结果计算两个非单位向量的夹角2. 叉乘 叉乘只在3d空间中有定义,他需要两个不平行向量作为输入,生成一个正交于两个输入向量的第三个向量矩阵相乘1. 矩阵相乘的限制: a. 只有当左侧矩阵的列数与右侧矩阵...原创 2020-05-31 23:08:46 · 1267 阅读 · 0 评论