CN104036547B - 基于Leap Motion控制的三维笔刷实时生成网络模型的方法与装置 - Google Patents

基于Leap Motion控制的三维笔刷实时生成网络模型的方法与装置 Download PDF

Info

Publication number
CN104036547B
CN104036547B CN201410306480.4A CN201410306480A CN104036547B CN 104036547 B CN104036547 B CN 104036547B CN 201410306480 A CN201410306480 A CN 201410306480A CN 104036547 B CN104036547 B CN 104036547B
Authority
CN
China
Prior art keywords
brush
dimensional
data
density value
frame
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
Application number
CN201410306480.4A
Other languages
English (en)
Other versions
CN104036547A (zh
Inventor
张松海
王骁建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201410306480.4A priority Critical patent/CN104036547B/zh
Publication of CN104036547A publication Critical patent/CN104036547A/zh
Application granted granted Critical
Publication of CN104036547B publication Critical patent/CN104036547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明涉及一种基于Leap Motion控制的三维笔刷实时生成网格模型的方法,包括:定义三维笔刷的几何参数;捕获当前帧手部位置作为笔刷位置,结合三维笔刷几何参数计算空间网格顶点的密度值与法向量;判断当前帧的数据是否需要更新,如果不需要更新则将上一帧的数据写入当前纹理;如果需要更新,则将本帧新计算的数据写入当前纹理;读取当前纹理数据并生成网格。本发明通过Leap Motion捕获的手部位置和三维笔刷的几何参数捕捉笔刷移动过程中的体数据,并将动态体数据进行网格模型可视化,通过渲染到纹理等GPU加速方法达到了实时交互的效果,兼有直观和高效的优点。本发明还公开了一种基于Leap Motion控制的三维笔刷实时生成网格模型的装置。

Description

基于Leap Motion控制的三维笔刷实时生成网络模型的方法 与装置
技术领域
本发明涉及人机交互和体数据可视化技术领域,尤其涉及一种基于Leap Motion控制的三维笔刷实时生成网络模型的方法与装置。
背景技术
随着三维内容需求的增加,三维建模工具经过多年的发展已经有了较为广泛地应用,对不同领域的需求也有了针对性的解决方案,然而造型机制和交互层面还有各种不足。
现行的造型***交互操作层面主要分为两种:以参数为主的造型和以顶点为主的造型。第一种造型方法高度依赖于参数化,所以非常适用于高度规则和参数化的机械和工业生产过程,却不适用于艺术创作领域,因为艺术造型通常是自由的,不规则的,很难参数化的;第二种造型方法自由度较高,但是造型过程非常不直观且繁琐,使用者只能通过对规则形体繁琐地顶点修改得到自己想要的形状。
在平面的创作中,最快速高效的艺术创作方法就是使用笔刷在平面介质上涂鸦,三维模型也应该以这种方式来创作最为自然且快速,这也正是主流建模***所欠缺的体验。在研究领域已经对更加自由的三维模型创建模式做出了一定程度探索,为了避免抽象的参数化和繁琐顶点操作,纸笔涂鸦作为人最直观的设计创作模式,也开始被引入到三维模型创建过程中。Igarashi等人在2007年提出了基于自由涂鸦生成三维模型的算法,通过在画布上绘制二维轮廓,再通过该轮廓生成相应的三维网格。Rivers等人也提出了一种通过在不同视角下绘制二维矢量图像,得到可旋转的三维卡通模型的算法。这些以二维草图来创建三维模型的算法在一定程度上让三维模型的创作更加自由,但是现在所有的模型***都在二维的输入介质上来完成操作,导致在三维软件中,为了完成输入输出介质的认知对应,只能将三维空间到二维屏幕投影与二维输入设备操作的维度对应,所以在一个透视角度下,只可能有两个维度的操作时最直观的,这样的结果就是对一个三维对象的操作要通过频繁地转换视窗投影的角度来完成,或者利用一些视觉辅助比如直观地显示XYZ坐标轴,通过点击图示的坐标轴来完成对应维度的操作,所以一种全三维的输入方式才能最直观地完成三维操作的认知。
发明内容
本发明所要解决的技术问题是,针对现有技术的不足,如何通过Leap Motion捕获的手部位置和三维笔刷的几何参数捕捉笔刷移动过程中的体数据,并将动态体数据进行网格模型可视化的关键问题。
为此目的,本发明提出了一种基于Leap Motion控制的三维笔刷实时生成网格模型的方法,包括具体以下步骤:
S1:定义三维笔刷的几何参数;
S2:捕获当前帧手部位置作为笔刷位置,结合所述三维笔刷几何参数计算空间网格顶点的密度值与法向量,其中,所述密度值为一个一维浮点数,所述法向量为一个三维浮点向量;
S3:判断当前帧的数据是否需要更新,如果需要更新,则进入步骤S5,如果不需要更新则进入步骤S4;
S4:将上一帧的数据写入当前纹理;
S5:将本帧新计算的数据写入当前纹理;
S6:读取所述当前纹理数据并生成网格。
具体地,所述三维笔刷为一个参数笔刷,通过定义笔刷几何参数同时结合笔刷移动路径,生成几何体。
具体地,所述步骤S1进一步包括:对三维笔刷形状和笔刷大小进行几何参数定义。
具体地,所述步骤S2中将Leap Motion设备捕获的手部位置作为三维笔刷几何位置,通过移动手掌来移动三维笔刷,并计算当前帧笔刷位置和笔刷几何参数下空间网格顶点的密度值和法向量。
具体地,所述步骤S3中将当前帧计算的密度值与上一帧中的数据对比,如果上一帧空间网格顶点的密度值大于当前帧的密度值,则将当前帧在该点的数据存入对应像素,否则直接将上一帧数据存入纹理。
具体地,计算空间网格顶点密度值和网格生成阶段使用GPU对算法进行加速。
为此目的,本发明还提出了一种基于Leap Motion控制的三维笔刷实时生成网络模型的装置,包括:
定义模块,用于定义三维笔刷的几何参数;
捕获模块,用于捕获当前帧手部位置作为笔刷位置;
计算模块,用于结合所述三维笔刷几何参数计算空间网格顶点的密度值与法向量,其中,所述密度值为一个一维浮点数,所述法向量为一个三维浮点向量;
判断模块,用于判断当前帧的数据是否需要更新;
写入模块,用于当前帧的数据不需要更新,则将上一帧的数据写入当前纹理,当前帧的数据需要更新,则将本帧新计算的数据写入当前纹理;
生成网格模块,用于读取所述当前纹理数据并生成网格。
本发明所公开的一种基于Leap Motion控制的三维笔刷实时生成网格模型的方法,通过Leap Motion捕获的手部位置和三维笔刷的几何参数捕捉笔刷移动过程中的体数据,并将动态体数据进行网格模型可视化,通过渲染到纹理等GPU加速方法达到了实时交互的效果,兼有直观和高效的优点。本发明还公开了一种基于Leap Motion控制的三维笔刷实时生成网格模型的装置。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明实施例中的一种基于Leap Motion控制的三维笔刷实时生成网格模型的方法的步骤流程图;
图2示出了本发明实施例中的一种基于Leap Motion控制的三维笔刷实时生成网格模型的装置的结构图。
具体实施方式
下面将结合附图对本发明的实施例进行详细描述。
如图1所示,本发明提供了一种基于Leap Motion控制的三维笔刷实时生成网格模型的方法,包括具体以下步骤:
步骤S1:定义三维笔刷的几何参数。其中,三维笔刷为一个参数笔刷,通过定义笔刷几何参数同时结合笔刷移动路径,生成几何体,即通过更改笔刷的几何参数可以更便捷地控制生成几何体的基础形状,结合自由移动路径达到直观地几何体生成过程,且定义三维笔刷的几何参数为对三维笔刷形状和笔刷大小进行几何参数定义。
例如,本发明中以最基本的球星笔刷来进行研究和实现,其他形状笔刷也可以通过更改笔刷形状参数来完成。具体地,以球形笔刷为例,笔刷大小为球形的半径,所以其几何参数为笔刷位置P和笔刷半径R。
步骤S2:捕获当前帧手部位置作为笔刷位置,结合三维笔刷几何参数计算空间网格顶点的密度值与法向量,即将Leap Motion设备捕获的手部位置作为三维笔刷几何位置,通过移动手掌来移动三维笔刷,并计算当前帧笔刷位置和笔刷几何参数下空间网格顶点的密度值和法向量,其中,密度值为一个一维浮点数,法向量为一个三维浮点向量。
具体地,每个顶点都需要4个浮点数来存储该点处和体数据相关的参数,所以应该用RGBA格式的纹理来存储这些数据,每个像素由R/G/B/A四个浮点数组成,每个顶点的数据存储在一个像素中。
进一步地,为了达到实时交互的帧率,计算空间网格顶点密度值和网格生成阶段使用GPU对算法进行加速。具体地,为使用GLSL来计算空间网格密度值,并渲染到纹理,在网格生成阶段使用几何着色器来完成。
例如,本发明以球形笔刷示例,对于球形笔刷,笔刷参数包括位置矢量O和球体半径R,对于任意空间体素的任意顶点v有位置矢量Pv,那么顶点v的密度值D可表示为:
D=|Pv-O|-R
球形笔刷表面的法向量总是由球心指向空间点的位置,所以任意顶点v处的法向量N的计算方法为:
N=normalize(Pv-O))
步骤S3:判断当前帧的数据是否需要更新,如果需要更新,则进入步骤S5,如果不需要更新则进入步骤S4。
具体地,步骤S3中将当前帧计算的密度值与上一帧中的数据对比,如果上一帧空间网格顶点的密度值大于当前帧的密度值,则该点数据需要更新,将当前帧在该点的数据存入对应像素,否则直接将上一帧数据存入纹理。
步骤S4:将上一帧的数据写入当前纹理。
步骤S5:将本帧新计算的数据写入当前纹理。
步骤S6:读取当前纹理数据并生成网格。
如图2所示,本发明还公开了一种基于Leap Motion控制的三维笔刷实时生成网络模型的装置10,包括:定义模块101、捕获模块102、计算模块103、判断模块104、写入模块105以及生成网格模块106。
具体地,定义模块101用于定义三维笔刷的几何参数;捕获模块102用于捕获当前帧手部位置作为笔刷位置;计算模块103用于结合三维笔刷几何参数计算空间网格顶点的密度值与法向量,其中,密度值为一个一维浮点数,法向量为一个三维浮点向量;判断模块104用于判断当前帧的数据是否需要更新;写入模块105用于当前帧的数据不需要更新,则将上一帧的数据写入当前纹理,当前帧的数据需要更新,则将本帧新计算的数据写入当前纹理;生成网格模块106用于读取当前纹理数据并生成网格。
本发明所公开的一种基于Leap Motion控制的三维笔刷实时生成网格模型的方法,通过Leap Motion捕获的手部位置和三维笔刷的几何参数捕捉笔刷移动过程中的体数据,并将动态体数据进行网格模型可视化,通过渲染到纹理等GPU加速方法达到了实时交互的效果,兼有直观和高效的优点。本发明还公开了一种基于Leap Motion控制的三维笔刷实时生成网格模型的装置。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (7)

