一种逻辑窗口的点击命中方法及系统的制作方法

文档序号:6500917阅读:198来源:国知局
一种逻辑窗口的点击命中方法及系统的制作方法
【专利摘要】本发明涉及计算机【技术领域】,公开了一种逻辑窗口的点击命中方法及系统,该方法包括:保持三维渲染后的逻辑窗口的长宽比例不变,将所述三维渲染后的逻辑窗口映射到三维空间中,获得所述三维渲染后的逻辑窗口的三维模型;其中,所述三维模型上标识有所述三维渲染后的逻辑窗口的点击命中位置;在所述三维空间中将所述三维渲染后的逻辑窗口的三维模型进行预设的三维变换;获取所述三维模型的位置坐标修正值以及大小比例修正值;根据所述位置坐标修正值和大小比例修正值,将所述三维变换后的三维模型透视投影到投影平面;在所述投影平面上确定所述点击命中位置的坐标。实施本发明能够提高三维渲染后的逻辑窗口的点击命中率。
【专利说明】一种逻辑窗口的点击命中方法及系统

【技术领域】
[0001] 本发明涉及计算机【技术领域】,具体涉及一种逻辑窗口的点击命中方法及系统。

【背景技术】
[0002] 在全自绘技术中,当二维平面上的逻辑窗口(Frame)被引入三维渲染后,开发人员 就能在二维平面上看到具备三维效果的逻辑窗口。如图1所示,当虚线所示的二维平面上 的逻辑窗口被引入三维渲染后,可以得到实线所示的三维渲染后的逻辑窗口。其中,三维渲 染后的逻辑窗口是一个梯形,具备三维效果。
[0003] 在全自绘技术中,开发人员通常需要对三维渲染后的逻辑窗口进行点击命中测 试。如图1所示,当三维渲染后的逻辑窗口被鼠标点击时,应该返回的是在三维空间中该三 维渲染后的逻辑窗口的点击位置,然而,由于该三维渲染后的逻辑窗口是绘制在二维平面 上的,因此,通常会返回在二维空间中该三维渲染后的逻辑窗口的点击位置,从而导致三维 渲染后的逻辑窗口的点击命中结果不准确。


【发明内容】

[0004] 本发明实施例所要解决的技术问题提供一种逻辑窗口的点击命中方法及系统,用 于提高三维渲染后的逻辑窗口的点击命中率。
[0005] 本发明实施例提供一种逻辑窗口的点击命中方法,包括:
[0006] 保持三维渲染后的逻辑窗口的长宽比例不变,将所述三维渲染后的逻辑窗口映射 到三维空间中,获得所述三维渲染后的逻辑窗口的三维模型;其中,所述三维模型上标识有 所述三维渲染后的逻辑窗口的点击命中位置;
[0007] 在所述三维空间中将所述三维渲染后的逻辑窗口的三维模型进行预设的三维变 换;
[0008] 获取所述三维模型的位置坐标修正值以及大小比例修正值;
[0009] 根据所述位置坐标修正值和大小比例修正值,将所述三维变换后的三维模型透视 投影到投影平面;
[0010] 在所述投影平面上确定所述点击命中位置的坐标。
[0011] 本发明实施例提供一种逻辑窗口的点击命中系统,包括:
[0012] 创建模块,用于保持三维渲染后的逻辑窗口的长宽比例不变,将所述三维渲染后 的逻辑窗口映射到三维空间中,获得所述三维渲染后的逻辑窗口的三维模型;其中,所述三 维模型上标识有所述三维渲染后的逻辑窗口的点击命中位置;
[0013] 变换模块,用于在所述三维空间中将所述三维渲染后的逻辑窗口的三维模型进行 预设的三维变换;
[0014] 获取模块,用于获取所述三维模型的位置坐标修正值以及大小比例修正值;
[0015] 投影模块,用于根据所述位置坐标修正值和大小比例修正值,将所述三维变换后 的三维模型透视投影到投影平面;
[0016] 确定模块,用于在所述投影平面上确定所述点击命中位置的坐标。
[0017] 本发明实施例中,在获得三维渲染后的逻辑窗口的三维模型之后,可以在三维空 间中将三维渲染后的逻辑窗口的三维模型进行预设的三维变换,并根据获得的三维模型的 位置坐标修正值以及大小比例修正值,将三维变换后的三维模型透视投影到投影平面,进 而可以在投影平面上确定三维渲染后的逻辑窗口的点击命中位置的坐标。通过这种方式, 可以有效地提高三维渲染后的逻辑窗口的点击命中率。

