CN102736836A - 一种场景中拖拽物体包围盒顶点或边的可行性判断方法 - Google Patents
一种场景中拖拽物体包围盒顶点或边的可行性判断方法 Download PDFInfo
- Publication number
- CN102736836A CN102736836A CN2011101163835A CN201110116383A CN102736836A CN 102736836 A CN102736836 A CN 102736836A CN 2011101163835 A CN2011101163835 A CN 2011101163835A CN 201110116383 A CN201110116383 A CN 201110116383A CN 102736836 A CN102736836 A CN 102736836A
- Authority
- CN
- China
- Prior art keywords
- summit
- plane
- limit
- pulls
- unbridgeable
- 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
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种场景中拖拽物体包围盒顶点或边的可行性判断方法。包括:鼠标检测是否选中包围盒某个顶点或某一边;根据鼠标拖拽的屏幕位置计算所述顶点或边在三维空间中的位置;确定鼠标拖拽的顶点或边不能逾越的平面或直线;针对所述确定的平面或直线分别判断所拖拽的顶点或边是否超越所述平面或直线。进而能够有效的判断所述拖拽的顶点或边是否有效是否可行,以避免拖拽物体包围盒顶点或边的时候,反算物体结构时引起物体形状的异常。
Description
技术领域
本发明涉及广电领域的字幕制作技术领域,尤其涉及一种场景中拖拽物体包围盒顶点或边的可行性判断方法。
背景技术
在视频制作过程中对于图元的操作是避免不了的,然而在图元操作的过程中往往会因为拖拽不当使物体形状异常。
物体控制器是在图元创作过程中在活动窗口中使用鼠标拖拽改变物体空间姿态的用户界面工具。现有的控制器中由于拖拽没有限制,使得在经过控制器拖拽后,反算物体的结构时出现计算错误,根据拖拽后的数据重建物体时引起物体形状的异常。
发明人在实施本发明的过程中发现现有技术存在以下技术问题:
(1)缺少可行性判断容易造成拖拽物体使物体形状异常;
(2)未作可行性判断,拖拽位置不正常的时候计算开销大。
发明内容
为了解决上述现有技术的缺点,本发明的主要目的是提供一种场景中拖拽物体包围盒顶点或边的可行性判断方法,以解决现有技术中物体控制器使用鼠标拖拽改变物体姿态时造成物体形状的异常的技术问题。
为了达到上述目的,本发明提供了一种场景中拖拽物体包围盒顶点或边的可行性判断方法,具体包括:
鼠标检测是否选中包围盒某个顶点或某一边;
根据鼠标拖拽的屏幕位置计算所述顶点或边在三维空间中的位置;
确定鼠标拖拽的顶点或边不能逾越的平面或直线;
针对所述确定的平面或直线分别判断所拖拽的顶点或边是否超越所述平面或直线。
本发明的一种场景中拖拽物体包围盒顶点或边的可行性判断方法,通过判断拖拽的顶点是否超越平面或者直线的方式可以判断拖拽物体的可行性,避免拖拽物体不当造成物体形状的异常。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种场景中拖拽物体包围盒顶点或边的可行性判断方法流程图;
图2为本发明实施例的针对二维物体拖拽包围盒顶点可行性判断方法的详细流程图;
图3为本发明实施例拖拽二维物体示意图;
图4为本发明实施例拖拽三维物体示意图;
图5为本发明实施例三维物体包围盒拖拽顶点可行性判断的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然所描述的实施例仅是本发明的一部分实施例,不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例一方面提供了一种场景中拖拽物体包围盒顶点或边的可行性的判断方法。图元操作过程中避免不了会对三维物体或二维物体进行拖拽,针对三维物体与二维物体拖拽过程顶点或边的可行性判断的方法如图1所示,具体为:
步骤S1:鼠标检测是否选中包围盒的某个顶点或某一边。对于二维物体选中包围盒的四个顶点之一,三维物体选中包围盒的八个顶点之一。
步骤S2:根据鼠标拖拽的屏幕位置计算所述拖拽的顶点或边在三维空间中的位置。
步骤S3:确定鼠标所拖拽的顶点或边不能逾越的相应的平面或直线。
步骤S4:针对所述确定的平面或直线分别判断所拖拽的顶点或边是否超越所述平面或直线。
步骤S5:进行误差判断。计算拖拽的当前点或平面与所述不能超越的平面或直线间的最近距离,如果小于某一确定的值,拖拽无效。
本发明的一种场景中拖拽物体包围盒可行性的判断方法,通过判断拖拽的顶点是否超越平面或者直线的方式可以判断拖拽物体的可行性,避免拖拽物体不当造成物体形状的异常。
本发明的以下实施例将分别针对二维物体与三维物体进行拖拽包围盒顶点或边的可行性判断的方法进行详细的说明,图2为本发明实施例的针对二维物体拖拽包围盒顶点可行性判断方法的详细流程图,以图3所示拖拽二维物体为例进行详细说明,拖拽物体顶点3的时候不能逾越的直线为01与02,具体为:
步骤S1:鼠标检测是否选中包围盒的四个顶点之一,如果选中则进行步骤S2。
步骤S2:根据鼠标拖拽的屏幕位置计算所述选中的顶点在三维空间中的位置。
步骤S3:除拖拽的顶点之外的其他三个点按顺时针顺序记为pt1,pt2,pt3。拖拽前后的点分别记为ptOld,ptNew。pt1,pt2连成的直线line1,pt2,pt3直线连成的line2作为所拖拽的顶点不能逾越的直线。
步骤S4:判断拖拽的顶点是否超越所述line1与line2。需要判断,拖拽前后的点是否还在pt1,pt2连成的直线line1与pt2,pt3直线连成的line2的同侧。具体步骤为:
S401:计算ptOld,ptNew分别与三个参考点之差得到的向量,vec1Old,vec2Old,vec3Old,vec1New,vec2New,vec3New。
S402:分别计算vec1Old与vec1New,vec2Old与vec2New,vec3Old与vec3New的内积,fDot1,fDot2与fDot3。
S403:如fDot1,fDot2,fDot3中任何一个值小于0,表示拖拽无效;
S404:误差考虑:拖拽后的点离line1或line2距离小于5,认为重合表示拖拽无效。
对于拖拽二维物体包围盒的边的情况与拖拽某一顶点的方法步骤一样,只是不能逾越的直线是一个,在此不再赘述。
本发明的实施例三将针对场景中三维物体拖拽包围盒顶点或边的可行性判断的方法,以图4所示的三维物体包围盒进行拖拽顶点为例进行详细说明,图4中拖动顶点1,为保证再度计算球体时的合理性,控制顶点1不能逾越背面456,不能逾越左面034,不能逾越底面236。
如图5所示为三维物体包围盒拖拽顶点可行性判断的方法流程图。
步骤S1:判断鼠标检测是否选中包围盒的八个顶点之一,如否,不进行下述计算。
步骤S2:如果选中其中的一个顶点,比如选中顶点1则根据鼠标拖拽的屏幕位置计算所述选中的顶点在三维空间中的位置。
步骤S3:确定鼠标拖拽的顶点1不能逾越的三个相应平面,拖拽顶点不能逾越的平面是六个平面中不包含所述顶点的平面:背面456,左面034,底面236,每个平面用三个顶点来表示。
步骤S4:针对S3中的三个平面(背面456,左面034,底面236)依次判断顶点1是否超越该平面,用顶点pt1,pt2,pt3来表示这个平面,具体步骤如下:
S41:根据pt1,pt2,pt3确定平面的方程plane1。
S42:计算鼠标拖拽前的顶点1与plane1平行的平面方程plane2。
S43:计算鼠标拖拽当前的顶点1与plane1平行的平面方程plane3。
S44:通过平面方程判断plane2与plane3是否位于plane1的同侧,如是则拖拽有效,否则无效。
S45:误差考虑:计算拖拽当前点离plane1的最近距离,如果小于5,认为此点与平面已重合,拖拽无效。
步骤S4是分别对步骤S3的三个平面依次做判断,也就是S4步骤会执行三次,每次的plane1分别是背面456,左面034,底面236。
针对拖拽三维物体包围盒的边的情况与拖拽顶点的方法步骤类似,只是拖拽顶点时候不能逾越的平面是三个,对于拖拽某一边时不能逾越的平面是两个,因此再次不再赘述。
本发明的一种场景中拖拽物体包围盒可行性的判断方法,通过判断拖拽的顶点是否超越平面或者直线的方式可以判断拖拽物体的可行性,避免拖拽物体不当造成物体形状的异常。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的一个最佳具体实施例,但本发明的特征并不局限于此,任何熟悉该项技术的人在本发明领域内,可轻易想到的变化或修饰,都应涵盖在以下本发明的申请专利范围中。
Claims (9)
1.一种场景中拖拽物体包围盒顶点或边的可行性判断方法,其特征在于,具体包括:
鼠标检测是否选中包围盒某个顶点或某一边;
根据鼠标拖拽的屏幕位置计算所述顶点或边在三维空间中的位置;
确定鼠标拖拽的顶点或边不能逾越的平面或直线;
针对所述确定的平面或直线分别判断所拖拽的顶点或边是否超越所述平面或直线。
2.如权利要求1所述的场景中拖拽物体包围盒顶点或边的可行性判断方法,其特征在于,所述拖拽的物体包括:二维物体和三维物体。
3.如权利要求1所述的场景中拖拽物体包围盒顶点或边的可行性判断方法,其特征在于,所述拖拽的物体为二维物体的时候确定不能逾越的直线是除拖拽的顶点之外的其他三个顶点按顺时针顺序两个相邻顶点连成的直线。
4.如权利要求3所述的场景中拖拽物体包围盒顶点或边的可行性判断方法,其特征在于,所述拖拽物体为二维物体时确定不能逾越的直线的数量为:
拖拽二维物体的一个顶点时所述不能逾越的直线为两条;
拖拽二维物体的一个边时所述不能逾越的直线为一条。
5.如权利要求1所述的场景中拖拽物体包围盒顶点或边的可行性判断方法,其特征在于,拖拽二维物体时判断拖拽顶点或边是否超越不能逾越的直线的方法为:判断拖拽的顶点或边是否在所述相邻两定点连成直线的同侧。
6.如权利要求5所述的场景中拖拽物体包围盒顶点或边的可行性判断方法,其特征在于,所述判断拖拽的顶点或边是否在所述相邻两定点连成直线的同侧的方法具体为:
分别计算拖拽前后的顶点与参考点的差向量;
分别计算拖拽顶点的拖拽前后差向量的内积;
判断所述计算的拖拽前后差向量的内积值的大小,如果所述拖拽前后差向量的内积值中任何一个值小于0表示拖拽无效;如果拖拽后的顶点距离不能逾越的直线的任何一条距离小于5,认为重合表示拖拽无效。
7.如权利要求1所述的场景中拖拽物体包围盒顶点或边的可行性判断方 法,其特征在于,所述拖拽的物体为三维物体的时候确定不能逾越的平面是六个平面中不包含所述顶点或边以及组成所述边的两个顶点的平面。
8.如权利要求7所述的场景中拖拽物体包围盒顶点或边的可行性判断方法,其特征在于,所述拖拽物体为三维物体时确定不能逾越的平面的数量为:
拖拽三维物体的一个顶点时所述不能逾越的平面为三个;
拖拽三维物体的一个边时所述不能逾越的平面为两个。
9.如权利要求1所述的场景中拖拽物体包围盒顶点或边的可行性判断方法,其特征在于,所述拖拽物体为三维物体的时候判断是否超越所述平面的方法为:
根据顶点确定不能逾越的平面的方程;
计算拖拽前的顶点与所述确定的不能逾越的平面平行的平面方程;
计算拖拽后的顶点与所述确定的不能逾越的平面平行的平面方程;
判断所述计算得到的与拖拽前后顶点不能逾越的平面平行的平面方程是否在所述确定的不能逾越的平面的方程的同侧,如果在同侧则表示拖拽无效;如果拖拽的顶点距离所述不能逾越的平面的方程的最近距离小于5,所述拖拽的顶点与平面重合表示拖拽无效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101163835A CN102736836A (zh) | 2011-05-06 | 2011-05-06 | 一种场景中拖拽物体包围盒顶点或边的可行性判断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101163835A CN102736836A (zh) | 2011-05-06 | 2011-05-06 | 一种场景中拖拽物体包围盒顶点或边的可行性判断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102736836A true CN102736836A (zh) | 2012-10-17 |
Family
ID=46992430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101163835A Pending CN102736836A (zh) | 2011-05-06 | 2011-05-06 | 一种场景中拖拽物体包围盒顶点或边的可行性判断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102736836A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015021877A1 (zh) * | 2013-08-16 | 2015-02-19 | 上海合合信息科技发展有限公司 | 直线/线段吸附的方法及装置,构造多边形的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1607522A (zh) * | 2003-10-15 | 2005-04-20 | 佳能株式会社 | 用于创建和编辑可变数据文档的用户界面 |
CN101859224A (zh) * | 2010-04-30 | 2010-10-13 | 陈铸 | 一种从数字图片中抠取目标对象的方法和系统 |
-
2011
- 2011-05-06 CN CN2011101163835A patent/CN102736836A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1607522A (zh) * | 2003-10-15 | 2005-04-20 | 佳能株式会社 | 用于创建和编辑可变数据文档的用户界面 |
CN101859224A (zh) * | 2010-04-30 | 2010-10-13 | 陈铸 | 一种从数字图片中抠取目标对象的方法和系统 |
Non-Patent Citations (1)
Title |
---|
张贞: "《大学计算机基础》", 31 August 2008, 科学出版社 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015021877A1 (zh) * | 2013-08-16 | 2015-02-19 | 上海合合信息科技发展有限公司 | 直线/线段吸附的方法及装置,构造多边形的方法及装置 |
KR101825200B1 (ko) * | 2013-08-16 | 2018-02-02 | 인트시그 인포메이션 컴퍼니 리미티드 | 직선/선분의 흡착방법 및 장치, 다변형의 구축방법 및 장치 |
US10332236B2 (en) | 2013-08-16 | 2019-06-25 | Intsig Information Co., Ltd. | Method and apparatus for adsorbing straight line/line segment, method and apparatus for constructing polygon |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109300159B (zh) | 位置检测方法、装置、设备、存储介质及车辆 | |
US10379733B2 (en) | Causing display of a three dimensional graphical user interface with dynamic selectability of items | |
CN109375618A (zh) | 清洁机器人的导航避障方法及终端设备 | |
CN102638679B (zh) | 基于矩阵对图像进行插值的方法及图像处理系统 | |
US10719133B2 (en) | Apparatus and method for determining an intended target | |
US9691175B2 (en) | 3-D models as a navigable container for 2-D raster images | |
CN111176272B (zh) | 一种基于运动约束的人工势场轨迹规划方法及系统 | |
JP2011022700A (ja) | ロボット制御システム及びロボット制御プログラム | |
US20160171761A1 (en) | Computing device and method for patching point clouds of object | |
CN103186341A (zh) | 在触控屏幕上控制文件缩放及旋转的系统及方法 | |
EP2286387B1 (en) | Method and apparatus for 3d path | |
CN109955245A (zh) | 一种机器人的避障方法、系统及机器人 | |
CN104200426A (zh) | 图像插值方法和装置 | |
CN111753739B (zh) | 物体检测方法、装置、设备以及存储介质 | |
US9223906B2 (en) | Generating thermal zones | |
JP2016126795A5 (zh) | ||
CN102307308B (zh) | 一种在触摸屏上生成立体图像的方法和设备 | |
CN114663529B (zh) | 一种外参确定方法、装置、电子设备及存储介质 | |
CN105004368A (zh) | 一种自主机器人的碰撞检测方法、装置及系统 | |
CN102736836A (zh) | 一种场景中拖拽物体包围盒顶点或边的可行性判断方法 | |
CN104581123A (zh) | 立体影像显示系统与显示方法 | |
TWI547858B (zh) | 於觸控螢幕上控制檔案縮放及旋轉的系統及方法 | |
CN115782876A (zh) | 一种变道轨迹生成方法、装置、设备及自动驾驶车辆 | |
Samadi et al. | Stereo vision based robots: Fast and robust obstacle detection method | |
CN105204725A (zh) | 一种三维图像控制方法、装置、电子设备及三维投影设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121017 |
|
RJ01 | Rejection of invention patent application after publication |