平滑操纵三维对象的方法及装置制造方法及图纸

技术编号:10444937 阅读:160 留言:0更新日期:2014-09-17 20:29
本发明专利技术提供了在一个虚拟三维空间操纵一个虚拟三维(3D)对象的系统和方法。在显示器上显示3D对象的呈现。确定一个有表面的非半球形轨迹球。非半球形轨迹球与3D对象的呈现相关联。检测定位装置的第一定位和第二定位。定位装置的第一定位转换到非半球形轨迹球表面的第一位置。定位装置的第二定位转换到非半球形轨迹球表面的第二位置。在显示器上显示3D对象的呈现的旋转,旋转基于非半球形轨迹球表面的第一位置和第二位置之间的行进路径。

【技术实现步骤摘要】

本专利技术涉及如何操纵虚拟三维(3D)对象,并且以一个特定实例解释如何使用非半球形轨迹球操纵虚拟三维对象的方向。
技术介绍
3D场景的开发和动画需要放置和移动虚拟三维对象。这通常需要在虚拟场景或对象编辑环境中改变对象的方向、位置和大小。对象的方向、位置和大小是通过旋转、平移和缩放技术来操作的。用户可通过一个方法来实现这些操纵,即直接输入对应于所需操作的数值。例如,通过选择对象,并指定三个旋转属性的值,其中每个值控制单个轴X、Y或Z的旋转,用户可以在一个计算机程序中改变该对象在三维空间的方向。尽管直接输入旋转数值为操纵三维对象的方向提供了一个精确方法,但也提出了许多挑战。例如,对不是非常熟悉旋转设置的用户来说,界面也许不是很友好。用户也可使用一个指向装置操纵虚拟三维对象。该指向装置沿探测表面的位置变化可以用来改变三维空间中对象的方向。当用户使用该指向装置选择检测表面上的两个位置,计算机程序可以使用这两个位置的坐标旋转三维对象。相对于直接输入数值来说,使用指向装置操纵三维对象对用户更友好,但操作对象的精确度如果很高,对用户是个挑战。现有的系统对提供高精确度的虚拟三维对象的操作没有用户友好性。因此,我们急需用户友好的、直观的和精确的技术,用来在三维空间中平稳地操纵三维对象。专利技术概述描述了在虚拟三维空间中操纵虚拟三维(3D)对象的过程。一个示例方法可包括在显示器上显示三维对象的呈现。确定了具有表面的非半球形轨迹球。非半球形轨迹球与三维对象的呈现相关。在第一位置和在第二位置检测到一种指向装置。该指向装置的所述第一位置被转换到非半球形轨迹球表面上的第一位置。该指向装置的第二个位置被转换到非半球形轨迹球的表面上的第二位置。三维对象呈现的旋转被显示在显示器上,该旋转基于沿非半球形轨迹球表面所述第一位置和第二位置之间的行程路径。用于在虚拟三维空间中操纵虚拟三维对象的系统和计算机可读存储媒介也有所说明。附图简述通过参考下述附图可以最好地理解本申请,附图中相同的部分通过相同的数字引用。图1显示一个常规半球形轨迹球。图2显示一个常规半球形轨迹球和一个非半球形轨迹球之间的比较。图3显示三维非半球形轨迹球的示例。图4显示使用非半球形轨迹球旋转对象的示例性程序。图5显示使用非半球形轨迹球旋转对象的另一个示例性程序。图6描绘了一个示例性计算系统,该系统可根据各种实施例被用于在虚拟三维环境中操纵三维对象。专利技术详述下面的描述解释如何让一个本领域的普通技术人员建立和使用各种不同实施例。具体设备、技术和应用的描述仅作为示例提供。对于一个本领域的普通技术人员来说,对本文所描述实施例的各种不同修改都显而易见,并且本文定义的一般原理可以应用于其它实施例和应用,而不脱离本专利技术技术的精神和范围。因此,本专利技术所公开的技术并不限于本文描述和展示的实施例,而是应与权利要求的范围相一致。下面描述了有关在虚拟三维空间中操纵虚拟三维(3D)对象过程的各种实施例。一个示例方法可包括在显示器上显示三维对象的呈现。确定了具有表面的非半球形轨迹球。非半球形轨迹球与三维对象的呈现相关。在第一位置和在第二位置检测到一种指向装置。指向装置的所述第一位置被转换到非半球形轨迹球表面上的第一位置。该指向装置的第二个位置被转换到非半球形轨迹球的表面上的第二位置。三维对象呈现的旋转被显示在显示器上,该旋转基于沿非半球形轨迹球表面所述第一位置和第二位置之间的行程路径。图1展示一个常规半球形轨迹球104。常规半球形轨迹球104的说明通过参照计算机屏幕表面102描述。常规半球形轨迹球104提供一种在三维空间中旋转对象的不精确方法。在一个较高水平,可通过围绕一个虚拟3D对象创建虚拟球体,来实施半球形轨迹球。3D对象通常会显示在屏幕上。在任一时刻,用户都可以访问球形即半球形轨迹球104的二分之一。由于轨迹球104的半球形状,该轨迹球与屏幕表面102的虚拟交叉点的横截面是一个圆,该半球形轨迹球104在屏幕表面102的虚拟交叉点附近的衰减几乎是垂直的。一个用户使用鼠标指向光标在半球形轨迹球104上选择一个点106。然后,该用户把光标拖动到半球形轨迹球104的一个不同的位置上,如点110。用户沿着球体表面在屏幕上拖拉该点时,该对象旋转,以跟随球体的等效转动。此旋转可使用分别对应于点106和110的矢量108和112进行计算。尽管该技术提供了直观和用户友好的体验,用户旋转对象获得的精度只是一个较低水平。精确度的缺乏对于沿半球形轨迹球的边缘附近进行的旋转则更加明显。当指向光标到达半球边缘时,根据二维(2D)空间中光标位置的增量变化而产生的对象在三维空间的旋转角度迅速增加。因此,在半球形轨迹球104的边缘,光标沿屏幕表面102的运动的微小变化会极大地改变与半球形轨迹球104相关联的对象的旋转。这种现象在下文中得到更详细描述。图2显示一个常规半球形轨迹球和一个非半球形轨迹球之间的比较。常规半球形轨迹球104以2D显示,以便于理解,如半球形轨迹球204一样。用户可被定位成从位置208观看屏幕表面206。当用户沿屏幕表面206把光标从点210拖动到点212,与半球形轨迹球204相关联的对象被旋转。光标沿屏幕表面206的示例性运动开始于半球形轨迹球206的边缘,并结束于该半球形轨迹球204内的10像素处。为清楚起见,10像素运动沿屏幕表面206测量。当沿屏幕表面206的该10像素光标运动被投影到半球形轨迹球204上时,它导致从x轴到矢量214的旋转218的角度为2D中的18度。这样,10像素的光标从点210运动到点212时,与半球形轨迹球204相关联的对象将被旋转18度。请注意,沿屏幕表面206(不是在半球形轨迹球204的边缘附近)的像素运动将产生显著小于18度的旋转角度。尤其是,与在半球形轨迹球204的中心附近拖动光标相比,沿半球形轨迹球204的边缘附近拖动光标能更迅速地旋转相关联的对象。在半球形轨迹球204的边缘附近的快速旋转使对半球形轨迹球204相关联的对象操纵难以平滑,也阻碍对相关联对象的旋转的精确控制。与半球形轨迹球204相反的是,图2显示可提供额外精确度的非半球形轨迹球202。用户沿相同的屏幕表面206把光标从点210拖动至点212时,与非半球形轨迹球202相关联的对象的旋转显著小于与半本文档来自技高网...