【专利附图】

【附图说明】
[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。
[0019] 图1是二维平面上的逻辑窗口被引入三维渲染后的示意图;
[0020] 图2是本发明实施例提供的一种逻辑窗口的点击命中方法的流程图;
[0021] 图3是本发明实施例提供的一种获得三维渲染后的逻辑窗口的三维模型的示意 图;
[0022] 图4是本发明实施例提供的一种在三维空间中对三维渲染后的逻辑窗口的三维 模型做旋转的示意图;
[0023] 图5是本发明实施例提供的一种获取三维模型的位置坐标修正值以及大小比例 修正值的流程图;
[0024] 图6是本发明实施例提供的一种将三维变换后的三维模型透视投影到投影平面 的不意图;
[0025] 图7是本发明实施例提供的一种逻辑窗口的点击命中系统的结构图;
[0026] 图8是本发明实施例提供的另一种逻辑窗口的点击命中系统的结构图。

【具体实施方式】
[0027] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0028] 本发明实施例所要解决的技术问题提供一种逻辑窗口的点击命中方法及系统,能 够提高三维渲染后的逻辑窗口的点击命中率。以下分别进行详细说明。
[0029] 请参阅图2,图2是本发明实施例提供的一种逻辑窗口的点击命中方法的流程图, 其中,该逻辑窗口的点击命中方法可以应用于如电脑、智能手机、服务器等计算机系统中。 如图2所示,该逻辑窗口的点击命中方法可以包括以下步骤。
[0030] S201、保持三维渲染后的逻辑窗口的长宽比例不变,将三维渲染后的逻辑窗口映 射到三维空间中,获得三维渲染后的逻辑窗口的三维模型;其中,三维模型上标识有三维渲 染后的逻辑窗口的点击命中位置。
[0031] 本发明实施例中,逻辑窗口是指利用全自绘技术创建的逻辑窗口(Frame)。而在 全自绘技术中Frame的组织结构一般如下:最顶级(或最底层)的Frame内部嵌套有N个逻 辑子Frame,子Frame之中又可以类似的嵌入子Frame,以此类推可以存在多个嵌套关系的 Frame。窗口绘制被触发时,绘制将从顶级窗口开始,顶级窗口绘制完成之后,接着绘制其下 的一级子窗口,接着一级一级的嵌套绘制下去,直至所有Frame都绘制完毕,这样可以得到 一个完整的逻辑窗口。在绘制某个逻辑窗口时,可以首先判断逻辑窗口是否具备三维属性, 若不具备三维属性则可以按照二维逻辑窗口的绘制方法对其进行绘制,若其具备三维属性 则执行三维渲染流程,以绘制三维渲染后的逻辑窗口。
[0032] 本发明实施例中,在步骤201之前,该逻辑窗口的点击命中方法还可以包括以下 步骤:
[0033] 确定三维空间的三维参数并根据三维参数生成三维空间,其中,所述三维参数包 括视角位置、投影平面、近裁面以及远裁面的参数。其中,确定三维空间的三维参数并根据 三维参数生成三维空间是本领域技术人员所公知的常识,本发明实施例不作详细论述。
[0034] 如图3中所示,假设三维渲染后的Frame在其父Frame (上一级窗口或屏幕)的 位置为(100, 100, 200, 200)处,将其映射到三维坐标空间,且保持长宽比例不变,如图3所 示,三维渲染后的Frame被映射到三维空间的位置为:左上角(-10. 0, 10. 0, 0. 0),右下角 (10. 0, -10. 0, 0. 0),从而获得了三维渲染后的Frame的三维模型。
[0035] S202、在三维空间中将三维渲染后的逻辑窗口的三维模型进行预设的三维变换。
[0036] 本发明实施例中,可以在三维空间中对映射获得的三维渲染后的Frame的三维模 型做预设的旋转,以使得三维渲染后的Frame与投影平面相平行。
[0037] 举例来说,如图4所示,在由视角位置、投影平面、近裁面以及远裁面这些三维参 数生成的三维空间中,可以对映射获得的三维渲染后的Frame的三维模型做预设的旋转, 最终可以使得三维渲染后的Frame与投影平面相平行。
[0038] 其中,上述的投影平面可以是三维渲染后的Frame的父逻辑窗口或显示屏幕,本 发明实施例不作限定。
[0039] S203、获取三维模型的位置坐标修正值以及大小比例修正值。
[0040] 本发明实施例中,将三维渲染后的逻辑窗口映射到三维空间中去,必然会存在位 置、大小的变化,为了实现点击命中三维渲染后的Frame的目的,这里需要预先获取三维模 型的位置坐标修正值以及大小比例修正值。
[0041] 在具体实现中,本发明实施例中获取三维模型的位置坐标修正值以及大小比例修 正值的流程可以如图5所示,包括以下步骤:
[0042] S501、获取三维渲染后的Frame在投影平面的坐标和图像大小。
[0043] S502、将未经三维变换的三维渲染后的Frame的三维模型透视投影到投影平面。
[0044] S503、将未经三维变换的三维渲染后的Frame的三维模型透视投影到投影平面得 到的图像的坐标和图像大小分别与三维渲染后的Frame在投影平面的坐标和图像大小进 行比较,得到三维模型的位置坐标修正值以及大小比例修正值。
[0045] 其中,通过该位置坐标修正值和大小比例修正值可以使经过三维变换后的Frame 的三维模型以合理的大小透视投影到投影平面上的合理位置。
[0046] S204、根据位置坐标修正值和大小比例修正值,将三维变换后的三维模型透视投 影到投影平面。
[0047] 举例来说,如图6a所示,上述步骤S202在三维空间中对映射获得的三维渲染后的 Frame的三维模型做预设的旋转,使得三维渲染后的Frame与投影平面相平行。相应地,如 图6b所示,可以根据步骤S203获得的位置坐标修正值和大小比例修正值,将三维变换后的 三维模型透视投影到投影平面。
[0048] S205、在投影平面上确定点击命中位置的坐标。
[0049] 如图6b所示,可以在投影平面上确定点击命中位置的坐标。
[0050] 本发明实施例提供的逻辑窗口的点击命中方法中,在获得三维渲染后的逻辑窗口 的三维模型之后,可以在三维空间中将三维渲染后的逻辑窗口的三维模型进行预设的三维 变换,并根据获得的三维模型的位置坐标修正值以及大小比例修正值,将三维变换后的三 维模型透视投影到投影平面,进而可以在投影平面上确定三维渲染后的逻辑窗口的点击命 中位置的坐标。通过这种方式,可以有效地提高三维渲染后的逻辑窗口的点击命中率。
[0051] 请参阅图7,图7是本发明实施例提供的一种逻辑窗口的点击命中系统的结构图, 其中,该逻辑窗口的点击命中系统可以应用于如电脑、智能手机、服务器等计算机系统中。 如图7所示,该逻辑窗口的点击命中系统可以包括:
[0052] 创建模块701,用于保持三维渲染后的逻辑窗口的长宽比例不变,将三维渲染后的 逻辑窗口映射到三维空间中,获得三维渲染后的逻辑窗口的三维模型;其中,三维模型上标 识有三维渲染后的逻辑窗口的点击命中位置;
[0053] 变换模块702,用于在三维空间中将三维渲染后的逻辑窗口的三维模型进行预设 的三维变换;
[0054] 获取模块703,用于获取三维模型的位置坐标修正值以及大小比例修正值;
[0055] 投影模块704,用于根据位置坐标修正值和大小比例修正值,将三维变换后的三维 模型透视投影到投影平面;
[0056] 确定模块705,用于在投影平面上确定点击命中位置的坐标。
[0057] 请一并参阅图8,图8是本发明实施例提供的另一种逻辑窗口的点击命中系统的 结构图。其中,图8所示的逻辑窗口的点击命中系统是由图7所示的逻辑窗口的点击命中 系统进行优化得到的。在图8所示的逻辑窗口的点击命中系统中,获取模块703可以包括:
[0058] 第一单元7031,用于获取三维渲染后的逻辑窗口在投影平面的坐标和图像大小;
[0059] 第二单元7032,用于将未经三维变换的三维渲染后的逻辑窗口的三维模型透视投 影到投影平面;
[0060] 第三单元7033,用于将未经三维变换的三维渲染后的逻辑窗口的三维模型透视投 影到投影平面得到的图像的坐标和图像大小分别与三维渲染后的逻辑窗口在投影平面的 坐标和图像大小进行比较,得到三维模型的位置坐标修正值以及大小比例修正值。
[0061] 一个实施例中,图8所示的逻辑窗口的点击命中系统还可以包括:
[0062] 生成模块706,用于确定三维空间的三维参数并根据三维参数生成三维空间,其 中,三维参数包括视角位置、投影平面、近裁面以及远裁面的参数。
[0063] -个实施例中,图7、图8所不的逻辑窗口的点击命中系统中,变换模块702用于在 三维空间中将三维渲染后的逻辑窗口的三维模型进行预设的旋转,以使得三维渲染后的逻 辑窗口与投影平面相平行。
[0064] 本发明实施例中,上述的投影平面可以为三维渲染后的逻辑窗口的父逻辑窗口或 显示屏幕,本发明实施例不作限定。
[0065] 本发明实施例提供的逻辑窗口的点击命中系统中,在获得三维渲染后的逻辑窗口 的三维模型之后,可以在三维空间中将三维渲染后的逻辑窗口的三维模型进行预设的三维 变换,并根据获得的三维模型的位置坐标修正值以及大小比例修正值,将三维变换后的三 维模型透视投影到投影平面,进而可以在投影平面上确定三维渲染后的逻辑窗口的点击命 中位置的坐标。通过这种方式,可以有效地提高三维渲染后的逻辑窗口的点击命中率。 [0066] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储 介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory, RAM)、磁盘或光盘等。
[0067] 以上对本发明实施例提供的逻辑窗口的点击命中方法、系统进行了详细介绍,本 文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于 帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思 想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对 本发明的限制。
【权利要求】
1. 一种逻辑窗口的点击命中方法,其特征在于,包括: 保持三维渲染后的逻辑窗口的长宽比例不变,将所述三维渲染后的逻辑窗口映射到三 维空间中,获得所述三维渲染后的逻辑窗口的三维模型;其中,所述三维模型上标识有所述 三维渲染后的逻辑窗口的点击命中位置; 在所述三维空间中将所述三维渲染后的逻辑窗口的三维模型进行预设的三维变换; 获取所述三维模型的位置坐标修正值以及大小比例修正值; 根据所述位置坐标修正值和大小比例修正值,将所述三维变换后的三维模型透视投影 到投影平面; 在所述投影平面上确定所述点击命中位置的坐标。
2. 根据权利要求1所述的方法,其特征在于,所述获取所述三维模型的位置坐标修正 值以及大小比例修正值包括: 获取所述三维渲染后的逻辑窗口在投影平面的坐标和图像大小; 将未经三维变换的所述三维渲染后的逻辑窗口的三维模型透视投影到所述投影平 面; 将所述未经三维变换的所述三维渲染后的逻辑窗口的三维模型透视投影到所述投影 平面得到的图像的坐标和图像大小分别与所述三维渲染后的逻辑窗口在投影平面的坐标 和图像大小进行比较,得到所述三维模型的位置坐标修正值以及大小比例修正值。
3. 根据权利要求1所述的方法,其特征在于,所述在所述三维空间中将所述三维渲染 后的逻辑窗口的三维模型进行预设的三维变换包括: 所述三维空间中将所述三维渲染后的逻辑窗口的三维模型进行预设的旋转,以使得所 述三维渲染后的逻辑窗口与投影平面相平行。
4. 根据权利要求1所述的方法,其特征在于,所述保持三维渲染后的逻辑窗口的长宽 比例不变,将所述三维渲染后的逻辑窗口映射到三维空间中,获得所述三维渲染后的逻辑 窗口的三维模型之前,所述方法还包括: 确定所述三维空间的三维参数并根据所述三维参数生成所述三维空间,其中,所述三 维参数包括视角位置、投影平面、近裁面以及远裁面的参数。
5. 根据权利要求1?4任一项所述的方法,其特征在于,所述投影平面为所述三维渲染 后的逻辑窗口的父逻辑窗口或显示屏幕。
6. -种逻辑窗口的点击命中系统,其特征在于,包括: 创建模块,用于保持三维渲染后的逻辑窗口的长宽比例不变,将所述三维渲染后的逻 辑窗口映射到三维空间中,获得所述三维渲染后的逻辑窗口的三维模型;其中,所述三维模 型上标识有所述三维渲染后的逻辑窗口的点击命中位置; 变换模块,用于在所述三维空间中将所述三维渲染后的逻辑窗口的三维模型进行预设 的三维变换; 获取模块,用于获取所述三维模型的位置坐标修正值以及大小比例修正值; 投影模块,用于根据所述位置坐标修正值和大小比例修正值,将所述三维变换后的三 维模型透视投影到投影平面; 确定模块,用于在所述投影平面上确定所述点击命中位置的坐标。
7. 根据权利要求6所述的系统,其特征在于,所述获取模块包括: 第一单元,用于获取所述三维渲染后的逻辑窗口在投影平面的坐标和图像大小; 第二单元,用于将未经三维变换的所述三维渲染后的逻辑窗口的三维模型透视投影到 所述投影平面; 第三单元,用于将所述未经三维变换的所述三维渲染后的逻辑窗口的三维模型透视投 影到所述投影平面得到的图像的坐标和图像大小分别与所述三维渲染后的逻辑窗口在投 影平面的坐标和图像大小进行比较,得到所述三维模型的位置坐标修正值以及大小比例修 正值。
8. 根据权利要求5所述的系统,其特征在于,所述变换模块用于在所述三维空间中将 所述三维渲染后的逻辑窗口的三维模型进行预设的旋转,以使得所述三维渲染后的逻辑窗 口与投影平面相平行。
9. 根据权利要求5所述的系统,其特征在于,所述系统还包括: 生成模块,用于确定所述三维空间的三维参数并根据所述三维参数生成所述三维空 间,其中,所述三维参数包括视角位置、投影平面、近裁面以及远裁面的参数。
10. 根据权利要求5?9任一项所述的系统,其特征在于,所述投影平面为所述三维渲 染后的逻辑窗口的父逻辑窗口或显示屏幕。
【文档编号】G06F9/44GK104063207SQ201310090122
【公开日】2014年9月24日 申请日期:2013年3月20日 优先权日:2013年3月20日
【发明者】陈孟青, 黄明, 涂强, 张春华 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1