1.一种基于Leap Motion控制的三维笔刷实时生成网格模型的方法,其特征在于,包括具体以下步骤:
S1:定义三维笔刷的几何参数;
S2:捕获当前帧手部位置作为笔刷位置,结合所述三维笔刷几何参数计算空间网格顶点的密度值与法向量,其中,所述密度值为一个一维浮点数,所述法向量为一个三维浮点向量;
S3:判断当前帧的数据是否需要更新,如果需要更新,则进入步骤S5,如果不需要更新则进入步骤S4;
S4:将上一帧的数据写入当前纹理;
S5:将本帧新计算的数据写入当前纹理;
S6:读取所述当前纹理数据并生成网格。
2.如权利要求1所述的方法,其特征在于,所述三维笔刷为一个参数笔刷,通过定义笔刷几何参数同时结合笔刷移动路径,生成几何体。
3.如权利要求1所述的方法,其特征在于,所述步骤S1进一步包括:对三维笔刷形状和笔刷大小进行几何参数定义。
4.如权利要求1所述的方法,其特征在于,所述步骤S2中将Leap Motion设备捕获的手部位置作为三维笔刷几何位置,通过移动手掌来移动三维笔刷,并计算当前帧笔刷位置和笔刷几何参数下空间网格顶点的密度值和法向量。
5.如权利要求1所述的方法,其特征在于,所述步骤S3中将当前帧计算的密度值与上一帧中的数据对比,如果上一帧空间网格顶点的密度值大于当前帧的密度值,则将当前帧在该点的数据存入对应像素,否则直接将上一帧数据存入纹理。
6.如权利要求1所述的方法,其特征在于,计算空间网格顶点密度值和网格生成阶段使用GPU对算法进行加速。
7.一种基于Leap Motion控制的三维笔刷实时生成网格模型的装置,其特征在于,包括:
定义模块,用于定义三维笔刷的几何参数;
捕获模块,用于捕获当前帧手部位置作为笔刷位置;
计算模块,用于结合所述三维笔刷几何参数计算空间网格顶点的密度值与法向量,其中,所述密度值为一个一维浮点数,所述法向量为一个三维浮点向量;
判断模块,用于判断当前帧的数据是否需要更新;
写入模块,用于当前帧的数据不需要更新,则将上一帧的数据写入当前纹理,当前帧的数据需要更新,则将本帧新计算的数据写入当前纹理;
生成网格模块,用于读取所述当前纹理数据并生成网格。
CN201410306480.4A 2014-06-30 2014-06-30 基于Leap Motion控制的三维笔刷实时生成网络模型的方法与装置 Active CN104036547B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410306480.4A CN104036547B (zh) 2014-06-30 2014-06-30 基于Leap Motion控制的三维笔刷实时生成网络模型的方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410306480.4A CN104036547B (zh) 2014-06-30 2014-06-30 基于Leap Motion控制的三维笔刷实时生成网络模型的方法与装置

