一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于建模软件脚本的三维模型优化方法及系统与流程

2022-02-22 08:04:43 来源:中国专利 TAG:


1.本发明属于计算机视觉技术、三维建模技术、计算机图像处理领域,具体涉及一种基于建模软件脚本的三维模型优化方法及系统。


背景技术:

2.在rhino、grasshoper等的3d软件的三维建模中,时常会出现很多重复化的繁琐操作和无法调整设计的建模模型达到协调的效果,并且在现有的这些3d建模软件中,由于其软件本身的局限性,无法将很多具象和效果体现出来,具有很多设计界限,无法塑造出更多元、更有机的形态。为打破现有3d模型软件的局限性,因此需要依赖于通过设计建模软件的脚本从而对设计的三维模型进行调优和批处理解决上述问题,现有的3d软件的功能过于模板化,很多个性化的模型的模块连接处过于生硬,衔接处无法自然过渡,有大量的毛刺、缝隙和贴图的毛边,由于个性化的模型过渡的不连贯,使得整体的模型无法体现出好的效果、并且这些毛刺、缝隙和贴图的毛边还需要消耗大量的系统内存资源和显示存储资源,使得三维模型显示起来加载的速度变慢。


技术实现要素:

3.本发明的目的在于提出一种基于建模软件脚本的三维模型优化方法及系统,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
4.为了实现上述目的,根据本发明的一方面,提供一种基于建模软件脚本的三维模型优化方法,所述方法包括以下步骤:s100,获取三维模型文件;s200,从三维模型文件中读取三维模型,将三维模型进行大小缩放,并放置到预设的三维场景中得到第一模型;s300,对第一模型中三维模型与三维场景结合边缘位置进行修正得到第二模型;s400,对第二模型进行光影渲染得到最终的三维模型。
5.进一步地,将所述方法的步骤s100到s400封装到建模软件的脚本程序中,从而将该脚本程序运行在计算机中。
6.进一步地,在s100中,所述三维模型文件通过rhino、grasshoper、civil3d、infraworks等三维建模软件设计或者所述三维模型文件通过三维扫描仪或三坐标测量机采集工件、建筑物或者家具等获取的三维模型得到的obj文件、brep文件、max文件、3dm文件、3ds文件、stl文件中任意一种。
7.进一步地,在s200中,预设的三维场景也叫三维虚拟场景,是利用三维建模软件,生成的一个基础环境模型,或者,预设的三维场景也可以为三维扫描仪或三坐标测量机采集的桥梁、机械或者建筑物获得的三维模型。
8.进一步地,在s300中,对第一模型中三维模型与三维场景结合边缘位置进行修正得到第二模型的方法包括:
s301,获取第一模型中三维模型与三维场景的连接位置(重叠位置)的曲线段作为结合边缘线;s302,将三维模型与三维场景细分为多个子区域,识别出与子区域有共同边界线在结合边缘线上的中心结合区域和次级结合区域,具体方法为:s3021,通过catmull-clark算法(catmull-clark subdivision)对三维模型进行1至4次细分后获得三维模型的多个细分的子区域,由三维模型的各个所述子区域构成集合mx;通过catmull-clark算法对三维场景进行1至4次细分后获得三维场景的多个细分的子区域,由三维场景的各个所述子区域构成集合cj;catmull-clark算法生成的每个子区域至少包括4个顶点;取集合mx中各个子区域的边界线与结合边缘线有重合的子区域作为第一结合区域集合s1={smx
i1
},smx
i1
是集合s1中第i1个子区域,变量i1∈[1,h1],h1是集合s1中子区域的数量;取集合cj中各个子区域的边界线与结合边缘线有重合的子区域作为第二结合区域集合s2={scj
i2
},scj
i2
是集合s2中第i2个子区域,变量i2∈[1,h2],h2是集合s2中子区域的数量;s3022,记smx
i1
的边界线上距离结合边缘线最远的点为i1基准点(当所述最远的点有多个,则随机取其中的一个作为i1基准点),或者,以smx
i1
的各个顶点中距离结合边缘线上各个点中最远的顶点为i1基准点,扫描集合s2中与smx
i1
有共同边界线在结合边缘线上的所有子区域,将这些子区域标记为中心结合区域;共同边界线为两个子区域之间的分界线段;将以i1基准点为圆心、以maxd为半径的圆形区域记为中心域g1,取集合mx和集合cj中所有与中心域g1有交集但不是中心结合区域的所有子区域,将这些子区域标记为次级结合区域;其中,maxd为i1基准点到各个结合区域的所有顶点中距离最大的顶点的距离值;通过以上步骤s3021到s3022计算将三维模型与三维场景细分为多个子区域,识别出与集合s1中所有的子区域smx
i1
有共同边界线在结合边缘线上的中心结合区域和次级结合区域。
[0009]
s303,计算各个子区域与该子区域对应的各个中心结合区域在结合边缘上的共同边界线的过渡值;具体为:计算smx
i1
与各个中心结合区域在结合边缘上的共同边界线的过渡值trany:(计算出smx
i1
在共同分界线另一侧相邻区域的像素点和smx
i1
是否具有连贯性,若过渡值过小则连接处相邻区域的像素不匹配的概率很大);,或者,,其中,com(k1,y)为smx
i1
与第y个中心结合区域的共同边界线上第k1个像素点的连贯值,变量k1∈[1,tol],tol为smx
i1
与第y个中心结合区域的共同边界线的像素点总数,log()函数为以a为底的取对数函数,exp为指数函数;第y个中心结合区域的上第k1个像素点的连贯值com(k1,y)的计算方法为:依次计算各个灰度化后的中心结合区域中所有像素的平均灰度值构成中心灰度集合cengray;依次计算各个灰度化后的次级结合区域中所有像素的平均灰度值构成次级灰度集合secgray;计算连贯值com(k1,y):
com(k1,y)=(|mean(cengray)-gar(k1)| |mean(secgray)-gar(k1)|)
÷
2;其中,mean()函数表示取集合中所有元素的平均值,gar(k1)为灰度化后的smx
i1
与第y个中心结合区域的共同边界线上第k1个像素点的灰度值;通过以上步骤s303计算集合s1中所有的子区域smx
i1
与该子区域对应的各个中心结合区域在结合边缘上的共同边界线的过渡值。
[0010]
s304,根据过渡值识别出各个子区域的中心结合区域中的过渡不连贯区域;具体方法为:计算smx
i1
与所有的中心结合区域在结合边缘上的共同边界线的所有过渡值trany的算术平均值为avetran,标记出过渡值trany小于或等于avetran的中心结合区域为过渡不连贯区域;s305,以各个子区域的各个次级结合区域将过渡不连贯区域进行调整修复得到修复后的模型;具体方法为:s3051,记子区域smx
i1
的所有过渡不连贯区域的集合为rep=(rep
i3
),rep
i3
是集合rep中第i3个子区域,变量i3∈[1,h3],h3是子区域smx
i1
的过渡不连贯区域的数量;s3052,以子区域smx
i1
的i1基准点为第一标点p1,rep
i3
的几何中心点为p2,以p1到p2的直线为l1,取子区域smx
i1
的各个次级结合区域的几何中心点中到l1的垂线段距离最短的几何中心点所对应的次级结合区域作为拟合区域(即,取子区域smx
i1
的各个次级结合区域的几何中心点,将各个所述几何中心点到l1的垂线段中最短的垂线段所对应的几何中心点所在的次级结合区域作为拟合区域);(获取距离过渡不连贯区域较近的像素区域用来修复不连贯的区域);s3053,对拟合区域进行复制,将复制的拟合区域的几何中心点记为p3;将复制的拟合区域以p3为中心整体平移到p2为中心的位置,通过旋转或缩放复制的拟合区域将复制的拟合区域的各个顶点和过渡不连贯区域rep
i3
的各个顶点位置重合,或者,将复制的拟合区域以p3为中心整体平移到p2为中心的位置从而以复制的拟合区域覆盖掉过渡不连贯区域rep
i3

