CN117788770A - 虚拟三维模型的裁切方法、混合现实设备 - Google Patents
虚拟三维模型的裁切方法、混合现实设备 Download PDFInfo
- Publication number
- CN117788770A CN117788770A CN202211152270.5A CN202211152270A CN117788770A CN 117788770 A CN117788770 A CN 117788770A CN 202211152270 A CN202211152270 A CN 202211152270A CN 117788770 A CN117788770 A CN 117788770A
- Authority
- CN
- China
- Prior art keywords
- virtual
- dimensional model
- target surface
- cutting box
- box
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 7
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 32
- 235000013312 flour Nutrition 0.000 description 16
- 238000009877 rendering Methods 0.000 description 11
- 238000013515 script Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004898 kneading Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 235000012149 noodles Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 210000001835 viscera Anatomy 0.000 description 1
- 230000009278 visceral effect Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种虚拟三维模型的裁切方法、混合现实设备、电子设备及存储介质,其中所述虚拟三维模型的裁切方法包括:获取包裹虚拟三维模型的虚拟裁剪盒;基于接收到的控制指令,移动虚拟裁剪盒的目标面;根据目标面的移动,调整虚拟裁剪盒中与目标面相邻的其他面的尺寸,得到调整后的虚拟裁剪盒;显示调整后的虚拟裁剪盒内的虚拟三维模型。本发明根据用户发送的控制指令,移动虚拟裁剪盒的至少一个面,并基于所移动的至少一个面形成调整后的虚拟裁剪盒,显示调整后的虚拟裁剪盒内的虚拟三维模型,能够实现对虚拟三维模型在多个方向的灵活裁切,提高了用户的裁切体验。
Description
技术领域
本发明涉及电子信息技术领域,尤其涉及一种虚拟三维模型的裁切方法、混合现实设备、电子设备及存储介质。
背景技术
MR(MixedReality,混合现实)技术是一种将真实世界和虚拟世界非常自然地融合在一起的技术,通过应用智能眼镜等同类产品,用户可以在MR场景中通过手势等与虚拟世界进行交互。MR技术在各个领域的应用正在兴起,例如对于医疗行业,医生常有希望看到内脏组织等某个方向截面的诉求。
现有技术中,MR开发工具包中提供了ClippingPlane(裁切平面)、ClippingBox(裁剪盒)两种裁切工具,其中,ClippingPlane提供了有限视觉的平面,该平面可无限延伸将整个空间切分为两半,但其方向单一不能进行多方向裁切;ClippingBox提供了一个可配置边长与中心的立方体将空间划分为立方体内与立方体外,通过缩放、旋转立方体可实现多方向裁切,但其缩放、旋转是多方向同时进行的,难以做到对每一个方向进行精准地裁切。因此,想真正做到多方向灵活裁切,从而让用户可以观察虚拟三维模型在不同方向的截面,并没有现成的解决方案。
发明内容
本发明要解决的技术问题是为了克服现有技术中存在对立体模型无法精准多面裁切的缺陷,提供一种虚拟三维模型的裁切方法、混合现实设备、电子设备及存储介质。
本发明是通过下述技术方案来解决上述技术问题:
第一方面,本发明提供一种虚拟三维模型的裁切方法,包括:
获取包裹虚拟三维模型的虚拟裁剪盒;
基于接收到的控制指令,移动所述虚拟裁剪盒的目标面;
根据所述目标面的移动,调整所述虚拟裁剪盒中与所述目标面相邻的其他面的尺寸,得到调整后的虚拟裁剪盒;
显示所述调整后的虚拟裁剪盒内的虚拟三维模型。
优选地,所述获取包裹虚拟三维模型的虚拟裁剪盒的步骤包括:
根据虚拟三维模型的空间信息,确定容纳虚拟三维模型的多面体空间;
构建所述虚拟裁剪盒,以使得所述虚拟裁剪盒围成所述多面体空间。
优选地,所述控制指令包括选取指令和移动指令;所述基于接收到的控制指令,移动所述虚拟裁剪盒的目标面的步骤包括:
基于接收到的所述选取指令,确定所述虚拟裁剪盒的目标面;
基于接收到的所述移动指令,按照预设移动规则移动所述目标面。
优选地,所述预设移动规则用于限制所述目标面的移动方向。
优选地,所述预设移动规则用于限制所述目标面的移动范围。
优选地,所述虚拟裁剪盒的形状为立方体,所述移动方向为所述目标面的法向方向。
优选地,所述虚拟裁剪盒的形状为立方体,所述移动范围为所述虚拟裁剪盒围成的立方体空间。
第二方面,本发明提供一种混合现实设备,包括处理模块和显示模块,其中,
所述处理模块用于获取包裹所述虚拟三维模型的虚拟裁剪盒;基于接收到的控制指令,获取所述虚拟裁剪盒的目标面的移动信息;根据所述移动信息,调整所述虚拟裁剪盒中与所述目标面相邻的其他面的尺寸,得到调整后的虚拟裁剪盒;
所述显示模块,用于显示所述调整后的虚拟裁剪盒内的虚拟三维模型。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的虚拟三维模型的裁切方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的虚拟三维模型的裁切方法。
本发明的积极进步效果在于:
本发明根据用户发送的控制指令,移动虚拟裁剪盒的至少一个面,并基于所移动的至少一个面形成调整后的虚拟裁剪盒,显示调整后的虚拟裁剪盒内的虚拟三维模型,能够实现对虚拟三维模型在多个方向的灵活裁切,提高了用户的裁切体验。
附图说明
图1为本发明实施例1提供的一种虚拟三维模型的裁切方法流程示意图;
图2为本发明实施例1的立方体虚拟裁剪盒的结构示意图;
图3为本发明实施例1的形成虚拟裁剪盒的流程示意图;
图4为本发明实施例1的按照预设移动规则移动目标面的流程示意图;
图5为本发明实施例1的虚拟裁剪盒的目标面移动示意图;
图6为本发明实施例1的根据目标面的目标点位置保持虚拟裁剪盒闭合状态的流程示意图;
图7为本发明实施例1的具体示例的裁切方法流程示意图;
图8为本发明实施例2提供的一种虚拟三维模型的裁切***结构示意图;
图9为本发明实施例2提供的另一种虚拟三维模型的裁切***结构示意图;
图10为本发明实施例3提供的一种混合现实设备的结构示意图;
图11为本发明实施例4提供的一种电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述实施例范围之中。
实施例1
本实施例提供一种虚拟三维模型的裁切方法,应用于混合现实设备,用户可以通过手势、控制操作手柄等方式与混合现实设备的虚拟交互屏幕上的虚拟三维模型进行交互。例如:用户可以通过拖拽的方式放大或者缩小虚拟三维模型,或者用户可以控制操作手柄上的按键,不同的按键对应不同的交互功能,用户可以通过按下按键,与虚拟三维模型实现交互。
另外,在医疗行业,可以将病人的内部器官形成虚拟的三维模型,医生专家可以根据需求,利用手势或操作手柄,观察该虚拟三维模型的某个方向或多个方向的截面,从而针对病灶提出针对性的解决方案。
参见图1,虚拟三维模型的裁切方法包括:
S1、获取包裹虚拟三维模型的虚拟裁剪盒。
混合现实设备的虚拟交互屏幕上虚拟裁剪盒的呈现形式是闭合的三维盒状模型,虚拟裁剪盒能够围成一个封闭空间,虚拟裁剪盒的形状可以为立方体、长方体等立体形状。虚拟裁剪盒可以包裹住虚拟三维模型,即虚拟三维模型位于虚拟裁剪盒所围成的封闭空间内,虚拟裁剪盒可以与虚拟三维模型接触,也可以不接触,其中,虚拟裁剪盒与虚拟三维模型接触可以指虚拟裁剪盒与虚拟三维模型完全贴合,也可以指虚拟裁剪盒与虚拟三维模型部分贴合。
S2、基于接收到的控制指令,移动虚拟裁剪盒的目标面。
用户可以通过手势发送控制指令,用户也可以通过控制操作手柄的方式发送控制指令。
其中,目标面为用户指示虚拟裁剪盒中需要进行移动的面,也即需要对虚拟三维模型进行裁切的面,例如,图2为一种形状为立方体的虚拟裁剪盒的结构示意图,用户可以通过发送控制指令,移动虚拟裁剪盒六个面中的任意一个面、任意两个面、任意三个面、任意四个面、任意五个面或者虚拟裁剪盒的六个面。
S3、根据目标面的移动,调整虚拟裁剪盒中与目标面相邻的其他面的尺寸,得到调整后的虚拟裁剪盒。
其中,虚拟裁剪盒中与目标面相邻的其他面是移动目标面之前,与目标面相邻的面。例如,参见图2,若用户移动虚拟裁剪盒的一个面且该面为面ABCD,则面ABCD为目标面,与面ABCD相邻的其他面为面ABB’A’、面BB’C’C、面D’C’CD、面A’D’DA,通过调整面ABB’A’、面BB’C’C、面D’C’CD、面A’D’DA的尺寸,使得调整后的虚拟裁剪盒依旧处于闭合状态,也即调整后的虚拟裁剪盒也能够围成一个封闭空间。
再例如,参见图2,若用户移动虚拟裁剪盒的两个面且这两个面分别为面ABCD和面ADD’A,则面ABCD和面ADD’A均为目标面,对于面ABCD来说,与面ABCD相邻的其他面分别为面ABB’A’、面BB’C’C、面D’C’CD、面A’D’DA,对于面ADD’A来说,与面ADD’A相邻的其他面分别为面ABCD、面ABB’A’、面D’C’CD、面A’B’C’D’,首先通过调整面ABB’A’、面BB’C’C、面D’C’CD、面A’D’DA的尺寸,使得初步调整后的虚拟裁剪盒处于闭合状态,然后通过调整面ABCD、面ABB’A’、面D’C’CD、面A’B’C’D’的尺寸,使得最终调整后的虚拟裁剪盒处于闭合状态。需要说明的是,本实施例不对调整的先后顺序进行限定,在其他实施例中,还可先调整面ABCD、面ABB’A’、面D’C’CD、面A’B’C’D’的尺寸,再调整面ABB’A’、面BB’C’C、面D’C’CD、面A’D’DA的尺寸。值得说明的是,由于调整过程极快,当用户移动多个目标面时,用户肉眼难以看出针对不同目标面的相邻面的调整过程。
S4、显示调整后的虚拟裁剪盒内的虚拟三维模型。
在实践中,通常会展现虚拟三维模型的某一个或者多个截面,在这种情况下,就需要对虚拟三维模型进行裁切。
本实施例中根据用户发送的控制指令,移动虚拟裁剪盒的至少一个面,并基于所移动的至少一个面形成调整后的虚拟裁剪盒,显示调整后的虚拟裁剪盒内的虚拟三维模型,能够实现对虚拟三维模型在多个方向的灵活裁切,提高了用户的裁切体验。
在一个实施方式中,参见图3,步骤S1包括:
S11、根据虚拟三维模型的空间信息,确定容纳虚拟三维模型的多面体空间。
其中,多面体空间优选为容纳虚拟三维模型的最小立方体空间,具体可根据虚拟三维模型的空间信息(虚拟三维模型由多个网格点构成,虚拟三维模型的空间信息也即构成该虚拟三维模型的各网格点的坐标信息),确定虚拟三维模型的中心点以及最大尺寸,通过以虚拟三维模型的中心点为中心点,以虚拟三维模型的最大尺寸为边长确定立方体空间,并将该立方体空间作为容纳虚拟三维模型的最小立方体空间。其中,虚拟三维模型的中心点的确定方式可有多种,例如将虚拟三维模型的最大尺寸处的两个端点连线的中点作为中心点。
S12、构建虚拟裁剪盒,使得虚拟裁剪盒围成多面体空间。
利用裁剪盒脚本和预制体可生成围成多面体空间的虚拟裁剪盒,虚拟裁剪盒的每个面都可称为裁剪面,目标面为用户指示虚拟裁剪盒中需要进行移动的裁剪面,也即需要对虚拟三维模型进行裁切的裁剪面。
其中,裁剪盒脚本是运行于实时开发平台的程序代码,裁剪盒脚本挂载于虚拟三维模型上,裁剪盒脚本用于将多个裁剪面拼接成包裹虚拟三维模型的虚拟裁剪盒,并通过监听目标面的移动,调整与目标面相邻的其他裁剪面的尺寸,得到调整后的虚拟裁剪盒,从而使得虚拟裁剪盒在调整前后始终保持闭合状态。
其中,裁剪面是通过预制体创建的,通过实时开发平台的应用程序编程接口创建预制体,通过预制体创建多个裁剪面,需要说明的是,预制体创建的每个裁剪面上都挂载有裁剪面脚本,该裁剪面脚本可实时获取该裁剪面的位置,当多个裁剪面拼接成虚拟裁剪盒之后,该裁剪面脚本还可获取该裁剪面朝向需要进行渲染的虚拟三维模型的一侧的方向(下文简称为渲染方向)。
在本实施方式中,虚拟裁剪盒由多个裁剪面拼接而成,通过控制不同的裁剪面进行移动,可以实现不同的裁切效果,提高用户的裁切体验。
在一个实施方式中,控制指令包括选取指令和移动指令,选取指令用于选取目标面,移动指令用于控制目标面进行移动。用户可以通过手势发送选取指令和移动指令,例如:用户可以通过捏合手势发送选取指令,通过拖拽手势发送移动指令;用户也可以通过控制操作手柄的方式发送选取指令和移动指令,例如:用户可以按住操作手柄的选取按钮,使操作手柄对目标面发送射线,表征用户发送选取指令,用户可以移动操作手柄,使操作手柄发送的射线移动一定距离,表征用户发送移动指令。
参见图4,步骤S2包括:
S21、基于接收到的选取指令,确定虚拟裁剪盒的目标面。
需要说明的是,若确定好虚拟裁剪盒的目标面,则目标面上可以生成选取标记,选取标记用于表征用户选择目标面进行操作。选取标记包括图形标记、符号标记和文字标记等。例如用户控制操作手柄对目标面发送射线后,目标面上会生成实心圆圈标记。
S22、基于接收到移动指令,按照预设移动规则移动目标面。
需要说明的是,目标面会基于预设移动规则进行移动,其中,预设移动规则根据实际需求在裁剪盒脚本中预先设置好,例如,预设移动规则可以用于限制目标面的移动方向和/或移动范围,其中,移动方向指的是目标面所能够移动的方向,目标面只能按照固定的一个或多个方向进行移动,移动范围指的是目标面所能够移动的空间区域,目标面只能在固定的空间区域内进行移动。
在一个可选的实施方式中,预设移动规则用于限制目标面的移动方向。
可以理解的是,虚拟裁剪盒的每个面都可以作为目标面对虚拟三维模型进行裁切,通过限制每个目标面的移动方向,可以使得每个目标面在各自对应的固定方向上对虚拟三维模型进行裁切,在某些仅需要观察虚拟三维模型在特定的一个或多个方向的截面的情况下,避免了由于不限制目标面的移动方向导致的裁切方向错误的情况的发生,提高了裁切的准确率和效率。
在一个可选的实施方式中,虚拟裁剪盒的形状为立方体,移动方向为目标面的法向方向。其中,目标面的法向方向为垂直于目标面的方向,法向方向具体包括第一法向方向和第二法向方向,其中,将第一法向方向定义为垂直于目标面且从目标面指向相对面的方向,相对面为虚拟裁剪盒中与目标面相对的面,第二法向方向为与第一法向方向相反的方向。
例如,图5中若面ABCD是目标面,则面ABCD的相对面是面A’B’C’D’,此时,面ABCD的法向方向为垂直于面A’B’C’D’的方向,具体地,面ABCD的第一法向方向为垂直于面A’B’C’D’且从面A’B’C’D’指向面A’B’C’D’的方向,面ABCD的第二法向方向与面ABCD的第一法向方向相反。
可以理解的是,由于通常需要观察虚拟三维模型在某些固定方向,例如横切面、冠状面、矢状面中任意一个或多个方向的截面情况,因此可以将虚拟裁剪盒的形状设置为立方体,将立方体中三组相对的面分别与横切面、冠状面、矢状面方向相对应,例如,若横切面与立方体中其中一组相对的面也即与面ABCD和面A’B’C’D’相对应,则通过移动面ABCD或面A’B’C’D’,可对虚拟三维模型在横切面方向进行裁切,从而能够使用户观察到虚拟三维模型的不同横切面。
在一个可选的实施方式中,预设移动规则用于限制目标面的移动范围。
可以理解的是,虚拟裁剪盒的每个面都可以作为目标面对虚拟三维模型进行裁切,由于虚拟三维模型所占的空间有限,因此每个目标面所需进行移动的范围也是有限的,为了提高裁切效率,可以对每个目标面的移动范围进行限制,使得每个目标面只能够在规定的移动范围内进行移动。
在一个可选的实施方式中,虚拟裁剪盒的形状为立方体,移动范围为虚拟裁剪盒围成的立方体空间。
例如,图5中若面ABCD是目标面,则面ABCD的相对面是面A’B’C’D’,此时,面ABCD的移动范围为图5所示的立方体围成的空间。
在一个可选的实施方式中,虚拟裁剪盒的形状为立方体,预设移动规则用于限制目标面的移动方向和移动范围,例如,预设移动规则用于限制目标面沿自身的法向方向在虚拟裁剪盒围成的立方体空间内移动。
例如,图5中若面ABCD是目标面,则面ABCD的相对面是面A’B’C’D’,面A”B”C”D”表征面ABCD在移动过程中的位置,沿着箭头方向(也即面ABCD的第一法向方向)移动的面A”B”C”D”不能超过面ABCD和面A’B’C’D’,也即面A”B”C”D”不能超出虚拟裁剪盒所围成的立方体空间。在其他实施例中,还可以限制移动的面A”B”C”D”不能与面ABCD或面A’B’C’D’重合。
每一个裁剪面如果无限延伸的话可以将一个空间分成两半,若裁剪面横跨虚拟三维模型,则一半空间内的虚拟三维模型不进行渲染,另一半空间内的虚拟三维模型进行渲染,确定裁剪面的位置就可以确定这一个空间的边界线,确定裁剪面的渲染方向就可以使着色器只渲染裁剪面朝向渲染方向一侧的虚拟三维模型,在本实施例中,将渲染方向设定为裁剪面的第一法向方向,也即垂直于裁剪面且由裁剪面指向其相对面的方向,此时只渲染裁剪面与其相对面之间的虚拟三维模型。需要说明的是,着色器是运行在GPU上的用于控制虚拟三维模型渲染的程序代码,材质球作为着色器的载体将着色器挂在于虚拟三维模型,以用于虚拟三维模型的渲染。
例如,图5的箭头方向为目标面(面ABCD)的第一法向方向也即渲染方向,按第一法向方向或第二法向方向移动目标面,可以基于目标面的移动调整与目标面相邻的其他面的尺寸,使得目标面的第一法向方向也即渲染方向一侧的虚拟三维模型进行渲染,而使目标面的第二法向方向一侧的虚拟三维模型不进行渲染,也即只显示虚拟裁剪盒内部的虚拟三维模型,而不显示虚拟裁剪盒外部的虚拟三维模型。
具体地,移动目标面后,裁剪盒脚本就会根据目标面的移动距离以及其他面的初始边长,调整其他面的尺寸,并最终形成一个闭合状态的调整后的虚拟裁剪盒。调整后的虚拟裁剪盒中各个裁剪面的裁剪面脚本将自身的位置和渲染方向发送给着色器,着色器根据各个裁剪面的位置和渲染方向选择性地对虚拟三维模型进行渲染,也即不再渲染虚拟裁剪盒外部的虚拟三维模型,只显示虚拟裁剪盒内部的虚拟三维模型,这时的混合现实设备的虚拟交互屏幕上,用户在视觉上可以看到虚拟裁剪盒内部的虚拟三维模型,而看不到虚拟裁剪盒外部的虚拟三维模型。
当用户发送了移动指令后,目标面上的选取标记可以转换成移动标记,移动标记用于表征用户对目标面进行移动操作。移动标记包括图形标记、符号标记和文字标记等。例如用户选取目标面后,移动操作手柄,使操作手柄发送的射线移动一定距离过程中,目标面上表征选取标记的实心圆圈标记,会转换成空心圆圈标记,空心圆圈标记表征移动标记。
需要说明的是,若移动指令的内容不符合预设移动规则,则发出提醒信号,提醒用户按照预设移动规则移动目标面,提醒信号可以包括文字提醒信号、语音提醒信号和符号提醒信号等。
例如,当用户移动指令的内容超出目标面的移动范围,虚拟裁剪盒上可以生成箭头提示信号,用于表征提醒用户沿着箭头方向移动目标面,使得目标面的移动不超过移动范围。
在本实施方式中,首先基于接收到的选取指令,确定虚拟裁剪盒的目标面,然后基于接收到的移动指令,按照预设移动规则移动目标面,从而能更精确地移动虚拟裁切盒的不同面对虚拟三维模型进行裁切,提高用户的裁切体验。
在一个实施方式中,参见图6,步骤S3包括:
S31、确定目标面的目标点。
其中,目标点可以是目标面的中心点,若目标面的形状为具有对称性的规则图形,则目标面的中心点通常为目标面的几何中心,否则,目标面的中心点可以通过以下方式确定:以目标面中任一网格点为原点,在目标面所在平面内建立平面直角坐标系,获取目标面中各网格点在平面直角坐标系的X轴坐标值的平均值,获取目标面中各网格点在平面直角坐标系的Y轴坐标值的平均值,将X轴坐标值的平均值作为目标面的中心点的X轴坐标值,将Y轴坐标值的平均值作为目标面的中心点的Y轴坐标值,从而确定目标面的中心点。
S32、根据目标点在目标面移动前后的位置,以及与目标面相邻的其他面的初始尺寸,确定与目标面相邻的其他面的目标尺寸,以形成调整后的虚拟裁剪盒,使得虚拟裁剪盒在调整前后始终保持闭合状态。
例如,对于图5中的虚拟裁剪盒而言,若面CDD’C’为目标面,则面ABCD、面ADD’A’、面A’B’C’D’、面BCC’B’为面CDD’C’的相邻面,以调整面ABCD的尺寸为例进行说明,若面ABCD在左右方向的宽度(初始尺寸)为10cm,且根据面CDD’C’移动前后的目标点的位置,判定面CDD’C’向左移动了4cm,则确定需要将面CDD’C’在左右方向的宽度调整为6cm(目标尺寸),以使得面CDD’C’与面ABCD刚好贴合。
在本实施方式中,通过确定目标点在目标面移动前后的位置,调整与目标面相邻的其他面的尺寸,使虚拟裁剪盒始终保持闭合状态,显示虚拟裁剪盒内部的虚拟三维模型,从而保证更好的虚拟三维模型显示效果,提高用户的裁切体验。
下面以一示例具体描述本实施例的虚拟三维模型的裁切方法,具体步骤参见图7。
具体而言,将裁剪盒脚本挂载于3D模型(即虚拟三维模型),并将着色器通过材质球挂载于3D模型。其中,裁剪盒脚本用于基于3D模型的空间信息,将预制体创建的裁剪面拼接生成包裹3D模型的虚拟裁剪盒,并通过监听用户发送的射线或手势,按照预设移动规则移动目标面,根据移动后的目标面调整虚拟裁剪盒中与目标面相邻的其他面的尺寸,形成调整后的虚拟裁剪盒,以使虚拟裁剪盒在调整前后始终保持闭合状态。调整后的虚拟裁剪盒的各裁剪面会通过各自的裁剪面脚本将自身的位置和渲染方向发送给着色器,着色器根据各裁剪面的位置和渲染方向对虚拟三维模型进行选择性的渲染,以显示虚拟裁剪盒内部的虚拟三维模型,而不显示虚拟裁剪盒外部的虚拟三维模型。
实施例2
本实施例提供一种虚拟三维模型的裁切***,用于实现实施例1的虚拟三维模型的裁切方法,参见图8,虚拟三维模型的裁切***包括:
获取模块1,用于获取包裹虚拟三维模型的虚拟裁剪盒;
移动模块2,用于基于接收到的控制指令,移动虚拟裁剪盒的目标面。
匹配模块3,用于根据目标面的移动,调整虚拟裁剪盒中与目标面相邻的其他面的尺寸,得到调整后的虚拟裁剪盒。
呈像模块4,用于显示调整后的虚拟裁剪盒内的虚拟三维模型。
在一个实施方式中,获取模块1包括:
根据虚拟三维模型的空间信息,确定容纳虚拟三维模型的多面体空间;
构建虚拟裁剪盒,以使得虚拟裁剪盒围成多面体空间。
在一个实施方式中,控制指令包括选取指令和移动指令。
参见图9,虚拟三维模型的裁切***还包括:
接收模块5,用于基于接收到的选取指令,确定虚拟裁剪盒的目标面;
移动模块2,用于基于接收到的移动指令,按照预设移动规则移动目标面。
在一个可选的实施方式中,预设移动规则用于限制目标面的移动方向。
在一个可选的实施方式中,若虚拟裁剪盒的形状为立方体,移动方向为目标面的法向方向。
在一个可选的实施方式中,预设移动规则用于限制目标面的移动范围。
在一个可选的实施方式中,虚拟裁剪盒的形状为立方体,移动范围为虚拟裁剪盒围成的立方体空间。
需要说明的是,上述***实施例所执行的方法在实施例1中已详细说明,此处不再赘述。
实施例3
本实施例提供一种混合现实设备,参见图10,包括处理模块101和显示模块102,其中,
处理模块101用于获取包裹虚拟三维模型的虚拟裁剪盒;基于接收到的控制指令,获取虚拟裁剪盒的目标面的移动信息;根据移动信息,调整虚拟裁剪盒中与目标面相邻的其他面的尺寸,得到调整后的虚拟裁剪盒;
显示模块102,用于显示调整后的虚拟裁剪盒内的虚拟三维模型。
需要说明的是,本实施例的模块的实现原理和技术效果参见实施例1的相应部分,在此不再赘述。
实施例3
本实施例提供了一种电子设备,图11为该电子设备的模块示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例1的虚拟三维模型的裁切方法。图11显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同***组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1的虚拟三维模型的裁切方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图11所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)***、磁带驱动器以及数据备份存储***等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例4
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1的虚拟三维模型的裁切方法。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1的虚拟三维模型的裁切方法。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (10)
1.一种虚拟三维模型的裁切方法,其特征在于,包括:
获取包裹虚拟三维模型的虚拟裁剪盒;
基于接收到的控制指令,移动所述虚拟裁剪盒的目标面;
根据所述目标面的移动,调整所述虚拟裁剪盒中与所述目标面相邻的其他面的尺寸,得到调整后的虚拟裁剪盒;
显示所述调整后的虚拟裁剪盒内的虚拟三维模型。
2.如权利要求1所述的虚拟三维模型的裁切方法,其特征在于,所述获取包裹虚拟三维模型的虚拟裁剪盒的步骤包括:
根据虚拟三维模型的空间信息,确定容纳虚拟三维模型的多面体空间;
构建所述虚拟裁剪盒,以使得所述虚拟裁剪盒围成所述多面体空间。
3.如权利要求1所述的虚拟三维模型的裁切方法,其特征在于,所述控制指令包括选取指令和移动指令;所述基于接收到的控制指令,移动所述虚拟裁剪盒的目标面的步骤包括:
基于接收到的所述选取指令,确定所述虚拟裁剪盒的目标面;
基于接收到的所述移动指令,按照预设移动规则移动所述目标面。
4.如权利要求3所述的虚拟三维模型的裁切方法,其特征在于,所述预设移动规则用于限制所述目标面的移动方向。
5.如权利要求3所述的虚拟三维模型的裁切方法,其特征在于,所述预设移动规则用于限制所述目标面的移动范围。
6.如权利要求4所述的虚拟三维模型的裁切方法,其特征在于,所述虚拟裁剪盒的形状为立方体,所述移动方向为所述目标面的法向方向。
7.如权利要求5所述的虚拟三维模型的裁切方法,其特征在于,所述虚拟裁剪盒的形状为立方体,所述移动范围为所述虚拟裁剪盒围成的立方体空间。
8.一种混合现实设备,其特征在于,包括处理模块和显示模块,其中,
所述处理模块用于获取包裹虚拟三维模型的虚拟裁剪盒;基于接收到的控制指令,获 取所述虚拟裁剪盒的目标面的移动信息;根据所述移动信息,调整所述虚拟裁剪盒中与所述目标面相邻的其他面的尺寸,得到调整后的虚拟裁剪盒;
所述显示模块,用于显示所述调整后的虚拟裁剪盒内的虚拟三维模型。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的虚拟三维模型的裁切方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的虚拟三维模型的裁切方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211152270.5A CN117788770A (zh) | 2022-09-21 | 2022-09-21 | 虚拟三维模型的裁切方法、混合现实设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211152270.5A CN117788770A (zh) | 2022-09-21 | 2022-09-21 | 虚拟三维模型的裁切方法、混合现实设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117788770A true CN117788770A (zh) | 2024-03-29 |
Family
ID=90385517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211152270.5A Pending CN117788770A (zh) | 2022-09-21 | 2022-09-21 | 虚拟三维模型的裁切方法、混合现实设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117788770A (zh) |
-
2022
- 2022-09-21 CN CN202211152270.5A patent/CN117788770A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210228306A1 (en) | Methods and systems for generating and using 3d images in surgical settings | |
CN107193372B (zh) | 从多个任意位置矩形平面到可变投影中心的投影方法 | |
US7173622B1 (en) | Apparatus and method for generating 3D images | |
JP4230456B2 (ja) | 3次元画像処理 | |
EP3051446A1 (en) | Engraving a 2D image on a subdivision surface | |
EP3156975B1 (en) | Voxelization of a tridimensional mesh | |
CN104794758A (zh) | 一种三维图像的裁剪方法 | |
JP2010512582A (ja) | 階層型オクルージョンカリングを使用するコンピュータグラフィックシャドウボリューム | |
WO2008013605A1 (en) | Real-time gpu rendering of piecewise algebraic surfaces | |
CN109410213A (zh) | 基于包围盒的多边形图元裁剪方法、计算机可读存储介质、电子设备 | |
CN116188350A (zh) | 点云质量评价方法、设备和存储介质 | |
RU2680355C1 (ru) | Способ и система удаления невидимых поверхностей трёхмерной сцены | |
Vilanova et al. | VirEn: A virtual endoscopy system | |
US9401044B1 (en) | Method for conformal visualization | |
JP2008117113A (ja) | 画像生成装置および方法、画像生成プログラム | |
JP2000298734A (ja) | 3次元モデルの断面生成装置 | |
JPH0792838B2 (ja) | 三次元図形表示方法及びシステム | |
KR20010047046A (ko) | 제트버퍼를 이용한 입체영상 생성방법 | |
CN106716500B (zh) | 一种信息处理装置及深度定义方法 | |
US6396494B1 (en) | Method for virtual clipping a three-dimensional graphics image | |
EP4086853A2 (en) | Method and apparatus for generating object model, electronic device and storage medium | |
CN112508778A (zh) | 一种3d人脸道具贴图方法、终端及存储介质 | |
CN117788770A (zh) | 虚拟三维模型的裁切方法、混合现实设备 | |
KR101286938B1 (ko) | 그래픽스 이미징을 위한 파티셔닝-기반 성능 분석 | |
JP2008067915A (ja) | 医用画像表示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |