一种 2.5D下模型添加及排序的方法技术

技术编号:11267925 阅读:83 留言:0更新日期:2015-04-08 14:01
一种2.5D下模型添加及排序的方法,包括如下步骤:在2.5场景中,任意选择其中一个模型作为参考模型,获取参考模型在2.5D场景坐标系中的空间位置,用矩阵M1表示;从模型库中选择一个将要被添加到2.5D场景的模型作为移动模型;调整移动模型在参考模型顶视图和前视图中的相对位置;获取移动模型在参考模型坐标系中的空间位置;得到移动模型的在2.5D场景坐标系中的空间位置;通过2.5D场景中的相机距离2.5D场景中任意两个模型之间距离判断任意两个模型在显示上的叠加关系;通过叠加关系进行排序。通过本发明专利技术,引入参考模型的概念,从而解决了模型的精确摆放问题;通过本发明专利技术的排序方法,解决了模型叠加摆放产生的排序问题,使得可以任意摆放2.5D模型在场景中的位置。

【技术实现步骤摘要】
一种2.5D下模型添加及排序的方法
本专利技术涉及三维模型的
,具体涉及一种2.5D下模型添加及排序的方法。
技术介绍
现有的软件技术中,允许用户自由摆放2.5D模型的2.5D技术方案大多采用修改三维坐标(x,y,z)的方式,该方式存在不直观、不精确的技术缺陷,具体原因是由于模型的任意位置摆放导致2.5D场景排序出错,从而导致显示混乱,故此现有技术中大多应用都禁止了这项功能;现有技术中,由于2.5D固定视角的先天缺陷,导致了直接更改2.5D模型的三维坐标(x,y,z)的方式不直观,很难查看新添加模型相对其附近的模型的位置关系,因此很难放置准确,如若放置不妥则有可能会导致不同模型采用了相同的三维坐标;同时用户自己摆放物品后会存在模型位置叠加,导致2.5D场景整体渲染顺序出错,故此大部分的2.5D设计软件都不提倡用户随意摆放模型,设置关闭了这项功能。然而自由摆放模型,对于用户而言,却能够直观的进行整体移动、旋转、删除等操作,将会大幅度的提高用户的体验,提高操作效率,故此急需一种新型的技术方案来解决该问题。
技术实现思路
本专利技术的目的是提供一种2.5D下模型添加及排序的方法,以克服现有技术存在的上述不足。本专利技术的目的是通过以下技术方案来实现的:一种2.5D下模型添加及排序的方法,包括如下步骤:S11,在2.5D场景中,包括若干模型,每个所述模型的空间位置用一个矩阵表示;S12,在所述2.5D场景中,任意选择其中一个模型作为参考模型,获取所述参考模型在所述2.5D场景坐标系中的空间位置,用矩阵M1表示;S13,从模型库中选择一个将要被添加到所述2.5D场景的模型作为移动模型;调整所述移动模型在所述参考模型顶视图和前视图中的相对位置;获取所述移动模型在所述参考模型坐标系中的空间位置,用矩阵M2表示;S14,通过M1和M2,得到所述移动模型的在所述2.5D场景坐标系中的空间位置,用矩阵M3表示;M3=M1×M2;S15,通过所述2.5D场景中的相机距离所述2.5D场景中任意两个模型之间距离判断任意两个模型在显示上的叠加关系;S16,通过所述叠加关系进行排序。优选的,所述移动模型在所述参考模型的顶视图和前视图中添加。优选的,M1、M2、M3矩阵分别为一个三维矩阵;所述三维矩阵中包含所属模型的缩放、旋转和移动信息。优选的,S15中,任意两个模型分别为模型A和模型B;若所述模型A覆盖在所述模型B上,则从所述模型A到所述模型B形成第一个有向边,若所述模型B覆盖在所述模型A上,则从所述模型B到所述模型A形成第二个有向边;依此类推,由两两相邻的所有模型之间的叠加关系形成的有向边构成一张有向图;所述有向图包含一个以上环;S16中,通过所述叠加关系进行排序的具体实现方法为:S41,搜索若所述有向图的环,若搜索到环,则删除搜索到的环中的任意一条有向边;重复搜索环与删除搜索到的环中的任意一条有向边的过程,直至所述有向图中没有环,形成有向无环图;S42,对所述有向无环图进行拓扑排序,所述排序后的结果作为所述2.5D场景中所有模型的显示顺序。更加优选的,所述有向图包括一个以上环,环的确定方法具体为:若存在n个模型分别为[A1,A2,....,An],n≥2;对于任意i,1≤i≤n-1;Ai到Ai+1有一条有向边,且An到A1有一条有向边,则n个模型和n条首尾相连的有向边形成了一个环。更加优选的,对删除环的有向图进行拓扑排序的方法具体为:S61,获取所述2.5D场景中的模型的入度;S62,遍历所述2.5D场景中的所有模型,找到入度为0的模型,作为临界模型;输出所述临界模型,删除所述临界模型以及所有以所述临界模型为起点的有向边;S63,重复S61-S62,直到所有的模型和所有的有向边均被删除为止;S64,所述2.5D场景中的所有模型作为所述临界模型被输出的顺序,作为模型的拓扑顺序。更加优选的,S61,获取所述2.5D场景中的模型的入度的方法具体为:所述2.5D场景中的模型的入度具体为指向所述拓扑模型的有向边的个数;若有一条有向边从所述模型A指向所述模型B,则所述模型B的入度值加1;遍历所有的有向边,得到每个模型的入度值。参考坐标具体为所述参考模型顶视图的三维坐标和所述参考模型主视图的三维坐标共同作为参考坐标;其他模型指若干模型中除去参考模型之外的模型;术语解释:2.5D模型叠加:2.5D模型任意位置的摆放,允许模型间包围盒或包围球交叉。2.5D场景排序:想让2.5D场景中的2.5D模型正确显示,需要对2.5D模型渲染按顺序进行排序,一般根据物体的包围盒或包围球体和物体的位置信息、相机位置信息得到物体两两之间的遮挡关系,形成一个有向图,对这个有向图进行拓扑排序,就可以得到所有2.5D模型的渲染顺序。入度:入度是图论算法中重要的概念之一。它通常指有向图中某点作为图中边的终点的次数之和。拓扑排序:对一个有向无环图(DirectedAcyclicGraph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(TopologicalOrder)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。本专利技术的有益效果为:通过本专利技术,引入参考模型的概念,从而赋予模型以相对坐标,从而解决了模型的精确摆放问题;同时参考模型和被添加模型形成了一种一对多的“父子”关系,可对这组模型进行整体移动、旋转、删除等操作,提高操作效率;通过本专利技术创新性的排序方法,解决了模型叠加摆放产生的排序问题,使得可以任意摆放2.5D模型在场景中的位置。附图说明图1为本专利技术的流程结构示意图;图2为本专利技术拓扑排序在AOV-网及其拓扑有序序列产生的过程示意图。具体实施方式如图1所示,本专利技术采用2.5D技术、三维矩阵运算、有向图查找环算法、拓扑排序算法;一种2.5D下模型添加及排序的方法,包括如下步骤:S11,在2.5D场景中,包括若干模型,每个模型的空间位置用一个矩阵表示;S12,在2.5D场景中,任意选择其中一个模型作为参考模型,获取参考模型在2.5D场景坐标系中的空间位置,用矩阵M1表示;S13,从模型库中选择一个将要被添加到2.5D场景的模型作为移动模型;调整所述移动模型在所述参考模型顶视图和前视图中的相对位置;获取移动模型在参考模型坐标系中的空间位置,用矩阵M2表示;S14,通过M1和M2,得到移动模型的在2.5D场景坐标系中的空间位置,用矩阵M3表示;M3=M1×M2;S15,通过2.5D场景中的相机距离2.5D场景中任意两个模型之间距离判断任意两个模型在显示上的叠加关系;S16,通过叠加关系进行排序。在以上步骤中,所述移动模型在所述参考模型的顶视图和前视图中添加;M1、M2、M3矩阵分别为一个三维矩阵;三维矩阵中包含所属模型的缩放、旋转和移动信息。在S15中,任意两个模型分别为模型A和模型B;若模型A覆盖在模型B上,则从模型A到模型B形成第一个有向边,若模型B覆盖在模型A上,则从模型B到模型A形成第二个有向边;依此类推,由模型A与模型B的叠加关系形成的有向边构成一张有向图;有向图可能包括一个或本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201410830473.html" title="一种 2.5D下模型添加及排序的方法原文来自X技术"> 2.5D下模型添加及排序的方法</a>

【技术保护点】
一种2.5D下模型添加及排序的方法,其特征在于,包括如下步骤:S11,在2.5D场景中,包括若干模型,每个所述模型的空间位置用一个矩阵表示;S12,在所述2.5场景中,任意选择其中一个模型作为参考模型,获取所述参考模型在所述2.5D场景坐标系中的空间位置,用矩阵M1表示;S13,从模型库中选择一个将要被添加到所述2.5D场景的模型作为移动模型;调整所述移动模型在所述参考模型顶视图和前视图中的相对位置;获取调整后的所述移动模型在所述参考模型坐标系中的空间位置,用矩阵M2表示;S14,通过M1和M2,得到所述移动模型的在所述2.5D场景坐标系中的空间位置,用矩阵M3表示;M3=M1×M2;S15,通过所述2.5D场景中的相机距离所述2.5D场景中任意两个模型之间距离判断任意两个模型在显示上的叠加关系;S16,通过所述叠加关系进行排序。

【技术特征摘要】
1.一种2.5D下模型添加及排序的方法,其特征在于,包括如下步骤:S11,在2.5D场景中,包括若干模型,每个所述模型的空间位置用一个矩阵表示;S12,在所述2.5D场景中,任意选择其中一个模型作为参考模型,获取所述参考模型在所述2.5D场景坐标系中的空间位置,用矩阵M1表示;S13,从模型库中选择一个将要被添加到所述2.5D场景的模型作为移动模型;调整所述移动模型在所述参考模型顶视图和前视图中的相对位置;获取调整后的所述移动模型在所述参考模型坐标系中的空间位置,用矩阵M2表示;S14,通过M1和M2,得到所述移动模型的在所述2.5D场景坐标系中的空间位置,用矩阵M3表示;M3=M1×M2;S15,通过所述2.5D场景中的相机距离所述2.5D场景中任意两个模型之间距离判断任意两个模型在显示上的叠加关系;S16,通过所述叠加关系进行排序。2.根据权利要求1所述的2.5D下模型添加及排序的方法,其特征在于:所述移动模型添加在所述参考模型的顶视图和前视图中。3.根据权利要求1所述的2.5D下模型添加及排序的方法,其特征在于:M1、M2、M3矩阵分别为一个三维矩阵;所述三维矩阵中包含所属模型的缩放、旋转和移动信息。4.根据权利要求1所述的2.5D下模型添加及排序的方法,其特征在于:S15中,任意两个模型分别为模型A和模型B;若所述模型A覆盖在所述模型B上,则从所述模型A到所述模型B形成第一个有向边,若所述模型B覆盖在所述模型A上,则从所述模型B到所述模型A形成第二个有向边;依此类推,由两两相邻的所有模型之间的叠加关系形成的有向边构成一张有向图;所述有向图包含一个以...

【专利技术属性】
技术研发人员:黄尤江李松松
申请(专利权)人:上海爱福窝云技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1