【技术保护点】
一种计算机实现的在虚拟三维空间内操纵虚拟三维(3D)对象的方法,所述方法包括:在显示器上显示3D对象的呈现;确定有表面的非半球形轨迹球;将所述非半球形轨迹球与所述3D对象的呈现相关联;检测定位装置的第一定位和第二定位;将所述定位装置的所述第一定位转换到所述非半球形轨迹球所述表面的第一位置;将所述定位装置的所述第二定位转换到所述非半球形轨迹球所述表面的第二位置;及在所述显示器上显示3D对象呈现的旋转,所述旋转基于所述非半球形轨迹球表面的所述第一位置和所述第二位置之间的行进路径。

【技术特征摘要】
2013.03.15 US 13/841,9271.一种计算机实现的在虚拟三维空间内操纵虚拟三维(3D)
对象的方法,所述方法包括:
在显示器上显示3D对象的呈现;
确定有表面的非半球形轨迹球;
将所述非半球形轨迹球与所述3D对象的呈现相关联;
检测定位装置的第一定位和第二定位;
将所述定位装置的所述第一定位转换到所述非半球形轨迹球
所述表面的第一位置;
将所述定位装置的所述第二定位转换到所述非半球形轨迹球
所述表面的第二位置;及
在所述显示器上显示3D对象呈现的旋转,所述旋转基于所述
非半球形轨迹球表面的所述第一位置和所述第二位置之间的行进路
径。
2.如权利要求1所述的计算机执行方法,其特征在于:
所述非半球形轨迹球有一带圆形周边的底部,所述底部有一中
心;并且
从所述底部中心到所述非半球形轨迹球所述表面测量到的所
述非半球形轨迹球的半径各不相同。
3.如权利要求2所述的计算机执行方法,进一步包括:
确定第一矢量,所述第一矢量从所述底部中心延伸到所述非半
球形轨迹球表面的所述第一位置;
确定第二矢量,所述第二矢量从所述底部中心延伸到所述非半
球形轨迹球表面的所述第二位置;
计算第一维度中的第一旋转度数,所述第一旋转度数通过确定
第一矢量和第二矢量之间的第一角度来计算;并且
其中,在所述显示器上显示3D对象的呈现的旋转,包括根据
所述计算出的第一旋转度数,旋转第一维度中3D对象的呈现。
4.如权利要求3所述的计算机执行方法,进一步包括:
计算第二维度中的第二旋转度数,所述第二旋转度数通过确定
所述第一矢量和所述第二矢量之间的第二角度来计算;
其中,在所述显示器上显示3D对象的呈现的旋转,包括根据
所述计算出的第二旋转度数,旋转第二维度中3D对象的呈现;
计算第三维度中的第三旋转度数,所述第三旋转度数通过确定
所述第一矢量和所述第二矢量之间的第三角度来计算;及
其中,在所述显示器上显示3D对象的呈现的旋转,包括根据
所述计算出的第三旋转度数,旋转第三维度中3D对象的呈现。
5.如权利要求2所述所述的计算机执行方法,进一步包括:
确定三维空间中的放置位置,所述放置位置基于三维空间中
3D对象的呈现的中心;及
根据所述放置位置将所述非半球形轨迹球置于所述3D空间
中。
6.如权利要求2所述的计算机执行方法,进一步包括:
确定非半球形轨迹球的尺寸,所述尺寸基于所述定位装置的所
述第一定位;及
其中,所述非半球形轨迹球的所述底部扩展超出二维空间中
3D对象的呈现的投影。
7.如权利要求2所述的计算机执行方法,进一步包括:
确定所述非半球形轨迹球的尺寸,所述尺寸基于所述定位装置
的所述第一定位;及
其中,所述非半球形轨迹球完全包裹了所述3D对象的呈现。
8.如权利要求2所述的计算机执行方法,进一步包括:
在计算机存储器中存储旋转值,其中,所述旋转值基于第一定
位和第二定位;及
将所述旋转值与网格数据结构相关联,其中,在显示器上显示
3D对象的呈现的旋转使用了所述网格数据结构和旋转值。
9.如权利要求2所述的计算机执行方法,其特征在于,检测
定位装置包括检测用户与触敏装置的交互。
10.如权利要求2所述的计算机执行方法,其特征在于,确定
有表面的非半球形轨迹球包括根据第一定位选择非半球形轨迹球的
形状。
11.如权利要求2所述的计算机执行方法,其特征在于,确定
有表面的非半球形轨迹球包括确定在非半球形轨迹球的边缘有个小
于90度的坡度的非半球形轨迹球。
12.如权利要求11所述的计算机执行方法,其特征在于,确定
有表面的非半球形轨迹球包括确定在非半球形轨迹球的边缘有个70
到85度的坡度的非半球形轨迹球。
13.如权利要求2所述的计算机执行方法,其特征在于,确定
有表面的非半球形轨迹球,包括使用基于(a)半径的乘方值和(b)
pi除以2的乘积的余弦的一个方程式。
14.如权利要求13所述的计算机执行方法,其特征在于,所述
乘方值在1.2和1.4之间。
15.一个非临时性计算机可读存储媒介,包括了在一个虚拟三
维空间中操纵一个虚拟三维(3D)对象的计算机可执行指令,计算机
可执行指令包括以下指令:
在显示器上显示3D对象的呈现;
确定有表面的非半球形轨迹球;
将非半球形轨迹球与3D对象的呈现相关联;
检测定位装置的第一定位和第二定位;
将所述定位装置的第一定位转换到所述非半球形轨迹球表面
的第一位置;
将所述定位装置的第二定位转换到所述非半球形轨迹球表面
的第二位置;及
在所述显示器上显示3D对象的呈现的旋转,旋转基于非半球
形轨迹球表面第一位置和第二位置的行进路径。
16.如权利要求15所述的非临时性计算机可读存储媒介,其
中:
所述非半球形轨迹球有一个带圆形周边的底部,底部有一个中