Publications (2)

Publication Number Publication Date
CN104036547A CN104036547A (zh) 2014-09-10
CN104036547B true CN104036547B (zh) 2017-05-24

Family

ID=51467305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410306480.4A Active CN104036547B (zh) 2014-06-30 2014-06-30 基于Leap Motion控制的三维笔刷实时生成网络模型的方法与装置

Country Status (1)

Country Link
CN (1) CN104036547B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110163942B (zh) * 2018-07-18 2023-02-14 腾讯科技(深圳)有限公司 一种图像数据处理方法和装置
CN109448078B (zh) * 2018-10-19 2022-11-04 珠海金山数字网络科技有限公司 一种图像编辑***、方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101609564A (zh) * 2009-07-09 2009-12-23 杭州力孚信息科技有限公司 一种草图式输入的三维网格模型制作方法
CN101799937A (zh) * 2010-03-23 2010-08-11 南京大学 一种采用草图创建三维模型的方法
CN102354345A (zh) * 2011-10-21 2012-02-15 北京理工大学 一种具有体感交互方式的医学影像浏览设备
CN102509357A (zh) * 2011-09-28 2012-06-20 中国科学院自动化研究所 基于笔触的铅笔素描模拟和绘制***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101609564A (zh) * 2009-07-09 2009-12-23 杭州力孚信息科技有限公司 一种草图式输入的三维网格模型制作方法
CN101799937A (zh) * 2010-03-23 2010-08-11 南京大学 一种采用草图创建三维模型的方法
CN102509357A (zh) * 2011-09-28 2012-06-20 中国科学院自动化研究所 基于笔触的铅笔素描模拟和绘制***
CN102354345A (zh) * 2011-10-21 2012-02-15 北京理工大学 一种具有体感交互方式的医学影像浏览设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Ryan Schmidt et al..Sketching and Composing Widgets for 3D Manipulation.《COMPUTER GRAPHICS FORUM》.2008,第27卷(第2期),第301-310页. *
关然 等.基于计算机视觉的手势检测识别技术.《计算机应用与软件》.2013,第30卷(第1期),第155-159页. *
柳杨.基于Wifi和体感交互的演示***设计与实现.《电子技术应用》.2013,第39卷(第4期),第121-123页. *