[0011]
通过以上步骤s3051到s3053对集合s1中所有的子区域smx
i1
的各个次级结合区域将过渡不连贯区域进行调整修复得到修复后的模型。
[0012]
s306,将修复后的模型作为第二模型输出。
[0013]
(修正后去除了毛刺以及不美观的凸起和凹陷引起的模型拼接导致过渡不连贯的问题得到第二模型)。
[0014]
进一步地,在s300中,在s306步骤后,还包括:删除子区域smx
i1
的所有的过渡不连贯区域rep
i3

[0015]
进一步地,在s400中,对第二模型进行光影渲染得到最终的三维模型的方法为:通过3dmax软件、lumenrt软件、lumion渲染器、artlantis渲染器、nvidia gelato渲染器、gelato pro渲染器、vary渲染器、corona渲染器、twinmotion渲染器中任意一种对第二模型进行光影渲染得到最终的三维模型。
[0016]
本发明还提供了一种基于建模软件脚本的三维模型优化系统,所述一种基于建模软件脚本的三维模型优化系统包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机脚本程序,所述处理器执行所述计算机脚本程序时实现所述一种基于
建模软件脚本的三维模型优化方法中的步骤,所述一种基于建模软件脚本的三维模型优化系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的系统可包括,但不仅限于,处理器、存储器、服务器集群,所述处理器执行所述计算机程序运行在以下系统的单元中:三维模型获取单元,用于获取三维模型文件;模型场景整合单元,用于从三维模型文件中读取三维模型,将三维模型进行大小缩放,并放置到预设的三维场景中得到第一模型;边缘位置过渡单元,用于对第一模型中三维模型与三维场景结合边缘位置进行修正得到第二模型;模型光影渲染单元,用于对第二模型进行光影渲染得到最终的三维模型。
[0017]
本发明的有益效果为:本发明提供一种基于建模软件脚本的三维模型优化方法及系统,使多个模型或者模型与场景之间衔接处自然过渡,减少了系统内存资源和显示存储资源的消耗,修正后去除了毛刺以及不美观的凸起和凹陷引起的模型拼接导致过渡不连贯的问题,提高了模型加载的速度。
附图说明
[0018]
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:图1所示为一种基于建模软件脚本的三维模型优化方法的流程图;图2所示为一种基于建模软件脚本的三维模型优化系统结构图。
具体实施方式
[0019]
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0020]
如图1所示为一种基于建模软件脚本的三维模型优化方法的流程图,下面结合图1来阐述根据本发明的实施方式的一种基于建模软件脚本的三维模型优化方法,所述方法包括以下步骤:s100,获取三维模型文件;s200,从三维模型文件中读取三维模型,将三维模型进行大小缩放,并放置到预设的三维场景中得到第一模型;s300,对第一模型中三维模型与三维场景结合边缘位置进行修正得到第二模型;s400,对第二模型进行光影渲染得到最终的三维模型。
[0021]
进一步地,将所述方法的步骤s100到s400封装到建模软件的脚本程序中,从而将该脚本程序运行在计算机中。
[0022]
进一步地,在s100中,所述三维模型文件通过rhino、grasshoper、civil 3d、infraworks等三维建模软件设计或者所述三维模型文件通过三维扫描仪或三坐标测量机
采集工件、建筑物或者家具等获取的三维模型得到的obj文件、brep文件、max文件、3dm文件、3ds文件、stl文件中任意一种。
[0023]
进一步地,在s200中,预设的三维场景也叫三维虚拟场景,是利用三维建模软件,生成的一个基础环境模型,或者,预设的三维场景也可以为三维扫描仪或三坐标测量机采集的桥梁、机械或者建筑物获得的三维模型。
[0024]
进一步地,在s300中,对第一模型中三维模型与三维场景结合边缘位置进行修正得到第二模型的方法包括:s301,获取第一模型中三维模型与三维场景的连接位置的曲线作为结合边缘线;s302,将三维模型与三维场景细分为多个子区域,识别出与子区域有共同边界线在结合边缘线上的中心结合区域和次级结合区域,具体方法为:s3021,通过catmull-clark算法(catmull-clark subdivision)对三维模型进行1至4次细分后获得三维模型的多个细分的子区域,由三维模型的各个所述子区域构成集合mx;通过catmull-clark算法对三维场景进行1至4次细分后获得三维场景的多个细分的子区域,由三维场景的各个所述子区域构成集合cj;catmull-clark算法生成的每个子区域至少包括4个顶点;取集合mx中各个子区域的边界线与结合边缘线有重合的子区域作为第一结合区域集合s1={smx
i1
},smx
i1
是集合s1中第i1个子区域,变量i1∈[1,h1],h1是集合s1中子区域的数量;取集合cj中各个子区域的边界线与结合边缘线有重合的子区域作为第二结合区域集合s2={scj
i2
},scj
i2
是集合s2中第i2个子区域,变量i2∈[1,h2],h2是集合s2中子区域的数量;s3022,记smx
i1
的边界线上距离结合边缘线最远的点为i1基准点(即以smx
i1
的各个顶点中距离结合边缘线最远的点为i1基准点),扫描集合s2中与smx
i1
有共同边界线在结合边缘线上的所有子区域,将这些子区域标记为中心结合区域;共同边界线为两个子区域之间的分界线段;将以i1基准点为圆心、以maxd为半径的圆形区域记为中心域g1,取集合mx和集合cj中所有与中心域g1有交集但不是中心结合区域的所有子区域,将这些子区域标记为次级结合区域;其中,maxd为i1基准点到各个结合区域的所有顶点中距离最大的顶点的距离值;s303,计算各个子区域与该子区域对应的各个中心结合区域在结合边缘上的共同边界线的过渡值;具体为:计算smx
i1
与各个中心结合区域在结合边缘上的共同边界线的过渡值trany:,或者,,其中,com(k1,y)为smx
i1
与第y个中心结合区域的共同边界线上第k1个像素点的连贯值,变量k1∈[1,tol],tol为smx
i1
与第y个中心结合区域的共同边界线的像素点总数,log()函数为以a为底的取对数函数,exp为指数函数;第y个中心结合区域的上第k1个像素点的连贯值com(k1,y)的计算方法为:依次计算各个灰度化后的中心结合区域中所有像素的平均灰度值构成中心灰度集合cengray;依次计算各个灰度化后的次级结合区域中所有像素的平均灰度值构成次级灰度集合secgray;计算连贯值com(k1,y):
com(k1,y)=(|mean(cengray)-gar(k1)| |mean(secgray)-gar(k1)|)
÷
2;其中,mean()函数表示取集合中所有元素的平均值,gar(k1)为灰度化后的smx
i1
与第y个中心结合区域的共同边界线上第k1个像素点的灰度值;s304,根据过渡值识别出各个子区域的中心结合区域中的过渡不连贯区域;具体方法为:计算smx
i1
与所有的中心结合区域在结合边缘上的共同边界线的所有过渡值trany的算术平均值为avetran,标记出过渡值trany小于或等于avetran的中心结合区域为过渡不连贯区域;s305,以各个子区域的各个次级结合区域将过渡不连贯区域进行调整修复得到修复后的模型;具体方法为:s3051,记子区域smx
i1
的所有过渡不连贯区域的集合为rep=(rep
i3
),rep
i3
是集合rep中第i3个子区域,变量i3∈[1,h3],h3是子区域smx
i1
的过渡不连贯区域的数量;s3052,以子区域smx
i1
的i1基准点为第一标点p1,rep
i3
的几何中心点为p2,以p1到p2的直线为l1,取子区域smx
i1
的各个次级结合区域的几何中心点中到l1的垂线段距离最短的几何中心点所对应的次级结合区域作为拟合区域;s3053,对拟合区域进行复制,将复制的拟合区域的几何中心点记为p3;将复制的拟合区域以p3为中心整体平移到p2为中心的位置,通过旋转或缩放复制的拟合区域将复制的拟合区域的各个顶点和过渡不连贯区域rep
i3
的各个顶点位置重合,或者,通过旋转或缩放复制的拟合区域将其各个顶点和过渡不连贯区域rep
i3
的各个顶点位置一致,从而以复制的拟合区域覆盖掉过渡不连贯区域rep
i3

