CN117292085B - 一种支持三维建模的实体交互控制方法及其装置 - Google Patents
一种支持三维建模的实体交互控制方法及其装置 Download PDFInfo
- Publication number
- CN117292085B CN117292085B CN202311585312.9A CN202311585312A CN117292085B CN 117292085 B CN117292085 B CN 117292085B CN 202311585312 A CN202311585312 A CN 202311585312A CN 117292085 B CN117292085 B CN 117292085B
- Authority
- CN
- China
- Prior art keywords
- node
- vector
- initial
- real
- time
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000003993 interaction Effects 0.000 title claims abstract description 25
- 239000013598 vector Substances 0.000 claims abstract description 208
- 238000012545 processing Methods 0.000 claims description 7
- 230000010399 physical interaction Effects 0.000 claims description 2
- 239000007787 solid Substances 0.000 abstract description 9
- 230000033001 locomotion Effects 0.000 abstract description 8
- 238000012795 verification Methods 0.000 abstract description 3
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 21
- 239000000741 silica gel Substances 0.000 description 21
- 229910002027 silica gel Inorganic materials 0.000 description 21
- 239000000758 substrate Substances 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 8
- 239000007788 liquid Substances 0.000 description 6
- 102000008186 Collagen Human genes 0.000 description 4
- 108010035532 Collagen Proteins 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 4
- 229920001436 collagen Polymers 0.000 description 4
- 238000005520 cutting process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 229910052710 silicon Inorganic materials 0.000 description 4
- 239000010703 silicon Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000003292 glue Substances 0.000 description 3
- 229920001296 polysiloxane Polymers 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011550 stock solution Substances 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 238000010146 3D printing Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000037237 body shape Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001125 extrusion Methods 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000499 gel Substances 0.000 description 1
- 238000003698 laser cutting Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种支持三维建模的实体交互控制方法,本发明利用在柔性实体内部分布设置有惯性传感器的节点来实时接收姿态角数据,并构建能够表示相邻节点沿同一方向且产生弧形形变的运动链模型,并基于运动链模型得到参考向量,通过参考向量和实时接收的姿态角得到各个节点的实时三维空间坐标,将三维空间坐标输入三维建模软件得到复杂形状的三维模型。本发明还公开了一种支持三维建模的实体交互控制装置。本发明提出的方法及装置支持简单、快速地创建带有复杂曲线或曲面结构的三维模型,从而支持快速创意迭代、方案验证等过程。
Description
技术领域
本发明属于实体三维建模技术,实体模型重建领域,具体涉及一种支持三维建模的实体交互控制方法及其装置。
背景技术
传统的三维建模软件以键鼠交互或触屏交互作为主要交互方式,要求用户熟练掌握众多复杂且语义抽象的建模命令集(例如扫掠、放样、布尔运算等),并充分理解三维模型的底层数学表示原理。
公开号为CN107945264BA的中国专利公开了一种铁路路基三维建模方法,包括:S1:铁路路基建模基础数据准备;S2:确定左路肩L1一侧路堤、路堑分界点;S3:判断段落point0到point1路基形式;S4:固定对应的路基标准横断面;S5:扫掠成体;S6:布尔运算成体;S7:完成L1一侧所有段落路基模型;S8:完成右路肩线L2一侧路基模型;S9:删除L1、L2、路堤、路堑标准横断面及三维地形面M;S10:获得铁路路基三维模型。本发明根据高精度三维地形及路肩线,通过一定规则划分路基段落,在对应段落内扫掠标准路基横断面生成实体,实体经布尔运算得到与地形贴合的路基体。
公开号为CN104134236A的中国专利公开了一种三维平面实体的布尔运算方法,其基本思想是认为两个三维平面实体A和B布尔运算的结果是由保留面和修改面组成的,先通过给定的方法产生两个实体布尔运算所用的四个共享信息链表A_out_B、A_in_B、B_out_A、B_in_A,然后按照布尔运算类型由共享信息链表形成布尔运算结果。本发明具有简单易行、算法逻辑严密和几何完备性好、算法运算量小等优点,可用于CAD、CAM、CAE、计算机动画、虚拟现实等领域的三维实体建模。
上述两项专利的交互方式的学习成本高,交互操作缺乏直观性和自然性,建模效率低,无法支持快速地创建带有复杂曲线或曲面结构的三维模型,难以应用于产品概念设计中的快速创意迭代、方案验证等过程。
针对上述问题,市面上已经开发了众多学习成本低、交互界面简单的三维建模软件(例如Autodesk Tinkercad、Solidworks App for Kids等),这类软件主要通过提供大量基本体模型、简化建模命令等方式来降低创建三维模型的难度和学习成本。
然而,有限的交互操作和建模自由度极大地约束了用户的设计空间,用户所能创建的三维模型的形状复杂度也是极其有限的,尤其是难以创建带有复杂曲线或曲面结构的三维模型,因此难以支持产品概念设计。
发明内容
本发明提供了一种支持三维建模的实体交互控制方法,利用该方法能够较为简单、快速地创建带有复杂曲线或曲面结构的三维模型,从而支持产品概念设计中的快速创意迭代、方案验证等过程。
本发明具体实施例提供了一种支持三维建模的实体交互控制方法,包括:
S1、获得内部分布多个节点的柔性实体,所述节点上设置惯性传感器,通过惯性传感器得到柔性实体的初始三维空间坐标和初始姿态角,当柔性实体发生形变后基于惯性传感器得到柔性实体的实时姿态角;
S2、柔性实体内相邻两个节点为第一节点和第二节点,在第一节点和第二节点间设置中间点,基于第一节点的初始三维空间坐标得到第一节点到中间点的第一节点初始向量,基于第二节点的初始三维空间坐标得到中间点到第二节点的第二节点初始向量;
将第一节点的初始姿态角取逆后与第一节点初始向量相乘得到第一节点的参考向量,将第二节点的初始姿态角取逆后与第二节点向量相乘得到第二节点的参考向量,第一节点和第二节点的参考向量均为水平正方向;
将第一节点的参考向量与第一节点的实时姿态角相乘得到第一节点实时向量,将第二节点的参考向量与第二节点的实时姿态角相乘得到第二节点实时向量,基于第一节点实时向量和第二节点实时向量得到相邻两个节点的实时向量,基于设定的原点坐标和相邻两个节点的实时向量依次得到其他节点的实时相对空间坐标;
S3、将柔性实体内各个节点的实时相对空间坐标输入三维建模软件得到形变后柔性实体的三维模型。
进一步的,在柔性实体内部布局多个设置有惯性传感器的节点,包括:
S11、采用折纸算法将柔性实体的初始三维模型展开得到多个平面,将每个平面进行形状细分得到多个子平面,所述子平面的个数不低于设定的惯性传感器个数,或者相邻子平面的几何中心的距离小于设定的分辨率参数,将子平面的几何中心点作为节点,将节点按照设定顺序进行编号,在节点上设置惯性传感器,从而完成设置惯性传感器的节点的初始平面布局;
S12、将得到的多个平面逆向折叠回柔性实体的初始三维模型,使得柔性实体内部分布多个设置有惯性传感器的节点。
进一步的,将每个平面进行形状细分得到多个子平面,包括:
S111、沿着每个平面的对称轴和所述对称轴的垂线方向对平面取中线,基于获得的中线将每个平面进行均匀细分处理得到分割平面;
S112、采用步骤S111的方法对分割平面再次进行均匀细分,直至得到的子平面的个数不低于设定的惯性传感器个数,或者子平面间的几何中线的距离小于设定的分辨率参数。
进一步的,将柔性实体内各个节点的实时相对空间坐标输入三维建模软件得到形变后柔性实体的三维模型,包括:
S31、基于设置惯性传感器的节点的初始平面布局对各个节点进行分组;
S32、将每组内的多个节点按照编号顺序进行连线重建出非闭合曲线,或者通过插值法从至多每4个相邻节点中重建相应的非闭合曲线;
S33、利用三维建模软件API的建模命令将非闭合曲线重建得到多个相交曲面;
S34、利用三维建模软件API的自动建立实体命令将多个相交曲面自动重建得到形变后柔性实体的三维模型。
进一步的,基于设置惯性传感器的节点的初始平面布局对各个节点进行分组,包括:初始三维模型展开得到多个平面,将位于同一平面的节点分为一组。
进一步的,获得第一节点初始向量和第二节点初始向量的具体步骤,包括:
基于第一节点和第二节点的初始三维空间坐标得到第一节点到第二节点的初始空间向量;
基于z轴单位方向向量和第一节点的初始姿态角得到基于z轴的第一节点初始单位方向向量,基于z轴单位方向向量和第二节点的初始姿态角得到基于z轴的第二节点初始单位方向向量;
采用向量点积运算法则和余弦定理通过所述初始空间向量与第一节点初始单位方向向量得到第一节点初始向量的模,采用向量点积运算法则和余弦定理通过所述初始空间向量和第二节点初始单位方向向量得到第二节点初始向量的模;
采用向量点积运算法则和三角形向量方法基于第一节点初始向量的模、初始空间向量、第一节点初始单位方向向量得到第一节点初始向量;
采用向量点积运算法则和三角形向量方法基于第二节点初始向量的模、初始空间向量、第二节点初始单位方向向量得到第二节点初始向量。
进一步的,基于设定的原点坐标和相邻两个节点的实时向量依次得到其他节点的实时相对空间坐标,包括:
S21、从柔性实体内随机选择一个节点作为原点坐标,设定当柔性实体发生形变时原点坐标不变,基于原点坐标通过相邻两个节点的实时向量得到当前与原点坐标相邻节点的实时空间坐标;
S22、重复步骤S21直至得到柔性实体内的所有节点的实时空间坐标。
本发明具体实施例还提供了一种支持三维建模的实体交互控制装置,包括:
接收单元,用于获得内部分布多个节点的柔性实体,所述节点上设置惯性传感器,基于惯性传感器得到柔性实体的初始三维空间坐标和初始姿态角,当柔性实体发生形变后基于惯性传感器得到柔性实体的实时姿态角;
数据处理单元,用于柔性实体内相邻两个节点为第一节点和第二节点,在第一节点和第二节点间设置中间点,基于第一节点的初始三维空间坐标得到第一节点到中间点的第一节点初始向量,基于第二节点的初始三维空间坐标得到中间点到第二节点的第二节点初始向量;
将第一节点的初始姿态角取逆后与第一节点初始向量相乘得到第一节点的参考向量,将第二节点的初始姿态角取逆后与第二节点向量相乘得到第二节点的参考向量,第一节点和第二节点的参考向量均为水平正方向;
将第一节点的参考向量与第一节点的实时姿态角相乘得到第一节点实时向量,将第二节点的参考向量与第二节点的实时姿态角相乘得到第二节点实时向量,基于第一节点实时向量和第二节点实时向量得到相邻两个节点的实时向量,基于设定的原点坐标和相邻两个节点的实时向量依次得到其他节点的实时相对空间坐标;
输出单元,用于将柔性实体内各个节点的实时相对空间坐标输入三维建模软件得到形变后柔性实体的三维模型。
与现有技术相比,本发明的有益效果为:
本发明在柔性实体内部分布多个设置有惯性传感器的节点,当柔性实体发生形变时,通过惯性传感器能够获得实时姿态角;由于本发明提供的柔性实体发生形变时相邻两节点发生弧形形变,因此本发明在相邻两个节点中间设置中间点,通过基于中间点得到的第一、二节点初始向量来表示弧形形变,将第一、二节点初始向量分别回转对应的初始姿态角得到了水平正向的第一、二节点的参考向量;将第一、二节点的参考向量分别按照对应的实时姿态角进行转向后加和得到了相邻节点的实时向量,基于设定的原点坐标和相邻节点的实时向量能够依次得到柔性实体内部的其他节点的实时相对空间坐标,然后将实时相对空间坐标输入三维建模软件得到形变后的柔性实体的三维模型,因此,本发明提供的方法能够重建柔性实体形变后复杂形状的三维模型,且交互操作简单,对用户较为友好。
附图说明
图1为本发明具体实施例提供的一种支持三维建模的实体交互控制方法的流程图;
图2为本发明具体实施例提供的柔性实体的实物图;
图3为本发明具体实施例提供的柔性实体的惯性传感器网络平面布局示意图;
图4为本发明具体实施例提供的相邻节点之间运动链模型示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
为了实现对复杂形状的三维建模,且对操作简单便利,本发明利用在柔性实体内部分布设置有惯性传感器的节点来实时接收姿态角数据,并构建能够表示相邻节点沿同一方向且产生弧形形变的运动链模型,并基于运动链模型得到参考向量,通过参考向量和实时接收的姿态角得到各个节点的实时三维空间坐标,将三维空间坐标输入三维建模软件得到复杂形状的三维模型。
本发明具体实施例提供了一种支持三维建模的实体交互控制方法,如图1所示,包括:
S1、获得内部分布多个设置有惯性传感器的节点的柔性实体,基于特定空间布局的惯性传感器网络从而在柔性实体发生形变后能够重建自身的形状,通过惯性传感器能够得到柔性实体的初始三维空间坐标和初始姿态角,当柔性实体发生形变后基于惯性传感器得到柔性实体的实时姿态角。
在一具体实施例中,柔性实体由液体硅胶在模具中浇筑制成,从而具备柔性可变形的能力,内部嵌入特定空间布局的惯性传感器网络,如图2所示,在一实施例中,柔性实体为曲线、曲面、正方体和圆柱体四种基本体形状。
在三维建模中,所有复杂的几何形状都可以由不同的基本体形状组合得到。本发明具体实施例提供的柔性实体的形状为一系列不同的基本体形状,在一实施例中,以曲线、曲面、正方体和圆柱体四种基本体形状为例,不同柔性实体的尺寸均要求设计为适合双手交互操作。
不同形状柔性实体内嵌的惯性传感器网络包含了不同数量和不同布局方式的惯性传感器的节点。惯性传感器的节点的数量和布局方式可根据用户需求和应用场景自由配置,要求尽可能覆盖柔性实体的表面形状。越密集的传感器网络布局意味着越高的形状重建分辨率,同时也意味着更高的硬件功耗和成本,反之亦然。
在一具体实施例中,在柔性实体内部布局多个设置有惯性传感器的节点的具体步骤为:
S11、采用折纸算法将柔性实体的初始三维模型展开得到多个平面,将每个平面进行形状细分得到多个子平面,所述子平面的个数不低于设定的惯性传感器个数,或者相邻子平面的几何中心的距离小于设定的分辨率参数,将子平面的几何中心点作为节点,将节点按照设定顺序进行编号,在节点上设置惯性传感器,从而完成设置惯性传感器的节点的初始平面布局。
本发明具体实施例提供的将每个平面进行形状细分得到多个子平面,包括:
S111、沿着每个平面的对称轴和该对称轴的垂线方向对平面取中线,基于获得的中线将每个平面进行均匀细分处理得到分割平面。
S112、采用步骤S111的方法对分割平面再次进行均匀细分,直至得到的子平面的个数不低于设定的惯性传感器个数,或者相邻子平面的几何中心的距离小于设定的分辨率参数。
S12、将得到的多个平面逆向折叠回柔性实体的初始三维模型,使得柔性实体内部分布多个设置有惯性传感器的节点。
在一实施例中,针对曲线和曲面等平面结构的惯性传感器的节点布局为:曲线和曲面柔性实体内部的惯性传感器网络布局分别为1*8和4*4的平面阵列,所有设置有惯性传感器的节点均在同一平面。
在一实施例中,针对正方体和圆柱体这类三维立体结构的节点布局,如图3所示,具体步骤为:利用折纸原理的方法将三维立体结构分解为基础的平面结构。这类柔性实体在内嵌惯性传感器网络时,只需要考虑在分解之后的平面上对各个设置有惯性传感器的节点进行部署即可。
本实施例针对正方体可分解为六个正方形平面结构,每个正方形平面结构均部署2*2的设置有惯性传感器的节点阵列。
本实施例针对圆柱体可分解为一个长方形和两个圆形平面结构,长方形平面结构上部署4*4的设置有惯性传感器的节点阵列,圆形平面结构上部署2*2的设置有惯性传感器的节点阵列。
本发明具体实施例使用模具完成不同形状柔性实体的制作。本发明定义了三种类型的模具来辅助制作不同形状的柔性实体,分别是外壳模具、电路模具以及结构模具,并利用3D打印或激光切割技术实现不同类型模具的快速制作。三种模具的作用介绍如下:
本实施例提供的外壳模具决定了柔性实体的外观形状和尺寸,主要用于以平面结构为主的柔性实体的制作。
本实施例提供的电路模具主要是为了解决柔性硅胶材料的可拉伸特性与设置有惯性传感器的刚性节点电路的不可拉伸特性之间的冲突。电路模具的功能是在柔性实体内部建立一个尺寸适当的空间,既确保设置有惯性传感器的节点和连接电缆可以被安装到柔性实体内部的特定位置,又确保柔性实体局部发生的拉伸变形不会影响到设置有惯性传感器的节点之间的电缆连接。电路模具主要用于以平面结构为主的柔性实体的制作。电路模具可以有效提高柔性实体内部设置有惯性传感器的节点之间物理连接的稳定性,并支持柔性实体的任意变形。
本实施例提供的结构模具为柔性实体的制作提供不同形状、不同尺寸的硅胶支撑基板,包括制作支撑电路模具的长方体硅胶基板,和以立体结构为主的柔性实体分解之后的各类平面结构(正方形、半圆形、圆形等)硅胶基板。
将AB型液体模具硅胶按照1:1比例混合,得到液态的硅胶原液。随后将硅胶原液按照如下特定流程倒入各种模具中,在室温下静置若干小时后可得到固化的柔性硅胶基板。不同形状的柔性实体采用不同的浇注和组装流程,主要可分为面向平面结构和面向三维立体结构这两类制作流程。
针对曲线和曲面这类平面结构,具体流程如下:
A. 将硅胶原液倒入特定形状和尺寸的结构模具中,静置若干小时后得到用于支撑电路模具的长方体硅胶基板;
B.将上述长方体硅胶基板放置在外壳模具中;
C.将电路模具放置并固定在上述外壳模具内部的长方体硅胶基板上方的中心位置;
D. 将硅胶原液倒入并灌满外壳模具,淹没长方体硅胶基板和电路模具;
E.当硅胶原液固化之后,利用切割工具将柔性实体的某一侧切开,取出其内部的电路模具,并放入连接良好的惯性传感器网络;
F. 使用软性硅胶胶水重新封闭柔性实体被切开的部位,即可得到最终的柔性实体。
针对正方体和圆柱体这类三维立体结构,由于立体结构被分解为若干平面结构,因此直接利用结构模具制作相应的平面结构硅胶基板并进行组装即可。具体流程如下:
A.将硅胶原液倒入特定形状和尺寸的结构模具中,静置若干小时后得到柔性实体分解之后的各类平面结构(包括正方形、半圆形、圆形等)硅胶基板;
B.使用软性硅胶胶水将连接良好的惯性传感器网络按照上述特定空间布局固定在硅胶基板的内表面上;
C.使用软性硅胶胶水将上述不同形状的硅胶基板按照特定空间位置进行连接和组装,即可得到最终的柔性实体。
需要注意的是,这类以三维立体结构为主的柔性实体的内部是中空的,具有充足的空间。因此,柔性实体的局部形变不会影响设置有惯性传感器的节点电路之间的物理连接。
S2、获得设置有惯性传感器的节点的实时相对空间坐标:本发明通过将柔性实体内部惯性传感器网络的特定空间布局作为先验信息,将设置有惯性传感器的节点的实时姿态数据作为后验信息,计算所有设置有惯性传感器的节点之间的相对位置。
对于不同形状的柔性实体,其内部的惯性传感器网络的特定空间布局将作为先验信息,用于后续柔性实体的形状重建。假设设置有惯性传感器的节点的三维空间坐标为,姿态角为四元数/>,其中/>表示时间的索引,/>表示设置有惯性传感器的节点编号,相邻数字编号表示相邻的空间位置。
惯性传感器网络的初始空间布局主要由时刻下各设置有惯性传感器的节点的初始空间坐标/>和初始姿态角/>组成。由于特定布局下的惯性传感器网络中各节点的相对空间距离和初始姿态角均是已知的,因此随机选择任一设置有惯性传感器的节点作为原点/>,则可确认其他所有设置有惯性传感器的节点的初始相对空间坐标/>。
柔性实体内部的每个设置有惯性传感器的节点将实时输出其当前位置的姿态角数据,这些数据通过通信总线传输给传感器网络的主机节点,主机节点汇总所有设置有惯性传感器的节点数据后将其发送给电脑端。
针对采集的姿态角数据,使用中位值平均滤波算法去除数据采集过程中的随机噪声,得到最终的实时姿态角数据。
要计算柔性实体内部所有设置有惯性传感器的节点的相对位置,只需计算出任意两个相邻的设置有惯性传感器的节点的相对空间坐标,即可重建出所有设置有惯性传感器的节点的空间坐标。
由于设置有惯性传感器的节点均嵌入或附着在柔性硅胶体内部,因此节点之间的运动由柔性硅胶体的形变所决定。受材料约束,柔性硅胶体内部相邻两个设置有惯性传感器的节点之间的局部形变主要呈现为弧形,且运动方向只有一个维度。因此,可建立如图4所示的运动链模型,表示任意相邻的节点A和节点B之间的运动关系,其中,单位方向向量和/>分别表示节点A和节点B所在平面的单位法向量,M点为节点A和节点B之间的连接点,满足/>,此处利用空间向量/>和/>近似表示节点A和节点B之间的柔性硅胶体的弧形形变。
对任意两个相邻的设置有惯性传感器的节点A和节点B,已知信息包括节点A和节点B各自的初始空间坐标、初始姿态角、实时姿态角,分别为:和/>,/>和/>,/>和/>。
首先,计算节点A和B之间的初始空间向量为:
然后,计算节点A和B各自的单位方向向量和/>。取三维坐标系中Z轴单位方向向量/>,可计算/>和/>如下:
其中,节点A和B各自的初始单位方向向量为和/>。
现已知节点A和B之间的初始空间向量、节点A和B各自的初始方向向量/>和/>,根据向量点积运算法则和余弦定理,可计算得到/>和/>:
在此基础上,可计算得到和/>。由向量点积运算法则和三角形向量公式可得:
在已知和/>的条件下,可通过对节点A和节点B的初始姿态角/>和/>取逆,求得/>和/>在节点A和B处于水平正方向状态下的参考向量/>和/>。每个设置有惯性传感器的节点的参考向量仅取决于其初始位置和姿态,不受柔性实体形变的影响,将始终保持不变。参考向量/>和/>的计算过程如下:
综上,要获取柔性实体形变过程中任意时刻时相邻节点之间的相对运动信息,即相邻节点之间的弧形形变运动,只需计算出/>和/>即可。在已知节点A和B的实时姿态角数据/>和/>的条件下,/>和/>的计算过程如下:
最后,可得。
因此,只需确定任意时刻相邻两节点A和B中任一节点的坐标,便可通过向量计算得到另一节点的坐标。随机选择任一设置有惯性传感器的节点作为原点/>,则可基于上述方法计算得到其他所有设置有惯性传感器的节点的实时相对空间坐标。
S3、基于设置有惯性传感器的节点的实时相对空间坐标对形变后复杂形状的三维网格模型的实时重建:
S31、节点分组:基于设置有惯性传感器的节点的初始平面布局对各个节点进行分组。
S32、曲线重建:将每组内的多个设置有惯性传感器的节点,针对曲线实体按照编号顺序进行连线重建出非闭合曲线,或者针对非曲线实体通过插值法从至多每4个相邻节点中重建相应的非闭合曲线。
S33、曲面重建:针对上述从一组节点中重建得到的一组非闭合曲线,利用现有三维建模软件API中的复制、旋转、平移、挤出、嵌面、放样等建模命令,自动重建得到符合当前交互组件形变规律的曲面。因此,可从若干组节点中得到一组曲面,然后对每一个曲面做适当延伸处理,保证所有曲面相交。需要注意的是,不同形状的交互组件在发生形变时受自身形状约束,存在不同的形变规律,因此在该步骤中需要根据交互组件的形状选择适当的,简单的建模命令完成从非闭合曲线到曲面的重建。
S34、实体重建:利用三维建模软件API的自动建立实体命令将多个相交曲面自动重建得到形变后柔性实体的三维模型。
具体的,以曲线、曲面、正方体和圆柱体四种柔性实体为例,基于三维建模软件Rhino的RhinoCommon API库,介绍不同柔性实体各自的特定建模流程。
(1)曲线柔性实体:输入为10个顺序排列的控制点坐标,建模流程为:a)基于设置有惯性传感器的节点的初始平面布局,将10个控制点分为一组;b)从控制点中重建出一条非闭合曲线;c)从曲线挤出曲面;d)从曲面挤出实体,得到柔性实体最终的三维网格模型。
(2)曲面柔性实体:输入为16个顺序排列的控制点坐标,建模流程为:a)基于设置有惯性传感器的节点的初始平面布局,将16个控制点分为一组;b)从控制点中重建出一条非闭合曲线;c)利用嵌面命令从曲线中重建出曲面;d)从曲面挤出实体,得到柔性实体最终的三维网格模型。
(3)正方体柔性实体:输入为24个顺序排列的控制点坐标,建模流程为:a)基于设置有惯性传感器的节点的初始平面布局,将24个控制点分为六组控制点;b)针对每一组控制点,从控制点中重建出一条非闭合曲线;c)针对每一条非闭合曲线,利用嵌面命令从曲线中重建出曲面,并将每个曲面延伸至所有曲面相交的位置;d)对六个曲面执行自动建立实体命令,得到柔性实体最终的三维网格模型。
(4)圆柱体柔性实体:输入为20个顺序排列的控制点坐标,建模流程为:a)基于设置有惯性传感器的节点的初始平面布局,将20个控制点分为三组;b)针对每一组控制点,从控制点中重建出一条非闭合曲线;c)针对位于圆柱体顶面和底面的非闭合曲线,利用嵌面命令从曲线重建出圆柱体的顶面和底面两个曲面;针对位于圆柱体侧面的非闭合曲线,利用放样命令从曲线重建出圆柱体的侧面;d)利用延伸曲面命令,分别将圆柱体的顶面、侧面和底面的曲面进行适当的延伸,使三个曲面相交;e)对三个曲面执行自动建立实体命令,得到柔性实体最终的三维网格模型。
本发明还提供了一种支持三维建模的实体交互控制装置,包括接收单元、数据处理单元和输出单元:
本发明具体实施例提供的接收单元用于获得内部分布多个节点的柔性实体,所述节点上设置惯性传感器,基于惯性传感器得到柔性实体的初始三维空间坐标和初始姿态角,当柔性实体发生形变后基于惯性传感器得到柔性实体的实时姿态角;
本发明具体实施例提供的数据处理单元用于柔性实体内相邻两个节点为第一节点和第二节点,在第一节点和第二节点间设置中间点,基于第一节点的初始三维空间坐标得到第一节点到中间点的第一节点初始向量,基于第二节点的初始三维空间坐标得到中间点到第二节点的第二节点初始向量;将第一节点的初始姿态角取逆后与第一节点初始向量相乘得到第一节点的参考向量,将第二节点的初始姿态角取逆后与第二节点向量相乘得到第二节点的参考向量,第一节点和第二节点的参考向量均为水平正方向;将第一节点的参考向量与第一节点的实时姿态角相乘得到第一节点实时向量,将第二节点的参考向量与第二节点的实时姿态角相乘得到第二节点实时向量,基于第一节点实时向量和第二节点实时向量得到相邻两个节点的实时向量,基于设定的原点坐标和相邻两个节点的实时向量依次得到其他节点的实时相对空间坐标;
本发明具体实施例提供的输出单元用于将柔性实体内各个节点的实时相对空间坐标输入三维建模软件得到形变后柔性实体的三维模型。
Claims (7)
1.一种支持三维建模的实体交互控制方法,其特征在于,包括:
S1、获得内部分布多个节点的柔性实体,所述节点上设置惯性传感器,通过惯性传感器得到柔性实体的初始三维空间坐标和初始姿态角,当柔性实体发生形变后基于惯性传感器得到柔性实体的实时姿态角;
S2、柔性实体内相邻两个节点为第一节点和第二节点,在第一节点和第二节点间设置一个中间点,基于第一节点的初始三维空间坐标得到第一节点到中间点的第一节点初始向量,基于第二节点的初始三维空间坐标得到中间点到第二节点的第二节点初始向量;
将第一节点的初始姿态角取逆后与第一节点初始向量相乘得到第一节点的参考向量,将第二节点的初始姿态角取逆后与第二节点初始向量相乘得到第二节点的参考向量,第一节点和第二节点的参考向量均为水平正方向;
将第一节点的参考向量与第一节点的实时姿态角相乘得到第一节点实时向量,将第二节点的参考向量与第二节点的实时姿态角相乘得到第二节点实时向量,基于第一节点实时向量和第二节点实时向量得到相邻两个节点的实时向量,基于设定的原点坐标和相邻两个节点的实时向量依次得到其他节点的实时相对空间坐标;
获得第一节点初始向量和第二节点初始向量的具体步骤,包括:
基于第一节点和第二节点的初始三维空间坐标得到第一节点到第二节点的初始空间向量;
基于z轴单位方向向量和第一节点的初始姿态角得到基于z轴的第一节点初始单位方向向量,基于z轴单位方向向量和第二节点的初始姿态角得到基于z轴的第二节点初始单位方向向量;
采用向量点积运算法则和余弦定理通过所述初始空间向量与第一节点初始单位方向向量得到第一节点初始向量的模,采用向量点积运算法则和余弦定理通过所述初始空间向量和第二节点初始单位方向向量得到第二节点初始向量的模;
第一节点初始向量的模 和第二节点初始向量的模 /> 具体阐述如下:
其中, /> 和/> 分别为节点A和B各自的初始单位方向向量,/> 为节点A和B之间的初始空间向量的模;
采用向量点积运算法则和三角形向量方法基于第一节点初始向量的模、初始空间向量、第一节点初始单位方向向量得到第一节点初始向量;
采用向量点积运算法则和三角形向量方法基于第二节点初始向量的模、初始空间向量、第二节点初始单位方向向量得到第二节点初始向量;
基于第一节点实时向量和第二节点实时向量得到相邻两个节点的实时向量为:
其中,/> 为第一节点实时向量,/> 为第二节点实时向量, 为第一节点的实时姿态角,/> 为第二节点的实时姿态角,/> 为第一节点的参考向量,/> 为第二节点的参考向量,/> 为第一节点初始向量,/> 为第二节点初始向量;
S3、将柔性实体内各个节点的实时相对空间坐标输入三维建模软件得到形变后柔性实体的三维模型。
2.根据权利要求1所述的支持三维建模的实体交互控制方法,其特征在于,在柔性实体内部布局多个设置有惯性传感器的节点,包括:
S11、采用折纸算法将柔性实体的初始三维模型展开得到多个平面,将每个平面进行形状细分得到多个子平面,所述子平面的个数不低于设定的惯性传感器个数,或者相邻子平面的几何中心的距离小于设定的分辨率参数,将子平面的几何中心点作为节点,将节点按照设定顺序进行编号,在节点上设置惯性传感器,从而完成设置惯性传感器的节点的初始平面布局;
S12、将得到的多个平面逆向折叠回柔性实体的初始三维模型,使得柔性实体内部分布多个设置有惯性传感器的节点。
3.根据权利要求2所述的支持三维建模的实体交互控制方法,其特征在于,将每个平面进行形状细分得到多个子平面,包括:
S111、沿着每个平面的对称轴和所述对称轴的垂线方向对平面取中线,基于获得的中线将每个平面进行均匀细分处理得到分割平面;
S112、采用步骤S111的方法对分割平面再次进行均匀细分,直至得到的子平面的个数不低于设定的惯性传感器个数,或者子平面间的几何中线的距离小于设定的分辨率参数。
4.根据权利要求2所述的支持三维建模的实体交互控制方法,其特征在于,将柔性实体内各个节点的实时相对空间坐标输入三维建模软件得到形变后柔性实体的三维模型,包括:
S31、基于设置惯性传感器的节点的初始平面布局对各个节点进行分组;
S32、将每组内的多个节点按照编号顺序进行连线重建出非闭合曲线,或者通过插值法从至多每4个相邻节点中重建相应的非闭合曲线;
S33、利用三维建模软件API的建模命令将非闭合曲线重建得到多个相交曲面;
S34、利用三维建模软件API的自动建立实体命令将多个相交曲面自动重建得到形变后柔性实体的三维模型。
5.根据权利要求4所述的支持三维建模的实体交互控制方法,其特征在于,基于设置惯性传感器的节点的初始平面布局对各个节点进行分组,包括:初始三维模型展开得到多个平面,将位于同一平面的节点分为一组。
6.根据权利要求1所述的支持三维建模的实体交互控制方法,其特征在于,基于设定的原点坐标和相邻两个节点的实时向量依次得到其他节点的实时相对空间坐标,包括:
S21、从柔性实体内随机选择一个节点作为原点坐标,设定当柔性实体发生形变时原点坐标不变,基于原点坐标通过相邻两个节点的实时向量得到当前与原点坐标相邻节点的实时空间坐标;
S22、重复步骤S21直至得到柔性实体内的所有节点的实时空间坐标。
7.一种支持三维建模的实体交互控制装置,其特征在于,包括:
接收单元,用于获得内部分布多个节点的柔性实体,所述节点上设置惯性传感器,基于惯性传感器得到柔性实体的初始三维空间坐标和初始姿态角,当柔性实体发生形变后基于惯性传感器得到柔性实体的实时姿态角;
数据处理单元,柔性实体内相邻两个节点为第一节点和第二节点,在第一节点和第二节点间设置一个中间点,基于第一节点的初始三维空间坐标得到第一节点到中间点的第一节点初始向量,基于第二节点的初始三维空间坐标得到中间点到第二节点的第二节点初始向量;
将第一节点的初始姿态角取逆后与第一节点初始向量相乘得到第一节点的参考向量,将第二节点的初始姿态角取逆后与第二节点初始向量相乘得到第二节点的参考向量,第一节点和第二节点的参考向量均为水平正方向;
将第一节点的参考向量与第一节点的实时姿态角相乘得到第一节点实时向量,将第二节点的参考向量与第二节点的实时姿态角相乘得到第二节点实时向量,基于第一节点实时向量和第二节点实时向量得到相邻两个节点的实时向量,基于设定的原点坐标和相邻两个节点的实时向量依次得到其他节点的实时相对空间坐标;
获得第一节点初始向量和第二节点初始向量的具体步骤,包括:
基于第一节点和第二节点的初始三维空间坐标得到第一节点到第二节点的初始空间向量;
基于z轴单位方向向量和第一节点的初始姿态角得到基于z轴的第一节点初始单位方向向量,基于z轴单位方向向量和第二节点的初始姿态角得到基于z轴的第二节点初始单位方向向量;
采用向量点积运算法则和余弦定理通过所述初始空间向量与第一节点初始单位方向向量得到第一节点初始向量的模,采用向量点积运算法则和余弦定理通过所述初始空间向量和第二节点初始单位方向向量得到第二节点初始向量的模;
第一节点初始向量的模 和第二节点初始向量的模 /> 具体阐述如下:
其中, /> 和/> 分别为节点A和B各自的初始单位方向向量,/> 为节点A和B之间的初始空间向量的模;
采用向量点积运算法则和三角形向量方法基于第一节点初始向量的模、初始空间向量、第一节点初始单位方向向量得到第一节点初始向量;
采用向量点积运算法则和三角形向量方法基于第二节点初始向量的模、初始空间向量、第二节点初始单位方向向量得到第二节点初始向量;
基于第一节点实时向量和第二节点实时向量得到相邻两个节点的实时向量为:
其中,/> 为第一节点实时向量,/> 为第二节点实时向量, 为第一节点的实时姿态角,/> 为第二节点的实时姿态角,/> 为第一节点的参考向量,/> 为第二节点的参考向量,/> 为第一节点初始向量,/> 为第二节点初始向量;
输出单元,用于将柔性实体内各个节点的实时相对空间坐标输入三维建模软件得到形变后柔性实体的三维模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311585312.9A CN117292085B (zh) | 2023-11-27 | 2023-11-27 | 一种支持三维建模的实体交互控制方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311585312.9A CN117292085B (zh) | 2023-11-27 | 2023-11-27 | 一种支持三维建模的实体交互控制方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117292085A CN117292085A (zh) | 2023-12-26 |
CN117292085B true CN117292085B (zh) | 2024-02-09 |
Family
ID=89239400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311585312.9A Active CN117292085B (zh) | 2023-11-27 | 2023-11-27 | 一种支持三维建模的实体交互控制方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117292085B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008099915A1 (ja) * | 2007-02-16 | 2008-08-21 | Mitsubishi Electric Corporation | 道路地物計測装置、地物識別装置、道路地物計測方法、道路地物計測プログラム、計測装置、計測方法、計測プログラム、計測位置データ、計測端末装置、計測サーバ装置、作図装置、作図方法、作図プログラムおよび作図データ |
CN107330967A (zh) * | 2017-05-12 | 2017-11-07 | 武汉商学院 | 基于惯性传感技术的骑师运动姿态捕捉及三维重建系统 |
CN108053485A (zh) * | 2017-12-29 | 2018-05-18 | 浙江大学 | 一种基于轮廓图像的马铃薯三维建模方法 |
WO2019205865A1 (zh) * | 2018-04-27 | 2019-10-31 | 腾讯科技(深圳)有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
WO2021012879A1 (zh) * | 2019-07-22 | 2021-01-28 | 香港中文大学(深圳) | 轨迹重建方法、装置、计算机设备和存储介质 |
CN113609999A (zh) * | 2021-08-06 | 2021-11-05 | 湖南大学 | 基于姿态识别的人体模型建立方法 |
WO2022115795A1 (en) * | 2020-11-30 | 2022-06-02 | Intuitive Surgical Operations, Inc. | Techniques for adjusting a display unit of a viewing system |
CN114840081A (zh) * | 2022-04-29 | 2022-08-02 | 浙江大学 | 一种人体动作与体表形变捕捉方法及对应的模块化可穿戴设备 |
CN114882181A (zh) * | 2022-04-14 | 2022-08-09 | 江苏徐工工程机械研究院有限公司 | 一种露天矿山无人化三维地图生成方法及系统 |
CN116310083A (zh) * | 2023-02-03 | 2023-06-23 | 杭州百世伽信息科技有限公司 | 人体姿态深度图像的生成方法与人体姿态识别系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114649083A (zh) * | 2022-03-25 | 2022-06-21 | 上海联影医疗科技股份有限公司 | 一种三维模型处理方法、系统、装置及存储介质 |
-
2023
- 2023-11-27 CN CN202311585312.9A patent/CN117292085B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008099915A1 (ja) * | 2007-02-16 | 2008-08-21 | Mitsubishi Electric Corporation | 道路地物計測装置、地物識別装置、道路地物計測方法、道路地物計測プログラム、計測装置、計測方法、計測プログラム、計測位置データ、計測端末装置、計測サーバ装置、作図装置、作図方法、作図プログラムおよび作図データ |
CN107330967A (zh) * | 2017-05-12 | 2017-11-07 | 武汉商学院 | 基于惯性传感技术的骑师运动姿态捕捉及三维重建系统 |
CN108053485A (zh) * | 2017-12-29 | 2018-05-18 | 浙江大学 | 一种基于轮廓图像的马铃薯三维建模方法 |
WO2019205865A1 (zh) * | 2018-04-27 | 2019-10-31 | 腾讯科技(深圳)有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
WO2021012879A1 (zh) * | 2019-07-22 | 2021-01-28 | 香港中文大学(深圳) | 轨迹重建方法、装置、计算机设备和存储介质 |
WO2022115795A1 (en) * | 2020-11-30 | 2022-06-02 | Intuitive Surgical Operations, Inc. | Techniques for adjusting a display unit of a viewing system |
CN113609999A (zh) * | 2021-08-06 | 2021-11-05 | 湖南大学 | 基于姿态识别的人体模型建立方法 |
CN114882181A (zh) * | 2022-04-14 | 2022-08-09 | 江苏徐工工程机械研究院有限公司 | 一种露天矿山无人化三维地图生成方法及系统 |
CN114840081A (zh) * | 2022-04-29 | 2022-08-02 | 浙江大学 | 一种人体动作与体表形变捕捉方法及对应的模块化可穿戴设备 |
CN116310083A (zh) * | 2023-02-03 | 2023-06-23 | 杭州百世伽信息科技有限公司 | 人体姿态深度图像的生成方法与人体姿态识别系统 |
Non-Patent Citations (2)
Title |
---|
A Displacement Driven Real-Time Deformable Model For Haptic Surgery Simulation;Pei Chen;IEEE;全文 * |
眼动数据可视化综述;孙凌云;计算机辅助设计与图形学学报;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117292085A (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109147048B (zh) | 一种利用单张彩色图的三维网格重建方法 | |
CN104268934B (zh) | 一种由点云直接重建三维曲面的方法 | |
Shimada et al. | Quadrilateral Meshing with Directionality Control through the Packing of Square Cells. | |
CN104123747B (zh) | 多方式触控三维建模方法和系统 | |
CN106650085B (zh) | 基于有限元网格的实体模型生成镂空模型的方法 | |
CN110442925A (zh) | 一种基于实时动态分割重构的三维可视化方法及系统 | |
Novakova-Marcincinova et al. | Effective utilization of rapid prototyping technology | |
Zheng et al. | Interpolation over arbitrary topology meshes using a two-phase subdivision scheme | |
CN103366402B (zh) | 三维虚拟服饰的快速姿态同步方法 | |
CN103473811B (zh) | 基于二维手绘线画图的三维实体模型便捷生成方法 | |
CN101901287A (zh) | 航天器几何与行为一体化三维建模方法 | |
CN106528967A (zh) | 一种基于模板的个性化接骨板设计方法 | |
Huard et al. | Planar panelization with extreme repetition | |
CN105261062A (zh) | 一种人物分段建模方法 | |
CN117292085B (zh) | 一种支持三维建模的实体交互控制方法及其装置 | |
Wang et al. | Freeform extrusion by sketched input | |
JPH08315183A (ja) | 自動メッシュ生成方法及びシステム | |
Chen et al. | Porous structure design using parameterized hexahedral meshes and triply periodic minimal surfaces | |
Yuan et al. | The Fusion Method of Virtual Reality Technology and 3D Movie Animation Design. | |
CN101477707A (zh) | 一种插值给定若干闭合曲线的曲面造型方法 | |
Merrell et al. | Constraint-based model synthesis | |
CN108460192A (zh) | 一种物理场有限元计算中不协调网格的处理方法 | |
CN115659619A (zh) | 基于等几何拓扑优化与增材制造一体化方法 | |
CN114693887A (zh) | 一种复杂点阵结构体参数化造型方法 | |
Chandru et al. | Volume modelling for emerging manufacturing technologies |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |