方向向量

摄像机+LookAt矩阵+视角移动+欧拉角

牧云@^-^@ 提交于 2019-11-27 00:30:03
一: 摄像机 OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉,而不是场景在移动。 以摄像机的视角作为场景原点时场景中所有的顶点坐标:观察矩阵把所有的世界坐标变换为相对于摄像机位置与方向的观察坐标。 要定义一个摄像机,我们需要它在世界空间中的位置、观察的方向、一个指向它右测的向量以及一个指向它上方的向量。 实际上创建了一个三个单位轴相互垂直的、以摄像机的位置为原点的坐标系。 摄像机位置:摄像机位置简单来说就是世界空间中一个指向摄像机位置的向量。 glm::vec3 cameraPos = glm::vec3(0.0f, 0.0f, 3.0f); ** 摄像机方向 :这里指的是 摄像机指向哪个方向。 现在我们让摄像机指向场景原点:(0, 0, 0)。 2.1 用场景原点向量减去摄像机位置向量的结果就是摄像机的指向向量。 2.2 由于我们知道摄像机指向z轴负方向,但我们希望方向向量(Direction Vector)指向摄像机的z轴正方向。如果我们交换相减的顺序,我们就会获得一个指向摄像机正z轴方向的向量: glm::vec3 cameraTarget = glm::vec3(0.0f, 0.0f, 0.0f);//表示摄像机指向的地方,即原点 glm::vec3

5.6算法-分类-svm-支持向量机

血红的双手。 提交于 2019-11-26 22:37:51
https://blog.csdn.net/u011630575/article/details/78916747 SVM SVM:Support Vector Machine 中文名:支持向量机 学习模型 有监督学习:需要事先对数据打上分类标签,这样机器就知道数据属于哪一类。 无监督学习:数据没有打上分类标签,有可能因为不具备先验知识,或打标签的成本很高,需要机器代替我们部分完成改工作,比如将数据进行聚类,方便后人工对每个类进行分析。 SVM 是有监督的学习模型:可以进行模式识别、分类以及回归分析。 SVM工作原理 示例: 桌面上有两种颜色混乱的小球,我们将这两种小球来区分开,我们猛拍桌子小球会腾起,在腾空的那一刹那,会出现一个水平切面,将两种颜色的球分开来。 原因: 二维平面无法找出一条直线来区分小球颜色,但是在三位空间。我们可以找到一个平面来区分小球颜色,该平面我们叫做超平面。 SVM计算过程: 就是帮我们找到一个超平面的过程,该超平面就是 SVM分类器。 分类间隔 我们在示例中,会找到一个决策面来将小球颜色分离,在保证决策面C不变,且分类不产生错误的情况下,我们可以移动决策面,来产生两个极限位置:决策面A和决策面B,分界线C就是最优决策面,极限位置到最优决策面的距离就是 分类间隔 。 我们可以转动最优决策面,会发现存在多个最优决策面,它们都能把数据集正确分开

Unity基础之:UnityAPI的学习

自闭症网瘾萝莉.ら 提交于 2019-11-26 12:11:25
版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址: http://www.cnblogs.com/raymondking123/ )以及微信公众号"优梦创客" 您可以自由转载,但必须加入完整的版权声明! Quaternion 表示旋转 矩阵 //9个浮点数,数据占用量大,且除了表示旋转外,还表示缩放((0,0),(1,1),(2,2)点表示x,y,z的三个缩放) //显卡使用 欧拉角 rotation,绕x,y,z轴的旋转量 //给定朝向的表示不惟一,通过限定yaw,roll在+-180度,pitch在+-90度可以解决该问题 (pitch,绕右向量旋转,点头;yaw,绕上向量旋转,摇头;roll,绕前方向,转头;常用于飞行模拟) //万向锁 如:一个平行于x轴的向量绕y轴旋转-90度,会平行于z轴,此时所有绕z轴的旋转都不再起作用 轴角对 //用旋转轴,旋转角度的对偶表示旋转 //旋转角无唯一 单位四元数:[1,0] 1是标量,0是零向量 四元数的模,4个数的平方和开根 identity :单位四元数 eulerAngles //返回四元数对应的欧拉角,是一个属性 W,x,y,z w表示转化后的旋转值,x,y,z表示转化后的旋转轴 LookRotation //给定一个方向向量,返回表示该方向旋转的四元数 public static Quaternion