CN103049266A - Delta3D三维场景漫游的鼠标操作方法 - Google Patents
Delta3D三维场景漫游的鼠标操作方法 Download PDFInfo
- Publication number
- CN103049266A CN103049266A CN2012105498353A CN201210549835A CN103049266A CN 103049266 A CN103049266 A CN 103049266A CN 2012105498353 A CN2012105498353 A CN 2012105498353A CN 201210549835 A CN201210549835 A CN 201210549835A CN 103049266 A CN103049266 A CN 103049266A
- Authority
- CN
- China
- Prior art keywords
- scene
- mouse
- event
- model
- delta
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
一种Delta3D三维场景漫游的鼠标操作方法,包括:场景初始化,包括模型加载和更改鼠标与场景漫游方式的对应关系;拾取鼠标事件,记录事件类型和调整数值,当鼠标产生了触发事件,三维引擎将及时拾取该事件,并记录事件类型和因鼠标操作而产生的微小的变化量;进行不同漫游方式的三维空间计算,计算出摄像机新的空间位置和姿态位置以及摄像机与场景模型之间的距离;绘制出缩放后的场景图。本发明可以很好的解决用户与虚拟场景交互时所面临的问题,使其场景漫游操作更人性化,进一步提高了场景交互的效率。本发明通过对Delta3D的漫游方式的改进,很好的满足了用户操作虚拟场景的客观需求,提高了操作的便利性和效率。
Description
技术领域
本发明涉及一种Delta3D三维场景漫游。特别是涉及一种Delta3D三维场景漫游的鼠标操作方法。
背景技术
虚拟现实的核心思想是对现实或超现实世界的模拟和再现,是一种随计算机技术、图形学技术等发展而来的跨学科技术。随着社会信息化进程进一步加快,人们对于信息的表示方式不再局限文本类的形式,更多是趋向于看的见、摸的着、可交互的、可反馈的形式。虚拟现实技术正是基于此需求而诞生的。
虚拟现实技术关键在于信息的可视化实现,信息的数据源形式具有复杂性和多样性特点,主要包含场景的各种几何数据、外界对场景的触发数据以及场景的反馈数据等。场景的再现过程涉及到计算机图形学、数据库、人工智能、数值计算和分析等多个学科领域,研究内容包括场景建模、场景图组织、场景控制和场景漫游等问题。
三维引擎是实现虚拟现实建立虚拟场景的基础,建立在良好三维引擎基础上的场景,可以体现较强的Immersion、Interactivity、Imagination特性。Delta3D正是这样一款基于C++开发的三维引擎,其集成了OSG、OpenAL、ODE、CAL3D等工具,实现了虚拟场景建立、物理仿真、用户交互、动画设计等功能。基于Delta3D的场景建立主要有场景建模、文件配置、模型加载、场景初始化四个步骤,如图1所示。
如果建立的虚拟场景没有任何的交互功能,那么作为一个孤寂的场景,将没有任何的实际应用价值。场景交互中最主要的一种实现方式是场景的漫游。
在基于Delta3D建立的场景中,提供了一些基本的场景漫游方式,例如Walk、Fly、Orbit、FPS形式,但是基于上述四种形式的漫游方式并不很好的满足用户进行场景操作的目的,而且操作起来比较复杂,其中在进行场景的缩放时,需要用户按住鼠标滚轮进行鼠标的滑动来实现,这对于鼠标滚轮失效或者场景比较大的情况而言,显然是不能满足用户需求的。另外,在对场景进行平移和旋转时,其鼠标左右键的功能和主流的操作形式又不一致。因此有必要在原有的基础上,改进Delta3D的场景漫游方式。
发明内容
本发明所要解决的技术问题是,提供一种能够满足不同的信号输入对应不同的场景漫游的Delta3D三维场景漫游的鼠标操作方法。
本发明所采用的技术方案是:一种Delta3D三维场景漫游的鼠标操作方法,包括如下步骤:
1)场景初始化,包括模型加载和更改鼠标与场景漫游方式的对应关系;
2)拾取鼠标事件,记录事件类型和调整数值
当鼠标产生了触发事件,三维引擎将及时拾取该事件,并记录事件类型和因鼠标操作而产生的微小的变化量;
3)进行不同漫游方式的三维空间计算,计算出摄像机新的空间位置和姿态位置以及摄像机与场景模型之间的距离;
4)绘制出缩放后的场景图。
步骤1)所述的更改鼠标与场景漫游方式的对应关系是,首先获取用于输入信号进行场景交互的鼠标,实现鼠标上的左、右按键和滚轮与场景的坐标轴的对应关系,具体对应关系包括:
1)左键分别与UpDownMapping和LeftRightMapping进行映射,影响场景中的ElevationAxis和AzimuthAxis轴,从而实现利用鼠标左键旋转场景图;
2)滚轮与UpDownMapping进行映射,影响场景中DistanceAxis,从而实现利用鼠标滚轮对场景图距离的调整,即实现场景图的放大和缩小;
3)右键分别与UpDownMapping和LeftRightMapping进行映射,影响场景中UpDownTranslationAxis和LeftRightTranslationAxis,从而实现利用鼠标右键对场景的平移的调整。
步骤3)所述的进行不同漫游方式的三维空间计算,是依据事件类型,三维引擎进行相应的平移、旋转和缩放计算,计算过程如下:
distDelta=delta*pDistance
Mat=(0,distDelta,0)
Pos=Pos+M*Mat
nDistance=pDistance+distDelta
式中:delta表示因鼠标操作而产生的微小的变化量;distDelta为因delta的变化所产生的调整量;pDiatance为场景中摄像机与场景模型之间调整前的距离;Mat是将计算结果转化为向量形式;Pos为模型在场景中空间位置;M为三维引擎进行相应的平移或旋转或缩放的矩阵;nDistance是更新后的场景中摄像机与场景模型之间的距离。
本发明的Delta3D三维场景漫游的鼠标操作方法,可以很好的解决用户与虚拟场景交互时所面临的问题,使其场景漫游操作更人性化,进一步提高了场景交互的效率。本发明虽然是基于Delta3D的漫游方式的改进,但是改进过程的思想可被大多数的三维引擎采用。通过对Delta3D的漫游方式的改进,很好的满足了用户操作虚拟场景的客观需求,提高了操作的便利性和效率。
附图说明
图1是基于Delta3D的模型建立流程;
图2是本发明的Delta3D三维场景漫游的鼠标操作方法的流程图。
具体实施方式
下面结合实施例和附图对本发明的Delta3D三维场景漫游的鼠标操作方法做出详细说明。
本发明的Delta3D三维场景漫游的鼠标操作方法,涉及两个方面,一是硬件设备与场景交互的映射关系,即满足不同的信号输入对应不同的场景漫游功能;另一方面是映射关系的计算,即对不同的输入信号的三维计算。
对于鼠标输入而言,映射关系满足一下三点:
1)鼠标右键实现场景的平移;
2)鼠标滚轮实现场景的放大和缩小;
3)鼠标左键对应于场景的旋转。
对于其他形式的信号输入,应可以实现用户自定义模式,例如,键盘按键的自定义或操作手柄的自定义等。
场景漫游除了上述映射关系的确定外,最主要的是现实场景的三维空间计算。三维空间的计算实质是场景中各个坐标系下的计算。在虚拟场景中涉及三种坐标系,世界坐标系是绝对坐标系,是静止不动,是一种参考坐标系。物体坐标系是场景模型自身的坐标系,为了方便模型的构建而建立的,随物体的移动而移动。惯性坐标系是一种为方便计算而人为设定的坐标系。
本发明的Delta3D三维场景漫游的鼠标操作方法,具体包括如下步骤:
1)场景初始化,包括模型加载和更改鼠标与场景漫游方式的对应关系
所述的更改鼠标与场景漫游方式的对应关系是,首先获取用于输入信号进行场景交互的鼠标,实现鼠标上的左、右按键和滚轮与场景的坐标轴的对应关系,具体对应关系包括:
(1)左键分别与UpDownMapping和LeftRightMapping进行映射,影响场景中的ElevationAxis和AzimuthAxis轴,从而实现利用鼠标左键旋转场景图;
(2)滚轮与UpDownMapping进行映射,影响场景中DistanceAxis,从而实现利用鼠标滚轮对场景图距离的调整,即实现场景图的放大和缩小;
(3)右键分别与UpDownMapping和LeftRightMapping进行映射,影响场景中UpDownTranslationAxis和LeftRightTranslationAxis,从而实现利用鼠标右键对场景的平移的调整。
2)拾取鼠标事件,记录事件类型和调整数值
当鼠标产生了触发事件,三维引擎将及时拾取该事件,并记录事件类型和因鼠标操作而产生的微小的变化量;
3)进行不同漫游方式的三维空间计算,计算出摄像机新的空间位置和姿态位置以及摄像机与场景模型之间的距离
所述的进行不同漫游方式的三维空间计算,是依据事件类型,三维引擎进行相应的平移、旋转和缩放计算,为统一以及便于场景的三维计算,引入齐次坐标。引入齐次坐标后,场景的各种三维变换均可对应于三种变换矩阵或变换矩阵的组合。计算过程如下:
distDelta=delta*pDistance (1)
Mat=(0,distDelta,0) (2)
Pos=Pos+M*Mat (3)
nDistance=pDistance+distDelta (4)
式中:delta表示因鼠标操作而产生的微小的变化量;distDelta为因delta的变化所产生的调整量;pDiatance为场景中摄像机与场景模型之间调整前的距离;Mat是将计算结果转化为向量形式;Pos为模型在场景中空间位置;M代表三维引擎进行相应的平移或旋转或缩放的矩阵,这三种变换矩阵分别为平移变换矩阵Mt、缩放变换矩阵Ms和旋转变换矩阵Mr。;nDistance是更新后的场景中摄像机与场景模型之间的距离。
利用变换矩阵很好的解决了鼠标操作的对应关系,实现了符合常规形式的场景漫游方式,另外,方便了坐标在计算机中存储,提高了计算三维场景图的准确性。
4)绘制出缩放后的场景图。
本发明的Delta3D三维场景漫游的鼠标操作方法,在第一阶段明确了输入信号与漫游方式的映射关系,为了保证符合其他信号输入形式,实现了用户自定义对应关系,保证了下一步漫游方式实现的逻辑的正确性。第二阶段,在改进漫游方式的过程中,引入了齐次坐标。通过引入齐次坐标,将场景变换中三维空间的计算,统一为矩阵的计算形式,通过输入信号的连续性微量的变化,结合场景中原模型的几何位置,利用矩阵相乘,快速的得到了变换后的场景图。另外,为避免场景漫游过程中出现场景模型脱离摄像机范围和场景图在放大或缩小的边界出现抖动现象,可根据需要设定场景摄像机的投影范围和场景图中最大或最小范围的预处理。
在处理基于Delta3D的漫游方式中,应用本发明所提出的改进方法,可以很好的解决用户与虚拟场景交互时所面临的问题,使其场景漫游操作更人性化,进一步提高了场景交互的效率。
Claims (3)
1.一种Delta3D三维场景漫游的鼠标操作方法,其特征在于,包括如下步骤:
1)场景初始化,包括模型加载和更改鼠标与场景漫游方式的对应关系;
2)拾取鼠标事件,记录事件类型和调整数值
当鼠标产生了触发事件,三维引擎将及时拾取该事件,并记录事件类型和因鼠标操作而产生的微小的变化量;
3)进行不同漫游方式的三维空间计算,计算出摄像机新的空间位置和姿态位置以及摄像机与场景模型之间的距离;
4)绘制出缩放后的场景图。
2.根据权利要求1所述的Delta3D三维场景漫游的鼠标操作方法,其特征在于,步骤1)所述的更改鼠标与场景漫游方式的对应关系是,首先获取用于输入信号进行场景交互的鼠标,实现鼠标上的左、右按键和滚轮与场景的坐标轴的对应关系,具体对应关系包括:
1)左键分别与UpDownMapping和LeftRightMapping进行映射,影响场景中的ElevationAxis和AzimuthAxis轴,从而实现利用鼠标左键旋转场景图;
2)滚轮与UpDownMapping进行映射,影响场景中DistanceAxis,从而实现利用鼠标滚轮对场景图距离的调整,即实现场景图的放大和缩小;
3)右键分别与UpDownMapping和LeftRightMapping进行映射,影响场景中UpDownTranslationAxis和LeftRightTranslationAxis,从而实现利用鼠标右键对场景的平移的调整。
3.根据权利要求1所述的Delta3D三维场景漫游的鼠标操作方法,其特征在于,步骤3)所述的进行不同漫游方式的三维空间计算,是依据事件类型,三维引擎进行相应的平移、旋转和缩放计算,计算过程如下:
distDelta=delta*pDistance (1)
Mat=(0,distDelta,0) (2)
Pos=Pos+M*Mat (3)
nDistance=pDistance+distDelta (4)
式中:delta表示因鼠标操作而产生的微小的变化量;distDelta为因delta的变化所产生的调整量;pDiatance为场景中摄像机与场景模型之间调整前的距离;Mat是将计算结果转化为向量形式;Pos为模型在场景中空间位置;M为三维引擎进行相应的平移或旋转或缩放的矩阵;nDistance是更新后的场景中摄像机与场景模型之间的距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105498353A CN103049266A (zh) | 2012-12-17 | 2012-12-17 | Delta3D三维场景漫游的鼠标操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105498353A CN103049266A (zh) | 2012-12-17 | 2012-12-17 | Delta3D三维场景漫游的鼠标操作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103049266A true CN103049266A (zh) | 2013-04-17 |
Family
ID=48061918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105498353A Pending CN103049266A (zh) | 2012-12-17 | 2012-12-17 | Delta3D三维场景漫游的鼠标操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049266A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354031A (zh) * | 2015-11-09 | 2016-02-24 | 大连交通大学 | 基于Leap Motion的3D商品展示方法 |
CN105807936A (zh) * | 2016-03-31 | 2016-07-27 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN108989661A (zh) * | 2018-06-19 | 2018-12-11 | 北京淳中科技股份有限公司 | 一种摄像设备控制方法、装置和系统 |
CN109725783A (zh) * | 2017-10-27 | 2019-05-07 | 湖南三德科技股份有限公司 | 一种三维数字化煤场人机交互方法 |
CN110134384A (zh) * | 2019-05-09 | 2019-08-16 | 安徽工程大学 | 一种直升式的头盔下高空漫游的虚拟现实系统及方法 |
CN110209325A (zh) * | 2019-05-07 | 2019-09-06 | 高新兴科技集团股份有限公司 | 一种3d场景显示控制方法、系统及设备 |
CN112802206A (zh) * | 2021-02-07 | 2021-05-14 | 北京字节跳动网络技术有限公司 | 漫游视图的生成方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5986675A (en) * | 1996-05-24 | 1999-11-16 | Microsoft Corporation | System and method for animating an object in three-dimensional space using a two-dimensional input device |
US20040233214A1 (en) * | 2001-12-11 | 2004-11-25 | Stmicroelectronics, Inc. | Color transformation in 3D color space |
CN101593357A (zh) * | 2008-05-28 | 2009-12-02 | 中国科学院自动化研究所 | 一种基于三维平面控件的交互式体切割方法 |
CN101644989A (zh) * | 2009-09-08 | 2010-02-10 | 南京师范大学 | 基于数字头盔的通用三维虚拟场景实时交互方法 |
-
2012
- 2012-12-17 CN CN2012105498353A patent/CN103049266A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5986675A (en) * | 1996-05-24 | 1999-11-16 | Microsoft Corporation | System and method for animating an object in three-dimensional space using a two-dimensional input device |
US20040233214A1 (en) * | 2001-12-11 | 2004-11-25 | Stmicroelectronics, Inc. | Color transformation in 3D color space |
CN101593357A (zh) * | 2008-05-28 | 2009-12-02 | 中国科学院自动化研究所 | 一种基于三维平面控件的交互式体切割方法 |
CN101644989A (zh) * | 2009-09-08 | 2010-02-10 | 南京师范大学 | 基于数字头盔的通用三维虚拟场景实时交互方法 |
Non-Patent Citations (1)
Title |
---|
高峰: "基于Delta3D的虚拟拆装仿真平台的开发", 《中国优秀硕士学位论文全文数据库》, 15 January 2010 (2010-01-15), pages 1 - 95 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354031A (zh) * | 2015-11-09 | 2016-02-24 | 大连交通大学 | 基于Leap Motion的3D商品展示方法 |
CN105807936A (zh) * | 2016-03-31 | 2016-07-27 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN105807936B (zh) * | 2016-03-31 | 2021-02-19 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN109725783A (zh) * | 2017-10-27 | 2019-05-07 | 湖南三德科技股份有限公司 | 一种三维数字化煤场人机交互方法 |
CN109725783B (zh) * | 2017-10-27 | 2021-10-22 | 湖南三德科技股份有限公司 | 一种三维数字化煤场人机交互方法 |
CN108989661A (zh) * | 2018-06-19 | 2018-12-11 | 北京淳中科技股份有限公司 | 一种摄像设备控制方法、装置和系统 |
CN108989661B (zh) * | 2018-06-19 | 2021-06-29 | 北京淳中科技股份有限公司 | 一种摄像设备控制方法、装置和系统 |
CN110209325A (zh) * | 2019-05-07 | 2019-09-06 | 高新兴科技集团股份有限公司 | 一种3d场景显示控制方法、系统及设备 |
CN110134384A (zh) * | 2019-05-09 | 2019-08-16 | 安徽工程大学 | 一种直升式的头盔下高空漫游的虚拟现实系统及方法 |
CN110134384B (zh) * | 2019-05-09 | 2022-12-23 | 安徽工程大学 | 一种直升式的头盔下高空漫游的虚拟现实系统 |
CN112802206A (zh) * | 2021-02-07 | 2021-05-14 | 北京字节跳动网络技术有限公司 | 漫游视图的生成方法、装置、设备和存储介质 |
CN112802206B (zh) * | 2021-02-07 | 2022-10-14 | 北京字节跳动网络技术有限公司 | 漫游视图的生成方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103049266A (zh) | Delta3D三维场景漫游的鼠标操作方法 | |
CN102622776B (zh) | 三维环境重构 | |
Seth et al. | Virtual reality for assembly methods prototyping: a review | |
CN100407798C (zh) | 三维几何建模系统和方法 | |
Zachmann | Virtual reality in assembly simulation-collision detection, simulation algorithms, and interaction techniques | |
EP2469474B1 (en) | Creation of a playable scene with an authoring system | |
EP2814000B1 (en) | Image processing apparatus, image processing method, and program | |
Jin et al. | Interactive control of large-crowd navigation in virtual environments using vector fields | |
Behr et al. | Utilizing x3d for immersive environments | |
Park | AR-Room: a rapid prototyping framework for augmented reality applications | |
O'leary et al. | Enhancements to VTK enabling scientific visualization in immersive environments | |
Kang et al. | Editing 3D models on smart devices | |
Zachmann | VR-techniques for industrial applications | |
EP2800064B1 (en) | A computer-implemented method for manipulating three-dimensional modeled objects of an assembly in a three-dimensional scene | |
CN113592986B (zh) | 基于神经网络的动作生成方法、装置及计算设备 | |
CN107615229A (zh) | 用户界面装置和用户界面装置的画面显示方法 | |
Rudomin et al. | Gpu generation of large varied animated crowds | |
Pramudwiatmoko et al. | A high-performance haptic rendering system for virtual reality molecular modeling | |
Deshayes et al. | A generic framework for executable gestural interaction models | |
Li et al. | Haptic rendering method based on generalized penetration depth computation | |
CN104680576A (zh) | 一种基于eon的手术室漫游系统 | |
Kil et al. | 3D warp brush modeling | |
KR102587198B1 (ko) | 조인트 기반 페이셜 리그를 생성하기 위한 방법 및 이를 위한 장치 | |
WO2015030623A1 (en) | Methods and systems for locating substantially planar surfaces of 3d scene | |
US20230154102A1 (en) | Representing 3d shapes with probabilistic directed distance fields |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130417 |