摘要:
ARCore中提供了根据屏幕坐标、视口大小及view、 project矩阵计算从屏幕坐标发射一条射线的方法,此方法用于3D拾取。 原理: 一、世界坐标系的点P1转化到投影空间得到点P2的公式是:P2 = P1 * viewMatrix * projectMatrix = P1 * viewProjM 阅读全文
摘要:
ARCore中四元数差值算法: 其中t的取值范围为[0, 1],当 t = 0 时,结果为a;当t = 1 时,结果为b。 阅读全文
摘要:
ARCore中Pose类变换点的算法实现,主要分为两步,分别是平移和旋转。 1. 旋转向量:通过四元数计算旋转后的向量 参数列表:q表示四元数, v是长度为4的float数组,表示待旋转的向量, offsetIn表示第一个坐标值的起始索引, out代表结果向量, offsetOut表示结果向量的三个 阅读全文
摘要:
投影矩阵元素Projection Matrix 投影矩阵构建: 当f趋向于正无穷时: 一个重要的事实是,当f趋于正无穷时,在剪裁空间中点的z坐标跟w坐标相等。计算方法如下: 经过透视除法后,z坐标变为1,这意味着被投影的点正好投影到远平面上,其中透视除法是点的x,y,z,w分别除以w。 阅读全文
摘要:
C++常用的函数指针 语法:返回值类型 (*函数名)(参数列表); 举例说明:int (*Func)(int m, int n); 用typedef简化函数指针的定义 例如: 函数指针的初始化和赋值 指针函数可以作为形参 有两种方式: 返回指向函数的指针 例如: 这句话的意思是:ff(int)是一个 阅读全文
摘要:
第七章 函数学习笔记 一步一个脚印、循序渐进的学习。 一、参数传递 1. 每次调用函数时,都会重新创建函数所有的形参,此时所传递的实参将会初始化对应的形参。 「如果形参是非引用类型,则复制实参的值来初始化形参;如果形参是引用类型,则形参只是实参的别名。」 「非引用形参表示对实参的局部副本,函数内修改 阅读全文
摘要:
C++ Primer 第七章-函数学习笔记 一步一个脚印、循序渐进的学习。 一、参数传递 「如果形参是非引用类型,则复制实参的值来初始化形参;如果形参是引用类型,则形参只是实参的别名。」 「非引用形参表示对实参的局部副本,函数内修改此类型形参时仅仅改变局部副本的值,一旦函数执行结束,这些局部变量的值 阅读全文
摘要:
OpenGL ES平移矩阵和旋转矩阵的左乘与右乘 在OpenGL 、OpenGL ES中矩阵起着举足轻重的作用,而矩阵之间的左乘与右乘在效果上是不同的。 一、先平移后旋转 场景效果:人绕树旋转。 原理:以树为参考点,首先将人平移到树坐标系的指定位置(平移矩阵),然后旋转一定角度(旋转矩阵)。 公式: 阅读全文
摘要:
sizeof的常见用法 1. 基本类型所占的内存大小 上表中是基本类型在不同平台上所占用的内存大小,例如sizeof(int) = 4。 2.sizeof计算数组占用的字节数 使用sizeof计算数组占用内存的字节数的计算方法是 类型字节数*数组长度。 例如: 使用sizeof计算m_aNums的字 阅读全文
摘要:
一、vector的使用 1. #include <vector> 2. 初始化的四种方法 vector<T> v1; vector<T> v2(v1); vector<T> v3(n, i);//长度为n,元素值均是i vector<T> v4(n);//长度为0,元素均为0 3. 常用方法 (1) 阅读全文