Also Published As

Publication number Publication date
CN104036547A (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
CN104183005B (zh) 图形处理单元和基于图块的渲染方法
CN105378796B (zh) 可伸缩体积3d重构
CN102779358B (zh) 用于设计几何三维建模对象的方法及设备
CN105678683B (zh) 一种三维模型的二维存储方法
CN104361632B (zh) 一种基于Hermite径向基函数的三角网格补洞方法
CN104123747B (zh) 多方式触控三维建模方法和***
CN105654545A (zh) 一种3d互动别墅户型的构建与分层显示控制方法
JP2002352273A (ja) 対話式にグラフィクスオブジェクトを編集するシステムおよび方法
CN107146287B (zh) 二维投影图像至三维模型的映射方法
JP2002324250A (ja) コンピュータ実現ツールを用いてグラフィクスオブジェクトを編集する方法
JP2002329215A (ja) オブジェクトの適応的サンプル距離フィールドを生成する方法
JP2012190428A (ja) 立体映像視覚効果処理方法
JP2002334346A (ja) オブジェクトのレンジデータをオブジェクトのモデルに変換する方法
JP2002334347A (ja) グラフィクスモデルの適応的サンプル距離フィールドを三角形モデルに変換する方法
Eyiyurekli et al. Interactive free-form level-set surface-editing operators
CN104463937B (zh) 基于不规则物体的动画生成方法及装置
CN104036547B (zh) 基于Leap Motion控制的三维笔刷实时生成网络模型的方法与装置
Petkov et al. Interactive visibility retargeting in vr using conformal visualization
CN102693065A (zh) 立体影像视觉效果处理方法
CN108898679A (zh) 一种零部件序号自动标注的方法
US8952968B1 (en) Wave modeling for computer-generated imagery using intersection prevention on water surfaces
Spillmann et al. Robust tetrahedral meshing of triangle soups
JP2002324252A (ja) グラフィクスオブジェクトをモデル化する方法
JP2002352270A (ja) モデルの適応的サンプル距離フィールドを訂正する方法
Qi Computer aided design simulation of 3D garden landscape based on virtual reality

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant