三维模型绘制系统及其绘制方法
【技术领域】
[0001]本发明属于绘图领域,尤其涉及一种三维模型绘制系统及其绘制方法。
【背景技术】
[0002]绘制三维图形通常只有借助计算机中的三维绘图软件来完成。
[0003]近年来,随着三维绘图技术的蓬勃发展,各种三维绘图工具如3DsMax,AutoCAD等也不断推陈出新,功能越来越强大。但是,我们发现,无论功能多么强大的工具,用户始终只是使用鼠标配合键盘的方式来进行三维模型的绘制,缺乏更为直观的绘制方式,而且十分复杂,对于空间感不强的人来说,绘制三维立体图无疑是最令人头疼的。
【发明内容】
[0004]基于此,针对上述技术问题,提供一种三维模型绘制系统及其绘制方法。
[0005]为解决上述技术问题,本发明采用如下技术方案:
[0006]一种三维模型绘制系统,其特征在于,包括传感手套、磁力跟踪装置、光学透视显示器头盔以及数据处理装置,所述传感手套的五个手指部均设有弯曲度传感器,所述磁力跟踪装置包括磁力传感器以及磁力发射源,所述磁力传感器设于所述传感手套上,所述弯曲度传感器、磁力传感器、磁力发射源以及光学透视显示器头盔均与所述数据处理装置连接。
[0007]所述光学透视显示器头盔显示三维虚拟空间,所述数据处理装置采集来自弯曲度传感器的用户手势数据以及来自磁力传感器的用户手部空间位置数据,根据所述用户手势数据识别出相应的绘制指令,并在所述三维虚拟空间中根据所述用户手部空间位置数据完成上述绘制指令。
[0008]所述数据处理装置为计算机。
[0009]所述数据处理装置内具有:
[0010]数据采集模块,用于采集来自弯曲度传感器的用户手势数据以及来自磁力传感器的用户手部空间位置数据;
[0011]数据处理模块,用于根据所述用户手势数据识别出相应的绘制指令;
[0012]显示模块,用于在所述光学透视显示器头盔中显示三维虚拟空间,且在该三维虚拟空间中根据所述用户手部空间位置数据完成上述绘制指令。
[0013]所述绘制指令包括分别对应一种手势的绘制开始指令、绘制结束指令。
[0014]本方案还涉及一种三维模型绘制方法,其特征在于,包括以下步骤:
[0015]通过所述光学透视显示器头盔显示三维虚拟空间;
[0016]通过磁力传感器实时采集用户的手部空间位置数据,通过弯曲度传感器实时采集用户的手势数据;
[0017]在所述三维虚拟空间中实时可视化显示用户的当前手部空间位置;
[0018]绘制多条直线,构成三维模型:每条直线的绘制均根据当前手势数据,识别相应的绘制指令,将对应绘制开始指令的当前手部空间位置数据以及对应绘制结束指令的当前手部空间位置数据作为直线的两端点数据,根据该两端点数据在所述三维虚拟空间中显示直线.
[0019]端点吸附处理:根据手部空间位置数据,若用户当前手部空间位置在一已存在直线端点的预设范围内,则将当前手部空间位置重合至上述已存在直线端点的位置。
[0020]所述在所述三维虚拟空间中实时可视化显示用户的当前手部空间位置步骤为通过一绿色的立方体来显示用户的当前手部空间位置,若当前手部空间位置重合至已存在直线端点的位置,则所述立方体变成红色。
[0021]所述用户当前手部空间位置坐标为B (X,y, z),所述已存在直线端点的位置坐标为P(x’,y’,z’),所述预设范围为以P为中心且边长为η的立方体,当满足χ’ -1〈χ〈χ’ +1、y’ _l〈y〈y,+1 以及 z’ _l〈z〈z’ +1 时,B 和 P 重合,即 B=B (x’,y’,z’),其中 I3。
[0022]所述预设范围为以P为中心且边长为2的立方体。
[0023]本发明结构简单、操作方便,用户使用灵活的双手就可直接在三维虚拟空间中绘制出自己想要创作的模型,相较现有方法更高效、更方便,突破了只能在二维平面上创作三维模型的限制,使得使用者可以更为直观地在空间中绘制图形。
【附图说明】
[0024]下面结合附图和【具体实施方式】本发明进行详细说明:
[0025]图1为本发明的结构示意图;
[0026]图2为本发明的传感手套的结构示意图。
【具体实施方式】
[0027]如图1以及图2所示,一种三维模型绘制系统,包括传感手套110、磁力跟踪装置120、光学透视显示器头盔130以及数据处理装置140。
[0028]传感手套110的五个手指部均设有弯曲度传感器111,手指弯曲时,传感器电阻将变小,通过五根手指上不同传感器的弯曲度读数及其组合,我们就可以识别出用户当前的手势。
[0029]磁力跟踪装置120包括磁力传感器121以及磁力发射源122,磁力传感器121设于传感手套110上,传感手套110在移动时,会使磁力传感器121与磁力发射源122的距离发生变化,从而产生磁力强度的变化,根据该变化可以比较精确地定位绘图所用的手在空间中的坐标,从而在绘图的过程中能比较准确地记录图形的位置信息。
[0030]弯曲度传感器111、磁力传感器121、磁力发射源122以及光学透视显示器头盔130均与数据处理装置140连接。
[0031]光学透视显示器头盔130显示三维虚拟空间,数据处理装置140采集来自弯曲度传感器111的用户手势数据以及来自磁力传感器122的用户手部空间位置数据,根据用户手势数据识别出相应的绘制指令,并在三维虚拟空间中根据用户手部空间位置数据完成上述绘制指令,用户使用灵活的双手就可直接在三维虚拟空间中绘制出自己想要创作的模型,并可将此模型显示在计算机中。
[0032]具体地,数据处理装置140可以为计算机,其内具有:
[0033]数据采集模块141,用于采集来自弯曲度传感器111的用户手势数据以及来自磁力传感器122的用户手部空间位置数据;
[0034]数据处理模块142,用于根据用户手势数据识别出相应的绘制指令。
[0035]显示模块143,用于在光学透视显示器头盔130中显示三维虚拟空间,且在该三维虚拟空间中根据用户手部空间位置数据完成上述绘制指令。
[0036]显示模块143使用OpenGL技术显示三维虚拟空间,且在该三维虚拟空间中根据用户手部空间位置数据完成上述绘制指令。
[0037]其中,绘制指令包括分别对应一种手势的绘制开始指令、绘制结束指令,当然,还可以设置其他的绘制指令,如编辑指令、同步移动指令以及修改指令等,只需分别对应一种手势以便能唯一识别即可。
[0038]如图1以及图2所示,本发明还涉及一种三维模型绘制方法,包括以下步骤:
[0039]一、用户戴上光学透视显示器头盔130后,通过光学透视显示器头盔130显示三维虚拟空间。
[0040]二、通过磁力传感器121实时采集用户的手部空间位置数据,通过弯曲度传感器111实时采集用户的手势数据。
[0041]三、“画笔”笔尖辅助提示:在三维虚拟空间中实时可视化显示用户的当前手部空间位置,当前手部空间位置即为“画笔”笔尖的位置。
[0042]一个好的三维绘图工具,在用户绘图的过程中必然会给出相应的辅助提示信息,以帮助用户更好地绘制图形,在本发明中,通过可视化的立体图形来表示当前手部空间位置,从而明确当前“画笔”笔尖的位置,会给绘图过程带来了便利。
[0043]具体地,可通过一绿色的立方体来显示用户的当前手部空间位置。
[0044]当用户开启绘图功能后,我们会将用户当前手部位置,也就是画笔笔尖所在位置用一个绿色小立方体显示出来,这样用户就知道自己将在什么位置进行绘图。
[0045]四、绘制多条直线,构成三维模型:每条直线的绘制均根据当前手势数据,识别相应的绘制指令,将对应绘制开始指令的当前手部空间位置数据以及对应绘制结束指令的当前手部空间位置数据作为直线的两端点数据,根据该两端点数据在所述三维虚拟空间中显示直线,多条直线可构成三维模型。
[0046]通过观察常用三维绘图工具,我们发现,任何复杂的三维物体模型都可以分解成为相对简单的基本图元,如点、直线段、面等,我们要进行三维绘图,首先就要确定构成三维物体的基本图元。在多种图元中,我们发现直线段所能代表的三维图形最为丰富,且表述相对简单,因此,我们选用直线段作为构成三维模型的基本图元,由若干条直线段来组成相对更为复杂的模型,如立方体、三棱锥等。
[0047]通常,人们都知道“两点成一线”的原理,要想画一条直线段,需要确定两个端点。由于我们是在三维虚拟空间中画图,所以传统的通过鼠标与键盘在计算机上获得端点的方式不适合。对此,我们使用磁力跟踪装置120,磁力跟踪装置120由磁力传感器121以及磁力发射源122两部分组成,磁力传感器121通过磁场强弱来获得相对于磁力发射源122的空间位置坐标。我们将传感器安装在手部,这样就可以获得手部的空间位置,从而才能确定直线段的端点坐标。
[0048]正如我们用笔在白纸上画一条线,或是在屏幕上用鼠标拖拉一条直线,在空间中画直线也需要预先定义好手势,以便识别用户动作,记录下端点。为识别用户手势,我们使用了传感手套110,此手套的五根手指上都有弯曲度传感器111,手指弯曲时,传感器电阻将变小,通过五根手指上不同传感器的弯曲度读数及其组合,我们就可以识别出用户当前的动作。在正确识别出“开始”和“结束”手势后,我们便可顺利地记录下开始和结束的端点,以便形成直线。我们将由若干条直线段组成的三维模型显示在头盔式显示器中,便觉得自己是在真实的三维空间之中绘制了一个三维模型。
[0049]当用户做出绘制开始手势时,首先记录下当前手部三维坐标作为直线段起点坐标,当用户保持手势做画线操作直到做出绘制结束手势,我们将当前手部坐标作为直线段的终点,从而就可以绘制出一条直线段。
[0050]当用户改变手势时,也可代表画线操作结束,此时系统停止追踪手部坐标,从而一条完整的直线段就呈现在用户前方的三维空间中。
[0051]我们利用C++语言中的vector容器设计了一个数据类型line_data,专门用于保存直线段的端点值。当用户完成一段直线段的绘制操作,改变手势的时候,我们将当前直线段的两个端点值保存到line_data中。在进行绘制直线段时,我们会遍历line_data结构,获取保存在其中的已有直线段的端点值,将其中的直线段全部绘制出来。这样我们就可以绘制出任意多条直线段,为构建更复杂的模型创造可能性。
[0052]即便记录了所有直线段的端点值,但构成闭合图形的相邻两条边之间不能做到很好的首尾相连。也就是说,由于我们是在空间中绘图,手势操作不如鼠标操作那么稳定,会带来一定的抖动,因此前一条直线段的终点和后一条直线段的起点不能很好地重合在一起,使得我们无法绘制出理想的闭合图形。如果无法绘制闭合的图形,那么绘制其它三维模型也就无从谈起。考虑到手势操作的抖动不可避免,本发明使用端点吸附处理技术克服这一缺陷。
[0053]五、端点吸附处理:根据手部空间位置数据,若用户当前手部空间位置在一已存在直线端点的预设范围内,则将当前手部空间位置重合至上述已存在直线端点的位置。
[0054]具体地,用户当前手部空间位置坐标为B(x,y, z),已存在直线端点的位置坐标为P(x’,y’,z’),预设范围为以P为中心且边长为η的立方体,当满足χ’ _1〈χ〈χ’ +1、y’ _l〈y〈y’ +1 以及 z’ _l〈z〈z’ +1 时,B 和 P 重合,即 B=B (χ,,y’,z’),其中 I3。
[0055]较佳地,预设范围为以P为中心且边长为2的立方体,用户可以获得较佳的用户体验。
[0056]通过端点吸附处理后,绘制出的封闭图形效果得到了显著的改善。
[0057]在端点吸附处理过程中,若当前手部空间位置重合至已存在直线端点的位置,则立方体变成红色,这样用户就能明确知道自己所绘制的下一条直线段的起点将与该端点P重合,在此辅助提示信息的帮助下,用户就能更便捷地进行绘图操作,并且避免了用户对端点吸附没有直观的感受,充分发挥了端点吸附技术的优越性。
[0058]与上述同理,用户也可以通过编辑、修改或者同步移动手势,对三维虚拟模型进行相应的编辑、修改或者同步移动,其中通过同步移动手势用户可以任意地移动和旋转所绘图形,从各个角度观察图形的状态。
[0059]本发明绘制方法相较现有方法更高效、更方便,突破了只能在二维平面上创作三维模型的限制,使得使用者可以更为直观地在空间中绘制图形。
[0060]但是,本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。
【主权项】
1.一种三维模型绘制系统,其特征在于,包括传感手套、磁力跟踪装置、光学透视显示器头盔以及数据处理装置,所述传感手套的五个手指部均设有弯曲度传感器,所述磁力跟踪装置包括磁力传感器以及磁力发射源,所述磁力传感器设于所述传感手套上,所述弯曲度传感器、磁力传感器、磁力发射源以及光学透视显示器头盔均与所述数据处理装置连接。
2.根据权利要求1所述的一种三维模型绘制系统,其特征在于,所述光学透视显示器头盔显示三维虚拟空间,所述数据处理装置采集来自弯曲度传感器的用户手势数据以及来自磁力传感器的用户手部空间位置数据,根据所述用户手势数据识别出相应的绘制指令,并在所述三维虚拟空间中根据所述用户手部空间位置数据完成上述绘制指令。
3.根据权利要求1或2所述的一种三维模型绘制系统,其特征在于,所述数据处理装置为计算机。
4.根据权利要求3所述的一种三维模型绘制系统,其特征在于,所述数据处理装置内具有: 数据采集模块,用于采集来自弯曲度传感器的用户手势数据以及来自磁力传感器的用户手部空间位置数据; 数据处理模块,用于根据所述用户手势数据识别出相应的绘制指令; 显示模块,用于在所述光学透视显示器头盔中显示三维虚拟空间,且在该三维虚拟空间中根据所述用户手部空间位置数据完成上述绘制指令。
5.根据权利要求4所述的一种三维模型绘制系统,其特征在于,所述绘制指令包括分别对应一种手势的绘制开始指令、绘制结束指令。
6.一种三维模型绘制方法,其特征在于,包括以下步骤: 通过所述光学透视显示器头盔显示三维虚拟空间; 通过磁力传感器实时采集用户的手部空间位置数据,通过弯曲度传感器实时采集用户的手势数据; 在所述三维虚拟空间中实时可视化显示用户的当前手部空间位置; 绘制多条直线,构成三维模型:每条直线的绘制均根据当前手势数据,识别相应的绘制指令,将对应绘制开始指令的当前手部空间位置数据以及对应绘制结束指令的当前手部空间位置数据作为直线的两端点数据,根据该两端点数据在所述三维虚拟空间中显示直线; 端点吸附处理:根据手部空间位置数据,若用户当前手部空间位置在一已存在直线端点的预设范围内,则将当前手部空间位置重合至上述已存在直线端点的位置。
7.根据权利要求6所述的一种三维模型绘制方法,其特征在于,所述在所述三维虚拟空间中实时可视化显示用户的当前手部空间位置步骤为通过一绿色的立方体来显示用户的当前手部空间位置,若当前手部空间位置重合至已存在直线端点的位置,则所述立方体变成红色。
8.根据权利要求7所述的一种三维模型绘制方法,其特征在于,所述用户当前手部空间位置坐标为B(x,y, z),所述已存在直线端点的位置坐标为PU’,y’,z’),所述预设范围为以P为中心且边长为η的立方体,当满足X’ -l〈x〈x’ +l、y’ _l〈y〈y’ +1以及z’ _l〈z〈z’ +1时,B和P重合,即B=B(x’,y,,z,),其中I彡η彡3。
9.根据权利要求8所述的一种三维模型绘制方法,其特征在于,所述预设范围为以P为中心且边长为2的立方体。
【专利摘要】一种三维模型绘制系统,包括传感手套、磁力跟踪装置、光学透视显示器头盔以及数据处理装置,所述传感手套的五个手指部均设有弯曲度传感器,所述磁力跟踪装置包括磁力传感器以及磁力发射源,所述磁力传感器设于所述传感手套上,所述弯曲度传感器、磁力传感器、磁力发射源以及光学透视显示器头盔均与所述数据处理装置连接。本发明结构简单、操作方便,用户使用灵活的双手就可直接在三维虚拟空间中绘制出自己想要创作的模型,相较现有方式更高效、更方便,突破了只能在二维平面上创作三维模型的限制,使得使用者可以更为直观地在空间中绘制图形。
【IPC分类】G06F3-0346, G06T17-00, G06F3-01
【公开号】CN104866121
【申请号】CN201410060804
【发明人】高俊, 谢易, 盛悦, 龙凌, 陈建宏, 杨怡
【申请人】上海市七宝中学
【公开日】2015年8月26日
【申请日】2014年2月21日