多人在线交互设计系统的制作方法

文档序号:7645682阅读:172来源:国知局
专利名称:多人在线交互设计系统的制作方法
技术领域
本发明涉及计算机设计领域,特别是涉及一种利用计算机网络实现多人同时在线设计的系统。
背景技术
多人在线交互设计是一种近年来新兴的产品设计方式,该设计方式允许分布在不同地点的设计人员通过网络和利用各种各样不同的计算机辅助设计工具来共同设计一样产品。处于设计过程中的每个用户都可以感觉到其他用户的存在并与其进行一定程度的交流。
近年来网络速度及技术的飞速发展使得多人在线设计系统成为可能。同时随着经济全球化的飞速发展,许多跨行业、跨国家、跨地区的联盟性虚拟企业正在发展壮大。而越来越复杂的产品设计和越来越短的需求周期使得某些复杂的产品不得不由处于不同地理位置的多个产品设计人员同时参与设计并协作完成。

发明内容
本发明旨在提供一种能够使位于不同地理位置的多个产品设计人员同时参与交互设计的系统。本发明的多人在线交互设计系统的技术方案如下本发明的多人在线交互设计系统,包括物体抽象模块,操作抽象模块,冲突检测和解决模块,以及用户管理及同步模块;所述物体抽象模块,用于生成描述三维场景中的物体的标识;所述操作抽象模块,用于生成描述三维场景中的设计操作的标识,将用户的本地操作和远程操作抽象为具体的数据对象进行管理和维护;所述冲突检测和解决模块,用于对冲突操作进行检测及解决,保证协同设计的正确性;所述用户管理及同步模块,用于管理参与协同设计的用户,并且根据用户情况同步场景,控制用户操作权限。优选的,所述物体抽象模块包括物体操作模块、3D场景控制模块和物体识别模块;所述物体操作模块,用于对特定物体进行增加、删除和更改属性的操作;所述3D场景控制模块,用于通过初始数据建立整个场景,将整个场景打包序列化为初始场景数据,发送给其他参与交互的用户,进行场景的同步操作;所述物体识别模块,用于将远程操作所对应的物体识别出来,并将远程操作实施在正确的物体上。优选的,所述操作抽象模块包括本地操作序列化模块、远程操作反序列化模块、远程操作实施模块;所述本地操作序列化模块,用于将本地操作翻译成为字节流,并发送给其他参与协同的用户;所述远程操作反序列化模块,用于将远程操作命令转化成为能够执行的命令,并通过所述远程操作实施模块执行;所述远程操作实施模块,用于调用所述冲突检测和解决模块进行冲突操作的处理,将远程操作实施到所述物体抽象模块上。进一步,所述操作抽象模块还包括本地操作管理模块,用于实现对本地操作的撤销和恢复。优选的,所述冲突检测和解决模块包括物体识别算法模块、冲突检测算法模块、多版本单显示冲突解决算法模块和物体多版本移除算法模块;所述物体识别算法模块,用于识别操作所对应的场景物体;所述冲突检测算法模块,用于检测收到的远程操作是否与其他历史操作互相冲突;所述多版本单显示冲突解决算法模块,用于对冲突的操作进行处理,增加物体的版本,并根据冲突操作的权重决定应该显示哪个版本;所述物体多版本移除算法模块,用于对冲突处理后的物体版本进行移除。优选的,所述用户管理及同步模块包括用户管理模块和场景及用户状态同步模块;所述用户管理模块,用于支持协同设计过程中用户的加入和离开,控制用户的操作权限;所述场景及用户状态同步模块,用于当新用户加入到协同设计过程中时,对新用户的初始场景进行同步场景;当参与协同设计过程的用户离开协同设计时,对本地的场景进行同步;当协同设计完成后,清除协同设计数据,并且断开参与协同设计的用户相互之间的连接。本发明的有益效果
本发明的多人在线交互设计系统能够使位于不同地理位置的人员同时参与协同设计,解决了系统设计过程中的操作冲突和场景同步的技术难题,提高了设计的效率。