[0025]
s306,将修复后的模型作为第二模型输出。
[0026]
(修正后去除了毛刺以及不美观的凸起和凹陷引起的模型拼接导致过渡不连贯的问题得到第二模型)。
[0027]
进一步地,在s300中,在s306步骤后,还包括:删除子区域smx
i1
的所有的过渡不连贯区域rep
i3

[0028]
优选地,在本公开的实施例中,一种基于建模软件脚本的三维模型优化方法的matlab语言的部分关键源代码如下:function [s1, s2, s] = catmull (v, f, iter)
ꢀꢀꢀꢀ
%通过catmull-clark算法(catmull-clark subdivision)对三维模型进行后获得三维模型的多个细分的子区域
ꢀꢀꢀꢀ
if ~exist('iter','var')
ꢀꢀꢀꢀꢀꢀꢀꢀ
iter = 2; % 1至4次细分
ꢀꢀꢀꢀ
end
ꢀꢀꢀꢀ
s1 = v;
ꢀꢀꢀꢀ
s2= f;
ꢀꢀꢀꢀꢀꢀꢀꢀ
for i = 1:iter
ꢀꢀꢀꢀꢀꢀꢀꢀ
h1= size(s1,1);
ꢀꢀꢀꢀꢀꢀꢀꢀ
h2= size(s2,1);
ꢀꢀꢀꢀꢀꢀꢀꢀ
o = outline(s2);
ꢀꢀꢀꢀꢀꢀꢀꢀ
maxd = 1:h1;
ꢀꢀꢀꢀꢀꢀꢀꢀ
boundary = o(:,1)';
ꢀꢀꢀꢀꢀꢀꢀꢀ
interior = maxd(~ismember(maxd, boundary));
ꢀꢀꢀꢀꢀꢀꢀꢀ
no = length(maxd);
ꢀꢀꢀꢀꢀꢀꢀꢀ
nb = length(boundary);
ꢀꢀꢀꢀꢀꢀꢀꢀ
ni = length(interior);%计算各个子区域与该子区域对应的各个中心结合区域在结合边缘上的共同边界线的过渡值
ꢀꢀꢀꢀꢀꢀꢀꢀ
etmp = sort([s2(:,1) s2(:,2);s2(:,2) s2(:,3);s2(:,3) s2(:,4);s2(:,4) s2(:,1)],2);
ꢀꢀꢀꢀꢀꢀꢀꢀ
[e, ~, idx] = unique(etmp, 'rows');
ꢀꢀꢀꢀꢀꢀꢀꢀ
mean = sparse([e(:,1) e(:,2)], [e(:,2) e(:,1)], 1, no, no);
ꢀꢀꢀꢀꢀꢀꢀꢀ
smx = sparse([s2(:,1) s2(:,2)], [s2(:,3) s2(:,4)], 1, no, no);
ꢀꢀꢀꢀꢀꢀꢀꢀ
smx = smx smx';
ꢀꢀꢀꢀꢀꢀꢀꢀ
val_even = sum(mean,2);
ꢀꢀꢀꢀꢀꢀꢀꢀ
beta = 3./(2*val_even);
ꢀꢀꢀꢀꢀꢀꢀꢀ
val_odd = sum(smx,2);
ꢀꢀꢀꢀꢀꢀꢀꢀ
com = 1./(4*val_odd);
ꢀꢀꢀꢀꢀꢀꢀꢀ
alpha = 1
ꢀ‑ꢀ
beta
ꢀ‑ꢀ
com;
ꢀꢀꢀꢀꢀꢀꢀꢀ
sv = sparse(no,no);
ꢀꢀꢀꢀꢀꢀꢀꢀ
sv(interior,:) = ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
sparse(1:ni, interior, alpha(interior), ni, no) ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
com(@times, mean(interior,:), beta(interior)./val_even(interior)) ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
com(@times, smx(interior,:), com(interior)./val_odd(interior));
ꢀꢀꢀꢀꢀꢀꢀꢀ
sboundary = ...sparse([cengray (:,1); cengray (:,2)],[ cengray (:,2); cengray (:,1)],1/8,no,no) ...sparse([cengray (:,1); cengray (:,2)],[ cengray (:,1); cengray (:,2)],3/8,no,no);
ꢀꢀꢀꢀꢀꢀꢀꢀ
com(boundary,:) = cengray (boundary,:);% s将三维模型与三维场景细分为多个子区域,识别出与子区域有共同边界线在结合边缘线上的中心结合区域和次级结合区域
ꢀꢀꢀꢀꢀꢀꢀꢀ
sf = 1/4 .* sparse(repmat((1:i2)',1 ,4), s2, 1);
ꢀꢀꢀꢀꢀꢀꢀꢀ
i0 = no (1:i2)';
ꢀꢀꢀꢀꢀꢀꢀꢀ
flaps = sparse([idx;idx], ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
[s2(:,3) s2(:,4);s2(:,4) s2(:,1);s2(:,1) s2(:,
2);s2(:,2) s2(:,3)], ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
1);
ꢀꢀꢀꢀꢀꢀꢀꢀ
bound = (sum(flaps,2) == 2);
ꢀꢀꢀꢀꢀꢀꢀꢀ
flaps(bound,:) = 0;
ꢀꢀꢀꢀꢀꢀꢀꢀ
ne = size(e,1);
ꢀꢀꢀꢀꢀꢀꢀꢀ
se = sparse( ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
[1:ne 1:ne]', ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
[e(:,1); e(:,2)], ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
[bound;bound].*1/2 ~[bound;bound].*3/8, ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
ne, ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
no) ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
flaps*1/16;
ꢀꢀꢀꢀꢀꢀꢀꢀ
i1 = no h2 (1:i2)';
ꢀꢀꢀꢀꢀꢀꢀꢀ
i2 = no 2*h2 (1:i2)';
ꢀꢀꢀꢀꢀꢀꢀꢀ
i3 = no 3*h2 (1:i2)';
ꢀꢀꢀꢀꢀꢀꢀꢀ
i4 = no 4*h2 (1:i2)';
ꢀꢀꢀꢀꢀꢀꢀꢀ
s2tmp = [i0 i4 s2(:,1) i1; ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
i0 i1 s2(:,2) i2; ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
i0 i2 s2(:,3) i3; ...
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
i0 i3 s2(:,4) i4];
ꢀꢀꢀꢀꢀꢀꢀꢀ
reidx = [(1:no)'; no (1:i2)'; no i2 idx];
ꢀꢀꢀꢀꢀꢀꢀꢀ
s2= com(s2tmp);
ꢀꢀꢀꢀꢀꢀꢀꢀ
s = [sv; sf; se];
ꢀꢀꢀꢀꢀꢀꢀꢀ
s1 = s*s1; end; end。
[0029]
进一步地,在s400中,对第二模型进行光影渲染得到最终的三维模型的方法为:通过3dmax软件、lumenrt软件、lumion渲染器、artlantis渲染器、nvidia gelato渲染器、gelato pro渲染器、vary渲染器、corona渲染器、twinmotion渲染器中任意一种对第二模型进行光影渲染得到最终的三维模型。
[0030]
本发明的实施例提供的一种基于建模软件脚本的三维模型优化系统,如图2所示为本发明的一种基于建模软件脚本的三维模型优化系统结构图,该实施例的一种基于建模软件脚本的三维模型优化系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于建模软件脚本的三维模型优化系统实施例中的步骤。
[0031]
所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:三维模型获取单元,用于获取三维模型文件;模型场景整合单元,用于从三维模型文件中读取三维模型,将三维模型进行大小缩放,并放置到预设的三维场景中得到第一模型;
边缘位置过渡单元,用于对第一模型中三维模型与三维场景结合边缘位置进行修正得到第二模型;模型光影渲染单元,用于对第二模型进行光影渲染得到最终的三维模型。
[0032]
所述一种基于建模软件脚本的三维模型优化系统可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种基于建模软件脚本的三维模型优化系统,可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种基于建模软件脚本的三维模型优化系统的示例,并不构成对一种基于建模软件脚本的三维模型优化系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种基于建模软件脚本的三维模型优化系统还可以包括输入输出设备、网络接入设备、总线等。
[0033]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器 (digital signal processor,dsp)、专用集成电路 (application specific integrated circuit,asic)、现场可编程门阵列 (field-programmable gate array,fpga) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种基于建模软件脚本的三维模型优化系统运行系统的控制中心,利用各种接口和线路连接整个一种基于建模软件脚本的三维模型优化系统可运行系统的各个部分。
[0034]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种基于建模软件脚本的三维模型优化系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0035]
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本发明的预定范围。此外,上文以实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献