1.一种基于三维引擎的阵列式场景构建方法,其特征在于,包括如下操作:
S1、基于待处理三维模型在空间轴上的旋转角度,得到模型旋转四元数;
所述模型旋转四元数与对应的缩放比和平移距离,经旋转矩阵构建后,与旋转中心矩阵相乘,得到旋转变换矩阵;所述旋转中心矩阵是基于旋转中心构建的单位矩阵;具体为:基于模型旋转四元数与对应的缩放比和平移距离得到旋转矩阵;旋转矩阵和旋转中心矩阵相乘得到旋转变换矩阵;
待处理三维模型的缩放,分别与空间轴上对应的缩放比相乘后,经矩阵构建,得到缩放矩阵;
所述缩放矩阵与旋转变换矩阵和缩放中心矩阵相乘,得到缩放变换矩阵;
待处理三维模型在场景中的基点位置,与所述缩放变换矩阵相乘,得到位置变换矩阵;
所述待处理三维模型在场景中的基点位置为,待处理三维模型粘贴至软件场景中时旋转的粘贴位置,为预设的阵列式构建数据的位置数据;
S2、获取待处理三维模型的初始世界矩阵,将所述初始世界矩阵作为第一阵列的坐标系矩阵;
上一阵列的坐标系矩阵,与所述位置变换矩阵和初始世界矩阵的逆相乘,得到当前阵列的坐标系矩阵;
所有阵列的坐标系矩阵,形成了阵列坐标系矩阵集;
S3、基于所述阵列坐标系矩阵集,对所述待处理三维模型进行更新,得到若干个阵列式构建模型,用于形成阵列式场景;
若待处理三维模型是由含有层次关系的多个模块组成,则分别获取每个模块的父子级联形式的树数据,经分割处理,得到多个以父节点为头节点的树数据,形成了父节点树数据集;获取所述父节点树数据集中,每个父节点的所有子孙节点的扁平化位置数据,得到每个父节点的子孙扁平化数据;每个父节点的子孙扁平化数据,分别作为一个待处理三维模型用于执行所述S1、S2和S3中的操作。
2.根据权利要求1所述的基于三维引擎的阵列式场景构建方法,其特征在于,所述模型旋转四元数由横轴旋转元数、纵轴旋转元数、竖轴旋转元数和旋转角度元数组成;
所述横轴旋转元数、纵轴旋转元数、竖轴旋转元数和旋转角度元数均是基于横轴旋转角度、纵轴旋转角度和竖轴旋转角度得到的。
3.根据权利要求2所述的基于三维引擎的阵列式场景构建方法,其特征在于,所述横轴旋转元数的获取方法通过如下公式实现:Yx=cos(ry/2)·sin(rx/2)·cos(rz/2)+sin(ry/2)·cos(rx/2)·sin(rz/2),Yx为所述横轴旋转元数,rx为横轴旋转角度对应的旋转弧度,ry为纵轴旋转角度对应的旋转弧度,rz为竖轴旋转角度对应的旋转弧度。
4.根据权利要求2所述的基于三维引擎的阵列式场景构建方法,其特征在于,所述纵轴旋转元数的获取方法为:Yy=sin(ry/2)·cos(rx/2)·cos(rz/2)‑cos(ry/2)·sin(rx/2)·sin(rz/2),Yy为所述纵轴旋转元数。
5.根据权利要求2所述的基于三维引擎的阵列式场景构建方法,其特征在于,所述竖轴旋转元数的获取方法为:Yz=cos(ry/2)·cos(rx/2)·sin(rz/2)‑sin(ry/2)·sin(rx/2)·cos(rz/2),Yz为所述纵轴旋转元数。
6.根据权利要求2所述的基于三维引擎的阵列式场景构建方法,其特征在于,所述旋转角度元数的获取方法为:Yw=cos(ry/2)·cos(rx/2)·cos(rz/2)+sin(ry/2)·sin(rx/2)·sin(rz/2),Yw为所述旋转角度元数。
7.一种基于三维引擎的阵列式场景构建系统,其特征在于,包括:
位置变换矩阵生成模块,用于基于待处理三维模型在空间轴上的旋转角度,得到模型旋转四元数;所述模型旋转四元数与对应的缩放比和平移距离,经旋转矩阵构建后,与旋转中心矩阵相乘,得到旋转变换矩阵;所述旋转中心矩阵是基于旋转中心构建的单位矩阵;具体为:基于模型旋转四元数与对应的缩放比和平移距离得到旋转矩阵;旋转矩阵和旋转中心矩阵相乘得到旋转变换矩阵;待处理三维模型的缩放,分别与空间轴上对应的缩放比相乘后,经矩阵构建,得到缩放矩阵;所述缩放矩阵与旋转变换矩阵和缩放中心矩阵相乘,得到缩放变换矩阵;待处理三维模型在场景中的基点位置,与所述缩放变换矩阵相乘,得到位置变换矩阵;所述待处理三维模型在场景中的基点位置为,待处理三维模型粘贴至软件场景中时旋转的粘贴位置,为预设的阵列式构建数据的位置数据;
阵列坐标系矩阵集生成模块,用于获取待处理三维模型的初始世界矩阵,将所述初始世界矩阵作为第一阵列的坐标系矩阵;上一阵列的坐标系矩阵,与所述位置变换矩阵和初始世界矩阵的逆相乘,得到当前阵列的坐标系矩阵;所有阵列的坐标系矩阵,形成了阵列坐标系矩阵集;
若干个阵列式构建模型生成模块,用于基于所述阵列坐标系矩阵集,对所述待处理三维模型进行更新,得到若干个阵列式构建模型,用于形成阵列式场景;
若待处理三维模型是由含有层次关系的多个模块组成,则分别获取每个模块的父子级联形式的树数据,经分割处理,得到多个以父节点为头节点的树数据,形成了父节点树数据集;获取所述父节点树数据集中,每个父节点的所有子孙节点的扁平化位置数据,得到每个父节点的子孙扁平化数据;每个父节点的子孙扁平化数据,分别作为一个待处理三维模型,分别作为一个待处理三维模型用于执行所述位置变换矩阵生成模块、阵列坐标系矩阵集生成模块和若干个阵列式构建模型生成模块中的操作。
8.一种基于三维引擎的阵列式场景构建设备,其特征在于,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1‑6任一项所述的基于三维引擎的阵列式场景构建方法。
9.一种计算机可读存储介质,其特征在于,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1‑6中任一项所述的基于三维引擎的阵列式场景构建方法。