图I多人在线交互设计系统结构框2多版本单显示冲突解决算法与其他算法的关系比较图
具体实施例方式本发明的多人在线交互设计系统可以应用于虚拟家装设计领域,实现多人同时在线进行家装交互设计。下面就以虚拟家装设计领域中多人在线交互设计系统为例,对本发明予以举例说明。当然,本发明也可以应用于其他领域,但其原理都是一样的。在虚拟家装系统中,每一个家具都是根据真实家具事先由专业美工人员设计完成,录入到家具库中,场景中的每一个家具都可以抽象为一个拥有固定属性的数据结构,分别为家具名称(name)、家具的位置(translate)、家具旋转角度(rotate)、缩放(scale)、家具模型编号(furniture_ID)。用户设计的过程,就是对房间中的家具进行添加、删除、布置的过程,设计的同时可以通过对场景的旋转,从而可以从各个视角观察设计的户型,调整房间中的家具,达到最佳效果。虚拟家装设计领域中多人在线交互设计系统包括物体抽象模块、操作抽象模块、冲突检测和解决模块、用户管理及同步模块。物体抽象模块,用于生成描述三维场景中的物体的标识,例如物体ID、类型(桌椅、家电、壁画)等;所述操作抽象模块,用于生成描述三维场景中的设计操作的标识,将用户的本地操作和远程操作抽象为具体的数据对象进行管理和维护,例如添加或删除家电;所述冲突检测和解决模块,用于对冲突操作进行检测及解决,保证协同设计的正确性;所述用户管理及同步模块,用于管理参与协同设计的用户,并且根据用户情况同步场景,控制用户操作权限。一、物体抽象模块,包括物体操作模块、3D场景控制模块和物体识别模块。I、物体操作模块,用于对特定物体进行增加、删除和更改属性的操作。远程协同操作通过算法处理后,对物体抽象模块进行增、删、改操作,通过物体抽象模块反馈给场景中的具体物体,从而达到远程操作的效果。具体实现是通过在物体抽象模块中保存一个所有3D场景物体的一个抽象物体的列表,在物体抽象模块中将任意3D场景的物体抽象成为一个具有n个固定属性和物体ID的对象。针对3D场景中的某个物体的本地修改操作,可以看成将抽象物体模块中的特定的物体的第i个属性值进行更新。相应地对于其他参与协同的用户发送过来的远程操作,首先由操作抽象模块转换为具体的操作,然后由物体抽象模块进行物体识别后,将i和属性值分别转换为3D场景中那个物体的某个具体属性和这个属性所对应的数据,然后调用虚拟家装系统提供的接口对3D场景中的物体进行更改。2、3D场景控制模块,用于通过初始数据建立整个场景,将整个场景打包序列化为初始场景数据,发送给其他参与交互的用户,进行场景的同步操作;3、物体识别模块,用于将远程操作所对应的物体识别出来,并将远程操作实施在正确的物体上。 二、操作抽象模块,主要功能是将用户的本地操作和远程操作抽象为具体的数据对象进行管理和维护,包括本地操作序列化模块、远程操作反序列化模块、远程操作实施模块、本地操作管理模块;I、本地操作序列化模块,用于将本地操作翻译成为字节流,并发送给其他参与协同的用户。对一个本地操作进行序列化,首先要区分操作的类型,不同类型的操作,需要的参数也不一样,总体可以分为三个部分(a)操作类型0P_TYPE,所有的操作可以抽象成为三个类型创建操作、删除物体操作和更改物体操作;(b)操作ID,由用户ID和表示该用户当前状态向量SEQ组成,保证了全局的唯一性;(C)操作所对应的参数,对于三种抽象操作,需求不同参数也不相同。下面详细介绍这三种抽象操作的具体参数组成。创建物体操作功能添加一个物体到3D场景中。参数物体初始参数(0BJ_INF0):包括家具的名称,初始位置,初始旋转角度,家具模型ID等。表达形式〈0P_TYPE,0P_ID,0BJ_INF0>。更改场景中某物体操作功能更改一个场景中现有物体的状态。比如更改某个家具的位置,参数目标物体标识符(OBJ_ID),操作的权重(PRIORITY),更改参数的索引(KEY),更改先前的值(0LD_VALUE),更改后的新值(NEW_VALUE)。表达形式<0P_TYPE, 0P_ID, 0BJ_ID, PRIORITY, KEY, 0LD_VALUE, NEW_VALUE>。删除操作功能删除场景中的某个物体。参数只需要知道目标物体标识符(0BJ_ID)就可以判定删除的物体了。表达形式〈0P_TYPE,0P_ID,0BJ_ID>。2、远程操作反序列化模块,用于将远程操作命令转化成为能够执行的命令,并通过所述远程操作实施模块执行。反序列化过程就是序列化的逆过程。3、远程操作实施模块,用于调用冲突检测和解决模块进行冲突操作的处理,将远程操作实施到物体抽象模块上;4、本地操作管理模块,用于实现对本地操作的撤销和恢复。考虑到用户的习惯和撤销操作的有效性,采用单步本地的操作进行撤销,也就是用户只能撤销自己发出的操作,然后利用撤销\恢复算法对历史操作进行维护。三、冲突检测和解决模块,主要功能是采用多版本单显示算法对收到的远程操作进行冲突检测和冲突解决,保证协同设计的正确性。本模块是整个虚拟家装系统中多人在线交互设计系统的核心,包括物体识别算法模块、冲突检测算法模块、多版本单显示冲突解决算法模块、物体多版本移除算法模块。 I、物体识别算法模块,用于识别操作所对应的场景物体。2、冲突检测算法模块,用于检测收到的远程操作是否与其他历史操作互相冲突。3、多版本单显示冲突解决算法模块,用于对冲突的操作进行处理,增加物体的版本,并根据冲突操作的权重决定应该显示哪个版本。多版本单显示冲突解决算法的基本原理如下当一个物体被冲突的操作更改了以后,物体的多版本只保存在内部,而在用户客户端看来只有一个版本,这样的解决方案叫做多版本单显示技术解决冲突。多版本单显示没有必要去创建物体的多个版本,只要能够保存多版本足够的信息,在需要的时候动态的创建并显示任意一个版本就可以了。多版本单显示技术在版本选择上也跟单一操作有效解决方案一样,需要对操作进行权重分配,以便在协同中一旦产生操作冲突,系统如何选择该有那个操作的效果进行显示,那么多版本单显示,多版本多显示和单一操作有效的解决方案又有些不同。如果有四个操作01 04这四个操作都是针对物体Obj进行更改,它们的关系如附图2所示,01是发生在02,03,04的操作,也就是说01 — 02,01 — 03,01 — 04 ;02、03
和O4三个操作之间是相互冲突的,即02<§)d03 02^^04,03 '04;02的权重较03
和04大。图中黑色圆圈表示当前所显示的Obj (被操作物体)的版本状态。(I)在多版本多显示系统中,这四个操作在执行完毕的最终结果(如上附图2左上)状态,场景中的Obj产生了三个版本,这三个版本所执行的操作分别为Obj {01,02},Obj {01,03},Obj {01,04}。(2)在多版本单显示系统中,四个操作在执行完毕的最终结果(如附图2左中)状态,场景中Obj最终的状态为Obj {01,02},而剩下两个空心的状态只存储在系统内部,用户无法是看到。(3)在单版本的系统中,在四个操作执行完毕的最终显示结果跟多版本单显示系统一样,(如附图2左下),场景中物体Obj的状态为Obj {01,02}。如果现在用户撤销02操作,在这三个系统中的区别就显现出来了。(I)在撤销了 02操作以后,在多版本多显示系统中,02的效果消失,从而将由于02冲突而产生的物体版本移除,场景中剩余两个物体=Obj {01,03},Obj {01,04}(如附图2右上)。(2)在多版本单显示系统中,02的撤销导致了物体版本显示的替换,由原来的Obj {01,02}替换为 Obj {01,03},(如附图 2 右中)。(3)在单版本系统中,由于在02在执行时,与03与04发生冲突,在冲突解决的时候,03与04被冲突的操作所取代了,所以,在撤销02操作以后,直接返回到了执行完01时候的结果,最终场景中的结果为Obj {01}(如附图2右下)。从以上分析得出,多版本多显示会使得场景中的物体由于操作冲突的产生从而产生新的物体版本,多版本单显示系统将产生的新的物体版本选择一个显示,在用户看来,不会产生新的物体版本,在用户撤销操作的时候,多版本单显示的方法会选择一个有效的物体版本进行显示,而并不是返回到冲突以前的初始状态。4、物体多版本移除算法模块,用于对冲突处理后的物体版本进行移除。四、所述用户管理及同步模块包括用户管理模块和场景及用户状态同步模块; I、用户管理模块,用于支持协同设计过程中用户的加入和离开,控制用户的操作权限;2、场景及用户状态同步模块,用于当新用户加入到协同设计过程中时,对新用户的初始场景进行同步场景;当参与协同设计过程的用户离开协同设计时,对本地的场景进行同步;当协同设计完成后,清除协同设计数据,并且断开参与协同设计的用户相互之间的连接。下面,对于一个由本地用户和远程用户进行交互设计的工作流程进行介绍在本地用户发起操作后,由物体抽象模块根据3D场景生成被操作物体的描述信息(序列化),操作抽象模块生成用户的本地操作的描述信息(序列化),这两个信息被作为一个完整的操作发送信息给远程用户;远程用户接收到这个信息后,作为远程操作和远程用户自身的操作一起经冲突检测和解决模块进行处理,生成最终的操作;远程用户根据物体抽象模块生成的最终操作转化为具体的控制信息,更新3D场