\t心;及
从底部中心到非半球形轨迹球表面测量到的所述非半球形轨
迹球的半径各不相同。
17.如权利要求16所述的非临时性计算机可读存储媒介,进一
步包括:
确定第一矢量,所述第一矢量从底部中心延伸到所述非半球形
轨迹球表面的所述第一位置;
确定第二矢量,所述第二矢量从底部中心延伸到所述非半球形
轨迹球表面的所述第二位置;
计算第一维度中的第一旋转度数,所述第一旋转度数通过确定
所述第一矢量和所述第二矢量之间的第一角度来计算;及
其中,在显示器上显示3D对象的呈现的旋转,包括根据计算
出的第一旋转度数,旋转第一维度中3D对象的呈现。
18.如权利要求17所述的非临时性计算机可读存储媒介,进一
步包括:
计算第二维度中的第二旋转度数,所述第二旋转度数通过确
定所述第一矢量和所述第二矢量之间的第二角度来计算;
其中,在所述显示器上显示3D对象的呈现的旋转,包括根据
所述计算出的第二旋转度数旋转第二维度中3D对象的呈现;
计算第三维度中的第三旋转度数,所述第三旋转度数通过确定
所述第一矢量和所述第二矢量之间的第三角度来计算;及
其中,在所述显示器上显示3D对象的呈现的旋转,包括根据
所述计算出的第三旋转度数,旋转第三维度中3D对象的呈现。
19.如权利要求16所述的非临时性计算机可读存储媒介,进一

【专利技术属性】
技术研发人员:M·Q·麦卡蒂A·P·鲍威尔
申请(专利权)人:梦工厂动画公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1