牙、;用户管理和同步模块根据物体抽象模块需要更新3D场景的部分,负责对本地用户和远程用户进行信息同步。
权利要求
1.多人在线交互设计系统,其特征在于包括物体抽象模块,操作抽象模块,冲突检测和解决模块,以及用户管理及同步模块; 所述物体抽象模块,用于生成描述三维场景中的物体的标识; 所述操作抽象模块,用于生成描述三维场景中的设计操作的标识,将用户的本地操作和远程操作抽象为具体的数据对象进行管理和维护; 所述冲突检测和解决模块,用于对冲突操作进行检测及解决,保证协同设计的正确性; 所述用户管理及同步模块,用于管理参与协同设计的用户,并且根据用户情况同步场景,控制用户操作权限。
2.根据权利要求I所述的多人在线交互设计系统,其特征在于所述物体抽象模块包括物体操作模块、3D场景控制模块和物体识别模块; 所述物体操作模块,用于对特定物体进行增加、删除和更改属性的操作; 所述3D场景控制模块,用于通过初始数据建立整个场景,将整个场景打包序列化为初始场景数据,发送给其他参与交互的用户,进行场景的同步操作; 所述物体识别模块,用于将远程操作所对应的物体识别出来,并将远程操作实施在正确的物体上。
3.根据权利要求I所述的多人在线交互设计系统,其特征在于所述操作抽象模块包括本地操作序列化模块、远程操作反序列化模块、远程操作实施模块; 所述本地操作序列化模块,用于将本地操作翻译成为字节流,并发送给其他参与协同的用户; 所述远程操作反序列化模块,用于将远程操作命令转化成为能够执行的命令,并通过所述远程操作实施模块执行; 所述远程操作实施模块,用于调用所述冲突检测和解决模块进行冲突操作的处理,将远程操作实施到所述物体抽象模块上。
4.根据权利要求3所述的多人在线交互设计系统,其特征在于所述操作抽象模块还包括本地操作管理模块,所述本地操作管理模块,用于实现对本地操作的撤销和恢复。
5.根据权利要求I所述的多人在线交互设计系统,其特征在于所述冲突检测和解决模块包括物体识别算法模块、冲突检测算法模块、多版本单显示冲突解决算法模块和物体多版本移除算法模块; 所述物体识别算法模块,用于识别操作所对应的场景物体; 所述冲突检测算法模块,用于检测收到的远程操作是否与其他历史操作互相冲突;所述多版本单显示冲突解决算法模块,用于对冲突的操作进行处理,增加物体的版本,并根据冲突操作的权重决定应该显示哪个版本; 所述物体多版本移除算法模块,用于对冲突处理后的物体版本进行移除。
6.根据权利要求I所述的多人在线交互设计系统,其特征在于所述用户管理及同步模块包括用户管理模块和场景及用户状态同步模块; 所述用户管理模块,用于支持协同设计过程中用户的加入和离开,控制用户的操作权限; 所述场景及用户状态同步模块,用于当新用户加入到协同设计过程中时,对新用户的初始场景进行同步场 景;当参与协同设计过程的用户离开协同设计时,对本地的场景进行同步;当协同设计完成后,清除协同设计数据,并且断开参与协同设计的用户相互之间的连接。
全文摘要
本发明公开了一种多人在线交互设计系统,包括物体抽象模块、操作抽象模块、冲突检测和解决模块、用户管理及同步模块;物体抽象模块,用于生成描述三维场景中的物体的标识;操作抽象模块,用于将用户的本地操作和远程操作抽象为具体的数据对象进行管理和维护;冲突检测和解决模块,用于对冲突操作进行检测及解决,保证协同设计的正确性;用户管理及同步模块,用于管理参与协同设计的用户,并且根据用户情况同步场景,控制用户操作权限。本发明的多人在线交互设计系统能够使位于不同地理位置的人员同时参与协同设计,解决了系统设计过程中的操作冲突和场景同步的技术难题,提高了设计的效率。
文档编号H04L29/08GK102752330SQ20111010060
公开日2012年10月24日 申请日期2011年4月21日 优先权日2011年4月21日
发明者刘志谊, 周果, 邱显杰, 阳文明, 黄河 申请人:北京七十二炫信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1