CN113643410A - 一种用于定位椭圆弧曲线的gui图形控件设计方法及装置 - Google Patents

一种用于定位椭圆弧曲线的gui图形控件设计方法及装置 Download PDF

Info

Publication number
CN113643410A
CN113643410A CN202110973773.8A CN202110973773A CN113643410A CN 113643410 A CN113643410 A CN 113643410A CN 202110973773 A CN202110973773 A CN 202110973773A CN 113643410 A CN113643410 A CN 113643410A
Authority
CN
China
Prior art keywords
point
gui
elliptic arc
initial
control
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.)
Granted
Application number
CN202110973773.8A
Other languages
English (en)
Other versions
CN113643410B (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.)
Shenzhen Lingyun Shixun Technology Co ltd
Luster LightTech Co Ltd
Original Assignee
Shenzhen Lingyun Shixun Technology Co ltd
Luster LightTech Co Ltd
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 Shenzhen Lingyun Shixun Technology Co ltd, Luster LightTech Co Ltd filed Critical Shenzhen Lingyun Shixun Technology Co ltd
Priority to CN202110973773.8A priority Critical patent/CN113643410B/zh
Publication of CN113643410A publication Critical patent/CN113643410A/zh
Application granted granted Critical
Publication of CN113643410B publication Critical patent/CN113643410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请示出一种用于定位椭圆弧曲线的GUI图形控件设计方法及装置,本申请示出的一种用于定位椭圆弧曲线的GUI图形控件设计方法包括:设计定位椭圆弧曲线的GUI图形初始控件,其中所述控件包括第一方程;当光标移动到GUI图形初始控件的触发区域内时,判断光标是否击中GUI图形初始控件,若光标击中GUI图形初始控件,则激活GUI图形初始控件;当GUI图形初始控件被激活后,判断GUI图形初始控件是否被光标拖动;当GUI图形初始控件被拖动至图像中的椭圆弧曲线上,将GUI图形初始控件的交互点不断与图像中的椭圆弧曲线进行贴合,计算得到第二方程;将第二方程替换GUI图形初始控件中的第一方程,得到拖动后的定位椭圆弧曲线的GUI图形控件。

Description

一种用于定位椭圆弧曲线的GUI图形控件设计方法及装置
技术领域
本申请涉及工业视觉图像技术领域,尤其涉及一种用于定位椭圆弧曲线的GUI图形控件设计方法及装置。
背景技术
在图像中检测圆、椭圆等集合形状是图像分析和计算机视觉的基本任务之一。目前,在图像上检测图形,需要采用的GUI控件进行配合操作。图形用户界面(Graphical UserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用光标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。GUI控件具有简单易懂、界面直观地展示可用的功能和不可用的功能以及具有代码执行的中等效率等优点。
获取图像中的椭圆弧曲线的参数,需要简单方便操作的GUI控件,要求该控件通过光标交互,可以快速的贴合任意椭圆弧曲线,并均匀的设置卡尺区域;方便后续探测图像边缘点,拟合图像中的椭圆弧参数。但是目前还没有专门针对检测椭圆弧曲线而设计的GUI图形控件。
发明内容
本申请提供了一种用于定位椭圆弧曲线的GUI图形控件设计方法及装置,以解决目前还没有专门针对检测椭圆弧曲线而设计的GUI图形控件的问题。
第一方面,本申请提供的一种用于定位椭圆弧曲线的GUI图形控件设计方法,包括以下步骤:
设计定位椭圆弧曲线的GUI图形初始控件,所述GUI图形初始控件中包括第一方程和多个交互点;
判断光标是否移动到所述GUI图形初始控件的触发区域内;
当所述光标移动到所述GUI图形初始控件的触发区域内时,判断光标是否击中所述 GUI图形初始控件,若光标击中所述GUI图形初始控件,则激活所述GUI图形初始控件;
当所述GUI图形初始控件被激活后,判断所述GUI图形初始控件是否被光标拖动;
当所述GUI图形初始控件被拖动至图像中的椭圆弧曲线上,将所述GUI图形初始控件的交互点不断与所述图像中的椭圆弧曲线进行贴合,计算得到第二方程;
将第二方程替换所述GUI图形初始控件中的第一方程,得到拖动后的定位椭圆弧曲线的GUI图形控件。
第二方面,本申请提供一种用于定位椭圆弧曲线的GUI图形控件装置,所述装置用于实现上述的用于定位椭圆弧曲线的GUI图形控件设计方法;其中所述装置包括绘制模块、判断模块、计算模块以及同步模块。
第三方面,本申请提供一种用于定位椭圆弧曲线的GUI图形控件,所述GUI图形控件包括九个交互点分别为起始移动端点、终止移动端点、起始弧度变换点、终止弧度变换点、切点、移动中心点、掩膜起始交互点、掩膜终止交互点以及卡尺标记点;
所述起始移动端点在GUI图形控件所在椭圆弧的起始角度所对应的椭圆弧端点上,用于拟合椭圆弧曲线;
所述终止移动端点在GUI图形控件所在椭圆弧的终止角度所对应的椭圆弧端点上,用于拟合椭圆弧曲线;
所述起始弧度变换点在GUI图形控件所在椭圆弧的起始端点的上方,用于调整椭圆弧的起始角度和弧度;
所述终止弧度变换点在GUI图形控件所在椭圆弧的终止端点的上方,用于调整椭圆弧的终止角度和弧度;
所述切点为起始移动端点与终止移动端点连线与GUI图形控件所在椭圆弧的相切点,用于拟合椭圆弧曲线;
所述移动中心点距离所述切点8个像素的距离;
掩膜起始交互点在GUI图形控件所在椭圆弧上设置掩膜区域靠近起始移动端点的位置,用于调整找椭圆弧掩膜大小与位置;
掩膜终止交互点在GUI图形控件所在椭圆弧上设置掩膜区域靠近终止移动端点的位置,用于调整找椭圆弧掩膜大小与位置;
卡尺标记点是GUI图形控件上中间卡尺的端点,用于调整GUI图形控件上所有卡尺的大小。
本申请示出一种用于定位椭圆弧曲线的GUI图形控件设计方法和装置,本申请示出的一种用于定位椭圆弧曲线的GUI图形控件设计方法包括:设计定位椭圆弧曲线的 GUI图形初始控件,其中所述控件包括第一方程;当光标移动到GUI图形初始控件的触发区域内时,判断光标是否击中GUI图形初始控件,若光标击中GUI图形初始控件,则激活GUI图形初始控件;当GUI图形初始控件被激活后,判断GUI图形初始控件是否被光标拖动;当GUI图形初始控件被拖动至图像中的椭圆弧曲线上,将GUI图形初始控件的交互点不断与图像中的椭圆弧曲线进行贴合,计算得到第二方程;将第二方程替换GUI图形初始控件中的第一方程,得到拖动后的定位椭圆弧曲线的GUI图形控件。
采用本申请的技术方案的有益效果如下:
用户通过拖拽本申请设计的定位椭圆弧曲线的GUI图形控件上的交互点对所述控件进行平移,仿射变换和射影变换,重新计算参数,绘制GUI图形控件曲线,可以快速的贴合任意椭圆弧曲线,并均匀的设置卡尺区域,方便后续探测图像边缘点,拟合图像中的椭圆弧参数,进行定位椭圆弧曲线。用户还可通过鼠标右键单击设置GUI图形控件卡尺参数,添加多个掩膜,交互移动掩膜位置。本申请设计得到的GUI图形控件操作简便,填补了GUI图形中没有专门针对椭圆弧曲线的空白。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种用于定位椭圆弧曲线的GUI图形控件设计方法流程图;
图2为本申请实施例提供的用于定位椭圆弧曲线的GUI图形控件示意图;
图3为本申请实施例中拖动起始移动端点示意图;
图4为本申请实施例中用于定位椭圆弧曲线的GUI图形控件使用示意图;
图5为本申请实施例中用于定位椭圆弧曲线的GUI图形控件使用示意图;
图6为本申请实施例中用于定位椭圆弧曲线的GUI图形控件使用示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
参见图1,本申请实施例提供的一种用于定位椭圆弧曲线的GUI图形控件设计方法示意图。
第一方面,本实施例提供一种用于定位椭圆弧曲线的GUI图形控件设计方法包括以下步骤:
S1:通过GDI(图形设备接口)库,在计算机屏幕上绘制GUI图形初始控件,所述GUI图形初始控件中包括第一方程和多个交互点;
本申请绘制的GUI图形初始控件的交互点有9个,每个交互点的位置设计均不同。其中,所述GUI图形初始控件九个交互点,分别为起始移动端点、终止移动端点、起始弧度变换点、终止弧度变换点、切点、移动中心点、掩膜起始交互点、掩膜终止交互点以及卡尺标记点;
(a)起始移动端点:它在椭圆弧的起始角度所对应的椭圆弧端点上,起始移动端点可以任意移动,而终止移动端点位置保持不变,用于贴合椭圆弧曲线。
(b)终止移动端点:它在椭圆弧的终止角度所对应的椭圆弧端点上,终止移动端点可以任意移动,而起始移动端点位置保持不变,用于贴合椭圆弧曲线。
(c)起始弧度变换点:它在椭圆弧的起始端点的上方,起始弧度变换点可以调整椭圆弧的起始角度和弧度,而椭圆弧的圆心和半径保持不变。
(d)终止弧度变换点:它在椭圆弧的终止端点的上方,终止弧度变换点可以调整椭圆弧的终止角度和弧度,而椭圆弧的圆心和半径保持不变。
(e)切点:切点即起始移动端点与终止移动端点连线与椭圆弧的切点,切点可以调整找椭圆弧的参数;而起始移动端点,终止移动端点保持不变。
(f)移动中心点:移动中心点距离切点8个像素的距离,其与切点的夹角θ1的计算公式如公式1。其中CM为切点到椭圆弧两端点连线中间点的距离,OC为椭圆弧中心点到切点的距离。
Figure BDA0003226900760000041
(g)掩膜起始交互点:它在椭圆弧上设置掩膜区域靠近起始移动端点的位置,掩膜起始交互点可以调整找椭圆弧掩膜大小与位置,而掩膜终止交互点保持不变。
(h)掩膜终止交互点:它在椭圆弧上设置掩膜区域靠近终止移动端点的位置,掩膜终止交互点可以调整找椭圆弧掩膜大小与位置,而掩膜起始交互点保持不变。
(i)卡尺标记点:GUI图形初始控件上中间卡尺的端点,可以调整GUI图形初始控件上所有卡尺的大小。
(j)图2中椭圆弧上掩膜起始交互点到掩膜终止交互点之间的区域为设置的掩膜区域,在掩膜区域上不会设置卡尺。本申请中探测点为GUI图形初始控件的矩形区域,命名为卡尺。
在非掩膜区域设置卡尺,其中掩膜区域由掩膜起始交互点和掩膜终止交互点设置,卡尺的主要作用是实现图像边缘点的高精度自动提取,是在一个矩形区域内快速精确地进行边缘检测,返回边缘点。
S2:在窗口坐标系下,判断光标是否移动到GUI图形初始控件的触发区域内;
其中,判断依据为:根据第一方程(预设椭圆弧曲线方程)得到两个焦点以及长半轴的轴长,计算光标点到两焦点的距离与长半轴的轴长的2倍之差,是否在预设交互距离阈值之内;
判断公式如下所示:
|Dpc-2*a|<DVicinity
其中Dpc为光标击中点与两个焦点之间的距离之和,a为椭圆弧长半轴轴长,DVicinity为交互距离阈值,计算光标点到两焦点的距离与长半轴的轴长的2倍之差得到计算值,若计算值大于交互距离阈值则判断不成功,反之则判断成功。
S3:当所述光标移动到所述GUI图形初始控件的触发区域内时,判断光标是否击中GUI图形初始控件,若光标击中GUI图形初始控件,则激活所述GUI图形初始控件;
其中,判断依据为:判断光标点与第一方程(预设椭圆弧曲线方程)的椭圆弧中心点的夹角是否在预设的椭圆弧弧度范围内,若在弧度范围内则判断成功,激活所述GUI图形初始控件,反之则认为判断失败,不激活所述GUI图形初始控件;
S4:当所述GUI图形初始控件被激活后,判断所述GUI图形初始控件是否被光标拖动;
其中,判断依据为:光标点击中所述GUI图形初始控件,带动GUI图形初始控件移动,且所述找椭圆控件的移动距离超过1个像素,则判断拖动成功;
在实际应用中,GUI图形初始控件在鼠标左键单击后,判断鼠标点坐标是否在GUI图形初始控件上或GUI图形初始控件的交互点上,当判断成功后,再判断找椭圆控件移动距离是否大于1个像素。
S5:当所述GUI图形初始控件被拖动至图像中的椭圆弧曲线上,将所述GUI图形初始控件的交互点不断与所述图像中的椭圆弧曲线进行贴合,计算得到第二方程;
通过多次拖动定位椭圆弧曲线的GUI图形初始控件,将定位椭圆弧曲线的GUI图形初始控件贴合于图像中的椭圆弧曲线,方便后续获取图像中的椭圆弧参数。
其中,所述拖动GUI图形初始控件的方式包括平移GUI图形初始控件方式以及拖动GUI图形初始控件的交互点方式。
(1)、平移GUI图形初始控件得到椭圆弧曲线方程
所述平移GUI图形初始控件方式包括:若光标击中椭圆弧控件上非交互点的椭圆弧曲线,根据光标当前位置与起始拖动时光标位置之间的变化向量,移动椭圆弧中心,由此平移椭圆弧曲线,得到新的椭圆弧曲线;其中,第一方程(预设椭圆弧曲线方程)其余参数不进行改变,只变更椭圆弧中心点坐标。
(2)、拖动GUI图形初始控件的交互点计算第二方程
(21)、得到拖动后椭圆弧上的六个坐标点
所述拖动GUI图形初始控件的交互点方式包括拖动起始移动端点、拖动终止移动端点、拖动切点以及拖动移动中心点;
其中,拖动起始移动端点步骤如下:任意选取拖动前GUI图形初始控件所在椭圆弧上的六个点,对所述六个点坐标做Mshear仿射变换获得拖动后GUI图形初始控件所在椭圆弧上的六个点坐标;
所述起始移动端点在椭圆弧的起始角度所对应的椭圆弧端点上,当光标拖动起始移动端点任意移动时,终止移动端点位置始终不变;拖动起始移动端点示意图如图3所示,光标拖动起始移动端点PellipseStart到坐标点PmousePoint,PmousePoint与终止移动端点坐标PellipseEnd连线基于坐标系的角度为RmouseEnd,椭圆弧的旋转角度θ为RmouseEnd与拖动前起始移动端点坐标与终止移动端点坐标连线的角度之差。Protationstart点为PellipseStart旋转θ角度后得到的点,ΔX为PmousePoint到PellipseEnd的距离与Protationstart到PellipseEnd的距离之比。由于终止移动端点是已知且不动的,则设EndPointX、EndPointY为终止移动点坐标,则拖动起始移动端点PellipseStar到坐标点PmousePoint,椭圆整体做仿射变换矩阵如下。
Figure BDA0003226900760000061
其中,拖动终止移动端点步骤与拖动起始移动端点步骤一致,通过Mshear仿射变换最终获得拖动后GUI图形初始控件所在椭圆弧上的六个点坐标;
其中,拖动切点步骤如下:任意选取拖动前GUI图形初始控件所在椭圆弧曲线上的六个点,移动光标拖动切点时,保持起始移动端点和终止移动端点不动,通过拖动前后起始移动端点、终止移动端点和切点这三个点的坐标变化,计算得到对应的仿射变换矩阵;对拖动前的椭圆上的六个点关于拖动切点得到仿射变换,可获得拖动后GUI图形初始控件所在椭圆弧上的六个点坐标;
其中,拖动移动中心点步骤如下:通过光标拖动移动中心点PmoveCenter,改变移动中心点PmoveCenter到切点之间的夹角RmoveCenter,设PMid点为起始移动端点与终止移动端点之间的中间点,DOC为椭圆中心点到切点的距离,DCM为切点到PMid点的距离;
由DOC公式计算得到拖动后的椭圆弧中心点坐标;将椭圆弧曲线的始移动端点、终止移动端点和切点关于椭圆弧中心对称,得到与所述起始移动端点、终止移动端点和切点对称的点1、点2以及点3,即得到六个拖动后椭圆弧曲线上的坐标点;其中DOC公式如下所示:
Figure BDA0003226900760000071
通过拖动起始移动端点、拖动终止移动端点、拖动切点以及拖动移动中心点中的任意一个交互点得到拖动后椭圆弧上的六个坐标点(起始点、终止点、切点、点1、点2以及点3)。
(22)、计算椭圆弧所在椭圆的参数方程
通过拖动起始移动端点、终止移动端点、切点以及移动中心点中的任意一个贴合方式得到拖动后GUI图形初始控件所在椭圆弧曲线上的六个坐标点;
建立GUI图形初始控件上的椭圆弧所在椭圆的参数方程: a11X2+2a12XY+a22Y2+2a1X+2a2Y+a0=0;
将建立的所述参数方程进行归一化,将a11归一化为100,建立五元一次方程组;
其中五元一次方程为:
100X2+BXY+CY2+DX+EY+F=0;
将六个坐标点(起始点、终止点、切点、点1、点2以及点3)代入所述方程组,使用QR分解,求解得到五元一次方程组的系数,使用系数矩阵判断所述系数是否为满足椭圆曲线方程条件。
其中,所述系数矩阵的公式为:
Figure BDA0003226900760000072
满足椭圆曲线方程条件为I2>0且I1与I3异号,若不满足椭圆曲线方程条件,则判定拖动失败,椭圆弧曲线参数恢复为拖动之前。
在实际应用中,当计算出的系数矩阵通过判断满足椭圆弧曲线方程后,继续计算后续参数,如果计算出的系数矩阵通过判断不满足椭圆弧曲线方程,则停止后续参数计算,椭圆弧曲线参数恢复为拖动之前,即GUI图形初始控件第一方程的参数。
(23)、计算X轴方向Y轴方向半径
计算出参数方程后计算X轴方向、Y轴方向半径。设椭圆弧曲线的X轴方向为长轴,半径为RadiiX,则Y轴方向半径为RadiiY,其中X轴方向半径以及Y轴方向半径计算公式如下:
Figure BDA0003226900760000081
Figure BDA0003226900760000082
(24)、计算旋转角度
计算出X轴方向、Y轴方向半径后计算旋转角度。
旋转角度可以通过公式计算,公式为θ2=0.5*arctan(B/(100-C))。
但是不能确定θ2为长轴还是短轴的旋转角度,故而需要讨论。当椭圆曲线方程的系数B为0时,若C小于100则旋转角度为0,反之则为90度;当B不为0时,若C小于100,则旋转角度为θ2,反之则为θ2+90度。
(25)、计算椭圆弧的弧度
计算椭圆弧旋转角度和X轴、Y轴半径后,再计算椭圆弧的弧度。
椭圆弧的弧度=原始椭圆弧取2π的整数倍的数值+R`differ;
其中R`differ为Rdiffer+2π、Rdiffer-2π或Rdiffer中的一种。具体取值参见下方:
椭圆弧的起始点与中心点夹角为RstartCenter,椭圆弧的终止点与中心点夹角为RendCenter,两夹角之差为Rdiffer;若原始椭圆弧弧度大于零且Rdiffer小于零,则令 R`differ等于Rdiffer加2π;若原始椭圆弧弧度小于零且Rdiffer大于零,则令R`differ等于Rdiffer减2π;不满足上述情况则令R`differ等于Rdiffer。
(26)、计算起始角度
起始点角度为起始点与中心点之间夹角与椭圆旋转角度之差。
起始角度=RstartCenter-θ2
最终计算出新椭圆弧的中心点,X轴方向、Y轴方向半径,旋转角度,起始角度,椭圆弧弧度。
S6:将第二方程替换所述GUI图形初始控件中的第一方程,得到拖动后的定位椭圆弧曲线的GUI图形控件。
在实际应用中,将第二方程替换所述GUI图形初始控件中的第一方程,在椭圆弧曲线上按照预设的弧度间隔,其中所述弧度间隔为椭圆弧控件上两个相邻卡尺的间距;在非掩膜区域设置卡尺,其中掩膜区域由掩膜起始交互点和掩膜终止交互点设置,卡尺的主要作用是实现图像边缘点的高精度自动提取,是在一个矩形区域内快速精确地进行边缘检测,返回边缘点。最终在屏幕上刷新绘制GUI图形初始控件。
第二方面,本申请示出一种用于定位椭圆弧曲线的GUI图形装置,所述装置用于上述的用于定位椭圆弧曲线的GUI图形控件设计方法;其中所述装置包括绘制模块、判断模块、计算模块以及同步模块。
所述绘制模块被配置为设计定位椭圆弧曲线的GUI图形初始控件,所述GUI图形初始控件中设有第一方程,所述GUI图形初始控件包括多个交互点;
所述判断模块被配置为判断光标是否移动到所述GUI图形初始控件的触发区域内;
当所述光标移动到所述GUI图形初始控件的触发区域内时,判断光标是否击中所述GUI图形初始控件,若光标击中所述GUI图形初始控件,则激活所述GUI图形初始控件;当所述GUI图形初始控件被激活后,判断所述GUI图形初始控件是否被光标拖动;
所述计算模块被配置为当所述GUI图形初始控件被拖动至图像中的椭圆弧曲线上,将所述GUI图形初始控件的交互点不断与所述图像中的椭圆弧曲线进行贴合,计算得到第二方程;其中,第二方程包括以下参数:椭圆弧曲线参数方程、椭圆弧的中心点,X轴方向半径、Y轴方向半径以及旋转角度;
所述同步模块被配置为将第二方程替换所述GUI图形初始控件中的第一方程,得到拖动后的定位椭圆弧曲线的GUI图形控件。
第三方面,本申请还示出一种用于定位椭圆弧曲线的GUI图形控件,所述GUI图形控件包括九个交互点分别为起始移动端点、终止移动端点、起始弧度变换点、终止弧度变换点、切点、移动中心点、掩膜起始交互点、掩膜终止交互点以及卡尺标记点;
所述起始移动端点在GUI图形控件所在椭圆弧的起始角度所对应的椭圆弧端点上,用于拟合椭圆弧曲线;
所述终止移动端点在GUI图形控件所在椭圆弧的终止角度所对应的椭圆弧端点上,用于拟合椭圆弧曲线;
所述起始弧度变换点在GUI图形控件所在椭圆弧的起始端点的上方,用于调整椭圆弧的起始角度和弧度;
所述终止弧度变换点在GUI图形控件所在椭圆弧的终止端点的上方,用于调整椭圆弧的终止角度和弧度;
所述切点为起始移动端点与终止移动端点连线与GUI图形控件所在椭圆弧的相切点,用于拟合椭圆弧曲线;
所述移动中心点距离所述切点8个像素的距离;
掩膜起始交互点在GUI图形控件所在椭圆弧上设置掩膜区域靠近起始移动端点的位置,用于调整找椭圆弧掩膜大小与位置;
掩膜终止交互点在GUI图形控件所在椭圆弧上设置掩膜区域靠近终止移动端点的位置,用于调整找椭圆弧掩膜大小与位置;
卡尺标记点是GUI图形控件上中间卡尺的端点,用于调整GUI图形控件上所有卡尺的大小。
在实际应用中,首先设计GUI图形初始控件,通过上述一系列的设计方法,将所述GUI图形初始控件的交互点不断与所述图像中的椭圆弧曲线进行贴合,计算得到第二方程,将第二方程替换GUI图形初始控件中的第一方程,得到拖动后的定位椭圆弧曲线的GUI图形控件,设计方法结束。其中,GUI图形初始控件与拖动后的定位椭圆弧曲线的GUI图形控件上的交互点是一样的,两者最大的区别为:一个是拖动前,一个是拖动后,GUI图形初始控件与拖动后的定位椭圆弧曲线的GUI图形控件所在的椭圆弧的曲线方程并不相同。
其中,拖动GUI图形初始控件的交互点与图像中的椭圆弧曲线贴合方式包括拖动起始移动端点、拖动终止移动端点、拖动切点以及拖动移动中心点。
1、拖动起始移动端点操作
所述起始移动端点在椭圆弧的起始角度所对应的椭圆弧端点上,当光标拖动起始移动端点任意移动时,终止移动端点位置始终不变;拖动起始移动端点示意图如图3所示,光标拖动起始移动端点PellipseStart到坐标点PmousePoint,PmousePoint与终止移动端点坐标PellipseEnd连线基于坐标系的角度为RmouseEnd,椭圆弧的旋转角度θ为RmouseEnd与拖动前起始移动端点坐标与终止移动端点坐标连线的角度之差。Protationstart点为PellipseStart旋转θ角度后得到的点,ΔX为PmousePoint到PellipseEnd的距离与Protationstart到PellipseEnd的距离之比。由于终止移动端点是已知且不动的,则设EndPointX、EndPointY为终止移动点坐标,则拖动起始移动端点PellipseStar到坐标点PmousePoint,椭圆整体做仿射变换矩阵如下。
Figure BDA0003226900760000111
对拖动前的椭圆上的六个点做Mshear仿射变换可获得拖动后椭圆弧上的六个点坐标。
2、拖动终止移动端点操作
所述终止移动端点在椭圆弧的终止角度所对应的椭圆弧端点上,当光标对终止移动端点做任意移动时,起始移动端点位置始终不变;拖动终止移动端点对椭圆弧进行的仿射变换方式与拖动起始移动端点一致,最终可获得拖动后椭圆弧上的六个点坐标。
3、拖动切点操作
所述切点为起始移动端点与终止移动端点连线与椭圆弧的相切点,用于调整找椭圆弧的参数;当时光标拖动切点时,始移动端点和终止移动端点不动。由于起始移动端点、终止移动端点和切点这三个点不共线,因此可由拖动前后起始移动端点、终止移动端点和切点这三个点的坐标变化,计算得到对应的仿射变换矩阵。对拖动前的椭圆上的六个点做拖动切点所得到的仿射变换,可获得拖动后椭圆弧上的六个点坐标。
4、拖动移动中心点操作
所述移动中心点距离所述切点8个像素的距离,当拖动椭圆弧移动中心点时,椭圆弧的起始点、终止点和切点的位置不变。通过光标拖动移动中心点PmoveCenter,改变移动中心点PmoveCenter到切点之间的夹角RmoveCenter,设PMid点为起始移动端点与终止移动端点之间的中间点,DOC为椭圆中心点到切点的距离,DCM为切点到PMid点的距离。根据几何定理,椭圆弧中心点在PMid与切点连线的直线上,起始移动端点、终止移动端点和切点这三个点不共线,因此RmoveCenter的角度不能为0。由DOC可计算得到拖动后的椭圆弧中心点坐标。将椭圆弧曲线的始移动端点、终止移动端点和切点关于椭圆弧中心对称,得到与所述起始移动端点、终止移动端点和切点对称的点1、点2以及点3,即得到六个拖动后椭圆弧曲线上的坐标点。其中DOC公式如下所示。
Figure BDA0003226900760000112
所述起始弧度变换点在椭圆弧的起始端点的上方,用于调整椭圆弧的起始角度和弧度;计算光标拖动点与椭圆中心点的夹角为椭圆弧起始角度,设为RpointCenter。设RpointCenter与变换前椭圆终止点与椭圆中心点夹角的角度之差为Rdiffer。设变换前椭圆弧的弧度为Rspan,则拖动后椭圆弧的弧度RnewSpan为Rspan与Rdiffer之差。
所述终止弧度变换点在椭圆弧的终止端点的上方,用于调整椭圆弧的终止角度和弧度;其拖动后改变椭圆弧弧度与终止角度的方式与起始弧度变换点一致。
在实际应用中,本申请示出的一种用于定位椭圆弧曲线的GUI图形控件使用效果如图4、5、6所示。如图4所示,在需要定位椭圆弧曲线的图像中载入GUI图形初始控件;如图5所示,通过对GUI图形初始控件的平移拖动和对交互点的拖动,使得GUI图形初始控件的椭圆弧曲线大致贴合与图像中的椭圆弧曲线;如图6所示,通过GUI图形初始控件返回的卡尺矩形区域,可以在图像中的椭圆弧曲线上均匀的定位到边缘点(图6中的十字点),后续的拟合椭圆弧工具会根据这些边缘点,快速准确的拟合出椭圆弧曲线。
定位椭圆弧曲线的GUI图形控件的工作原理为:用于实现图像边缘点的高精度自动提取,在一个矩形区域内快速精确地进行边缘检测,返回边缘点,通过多次边缘检测以及多次边缘点返回,对边缘点进行拟合得到参数,最终定位到椭圆弧曲线。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。

Claims (10)

1.一种用于定位椭圆弧曲线的GUI图形控件设计方法,其特征在于,包括以下步骤:
设计定位椭圆弧曲线的GUI图形初始控件,所述GUI图形初始控件包括第一方程和多个交互点;
判断光标是否移动到所述GUI图形初始控件的触发区域内;
当所述光标移动到所述GUI图形初始控件的触发区域内时,判断光标是否击中所述GUI图形初始控件,若光标击中所述GUI图形初始控件,则激活所述GUI图形初始控件;
当所述GUI图形初始控件被激活后,判断所述GUI图形初始控件是否被光标拖动;
当所述GUI图形初始控件被拖动至图像中的椭圆弧曲线上,将所述GUI图形初始控件的交互点不断与所述图像中的椭圆弧曲线进行贴合,计算得到第二方程;
将第二方程替换所述GUI图形初始控件中的第一方程,得到拖动后的定位椭圆弧曲线的GUI图形控件。
2.根据权利要求1所述的用于定位椭圆弧曲线的GUI图形控件设计方法,其特征在于,所述GUI图形初始控件的交互点共有九个,分别为起始移动端点、终止移动端点、起始弧度变换点、终止弧度变换点、切点、移动中心点、掩膜起始交互点、掩膜终止交互点以及卡尺标记点;其中,GUI图形初始控件为椭圆弧形状;
所述起始移动端点在GUI图形初始控件所在椭圆弧的起始角度所对应的椭圆弧端点上,用于贴合椭圆弧曲线;
所述终止移动端点在GUI图形初始控件所在椭圆弧的终止角度所对应的椭圆弧端点上,用于贴合椭圆弧曲线;
所述起始弧度变换点在GUI图形初始控件所在椭圆弧的起始端点的上方,用于调整椭圆弧的起始角度和弧度;
所述终止弧度变换点在GUI图形初始控件所在椭圆弧的终止端点的上方,用于调整椭圆弧的终止角度和弧度;
所述切点为起始移动端点与终止移动端点连线与GUI图形初始控件所在椭圆弧的相切点,用于贴合椭圆弧曲线;
所述移动中心点距离所述切点8个像素的距离;
掩膜起始交互点在GUI图形初始控件所在椭圆弧上设置掩膜区域靠近起始移动端点的位置,用于调整找椭圆弧掩膜大小与位置;
掩膜终止交互点在GUI图形初始控件所在椭圆弧上设置掩膜区域靠近终止移动端点的位置,用于调整找椭圆弧掩膜大小与位置;
卡尺标记点是GUI图形初始控件上中间卡尺的端点,用于调整GUI图形初始控件上所有卡尺的大小。
3.根据权利要求2所述的用于定位椭圆弧曲线的GUI图形控件设计方法,其特征在于,判断光标是否移动到GUI图形初始控件的触发区域内的判断公式如下所示:
|Dpc-2*a|<DVicinity
其中Dpc为光标击中点与两个焦点之间的距离之和,a为椭圆弧长半轴轴长,DVicinity为交互距离阈值,计算光标点到两焦点的距离与长半轴的轴长的2倍之差得到计算值,若计算值大于交互距离阈值则判断不成功,反之则判断成功。
4.根据权利要求3所述的用于定位椭圆弧曲线的GUI图形控件设计方法,其特征在于,当所述GUI图形初始控件被激活后,判断所述GUI图形初始控件是否被光标拖动还包括:若光标击中GUI图形初始控件上非交互点的椭圆弧曲线,根据光标当前位置与起始拖动时光标位置之间的变化向量,移动椭圆弧中心,平移GUI图形控件,得到第二方程。
5.根据权利要求1至3任一项所述的用于定位椭圆弧曲线的GUI图形控件设计方法,其特征在于,将所述GUI图形初始控件的交互点不断与所述椭圆弧曲线进行贴合,所述贴合方式包括拖动起始移动端点、拖动终止移动端点、拖动切点以及拖动移动中心点进行贴合;
其中,拖动起始移动端点步骤如下:任意选取拖动前GUI图形初始控件所在椭圆弧上的六个点,对所述六个点的坐标做Mshear仿射变换获得拖动后GUI图形初始控件所在椭圆弧上的六个点坐标;
其中,拖动终止移动端点步骤与拖动起始移动端点步骤一致,通过Mshear仿射变换最终获得拖动后GUI图形初始控件所在椭圆弧上的六个点坐标;
其中,拖动切点步骤如下:任意选取拖动前GUI图形初始控件所在椭圆弧曲线上的六个点,移动光标拖动切点时,保持起始移动端点和终止移动端点不动,通过拖动前后起始移动端点、终止移动端点和切点这三个点的坐标变化,计算得到对应的仿射变换矩阵;对拖动前的椭圆上的六个点关于拖动切点进行仿射变换,可获得拖动后GUI图形初始控件所在椭圆弧上的六个点坐标;
其中,拖动移动中心点步骤如下:通过光标拖动移动中心点,改变移动中心点到切点之间的夹角,根据DOC公式计算得到拖动后的椭圆弧曲线中心点坐标;将椭圆弧曲线的起始移动端点、终止移动端点和切点关于椭圆弧曲线中心对称,得到与所述起始移动端点、终止移动端点和切点对称的点1、点2以及点3,可获得拖动后GUI图形初始控件所在椭圆弧上的六个点坐标。
6.根据权利要求5所述的用于定位椭圆弧曲线的GUI图形控件设计方法,其特征在于,将所述GUI图形初始控件的交互点不断与所述图像中的椭圆弧曲线进行贴合,计算得到第二方程,计算步骤如下:
通过拖动起始移动端点、终止移动端点、切点以及移动中心点中的任意一个贴合方式得到拖动后GUI图形初始控件所在椭圆弧曲线上的六个坐标点;
建立椭圆弧曲线所在椭圆的参数方程;其中,所述椭圆的参数方程为:a11X2+2a12XY+a22Y2+2a1X+2a2Y+a0=0;
将建立的所述参数方程进行归一化,建立五元一次方程组,将所述六个坐标点代入所述方程进行QR分解求解得到所述方程的系数,使用系数矩阵判断所述系数是否满足椭圆曲线方程条件;
若满足,则根据椭圆弧曲线所在椭圆的参数方程,继续计算椭圆弧曲线参数,最终根据所述参数方程以及所述椭圆弧曲线参数得到第二方程;其中所述椭圆弧曲线参数还包括X轴方向半径、Y轴方向半径以及旋转角度。
7.根据权利要求6所述的用于定位椭圆弧曲线的GUI图形控件设计方法,其特征在于,对所述六个点坐标做Mshear仿射变换获得拖动后GUI图形初始控件所在椭圆弧上的六个点坐标包括:
任意选取拖动前GUI图形初始控件所在椭圆弧上的六个点,光标拖动起始移动端点PellipseStart到坐标点PmousePoint,对拖动前的椭圆上的所述六个点做Mshear仿射变换可获得拖动后椭圆弧上的六个点坐标;其中椭圆整体做仿射变换矩阵如下:
Figure FDA0003226900750000031
其中,PmousePoint与终止移动端点坐标PellipseEnd连线基于坐标系的角度为RmouseEnd,椭圆弧的旋转角度θ为RmouseEnd与拖动前起始移动端点坐标与终止移动端点坐标连线的角度之差;Protationstart点为PellipseStart旋转θ角度后得到的点,ΔX为PmousePoint到PellipseEnd的距离与Protationstart到PellipseEnd的距离之比;设EndPointX、EndPointY为终止移动点坐标。
8.一种用于定位椭圆弧曲线的GUI图形装置,其特征在于,所述装置用于实现权利要求1至7任一项所述的一种用于定位椭圆弧曲线的GUI图形控件设计方法,其中所述装置包括绘制模块、判断模块、计算模块以及同步模块。
9.根据权利要求8所述的用于定位椭圆弧曲线的GUI图形装置,其特征在于,所述绘制模块被配置为设计定位椭圆弧曲线的GUI图形初始控件,所述GUI图形初始控件中设有第一方程,所述GUI图形初始控件包括多个交互点;
所述判断模块被配置为判断光标是否移动到所述GUI图形初始控件的触发区域内;
当所述光标移动到所述GUI图形初始控件的触发区域内时,判断光标是否击中所述GUI图形初始控件,若光标击中所述GUI图形初始控件,则激活所述GUI图形初始控件;当所述GUI图形初始控件被激活后,判断所述GUI图形初始控件是否被光标拖动;
所述计算模块被配置为当所述GUI图形初始控件被拖动至图像中的椭圆弧曲线上,将所述GUI图形初始控件的交互点不断与所述图像中的椭圆弧曲线进行贴合,计算得到第二方程;其中,第二方程包括以下参数:椭圆弧曲线参数方程、椭圆弧的中心点,X轴方向半径、Y轴方向半径以及旋转角度;
所述同步模块被配置为将第二方程替换所述GUI图形初始控件中的第一方程,得到拖动后的定位椭圆弧曲线的GUI图形控件。
10.一种用于定位椭圆弧曲线的GUI图形控件,其特征在于,所述GUI图形控件包括九个交互点分别为起始移动端点、终止移动端点、起始弧度变换点、终止弧度变换点、切点、移动中心点、掩膜起始交互点、掩膜终止交互点以及卡尺标记点;
所述起始移动端点在GUI图形控件所在椭圆弧的起始角度所对应的椭圆弧端点上,用于拟合椭圆弧曲线;
所述终止移动端点在GUI图形控件所在椭圆弧的终止角度所对应的椭圆弧端点上,用于拟合椭圆弧曲线;
所述起始弧度变换点在GUI图形控件所在椭圆弧的起始端点的上方,用于调整椭圆弧的起始角度和弧度;
所述终止弧度变换点在GUI图形控件所在椭圆弧的终止端点的上方,用于调整椭圆弧的终止角度和弧度;
所述切点为起始移动端点与终止移动端点连线与GUI图形控件所在椭圆弧的相切点,用于拟合椭圆弧曲线;
所述移动中心点距离所述切点8个像素的距离;
掩膜起始交互点在GUI图形控件所在椭圆弧上设置掩膜区域靠近起始移动端点的位置,用于调整找椭圆弧掩膜大小与位置;
掩膜终止交互点在GUI图形控件所在椭圆弧上设置掩膜区域靠近终止移动端点的位置,用于调整找椭圆弧掩膜大小与位置;
卡尺标记点是GUI图形控件上中间卡尺的端点,用于调整GUI图形控件上所有卡尺的大小。
CN202110973773.8A 2021-08-24 2021-08-24 一种用于定位椭圆弧曲线的gui图形控件设计方法及装置 Active CN113643410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110973773.8A CN113643410B (zh) 2021-08-24 2021-08-24 一种用于定位椭圆弧曲线的gui图形控件设计方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110973773.8A CN113643410B (zh) 2021-08-24 2021-08-24 一种用于定位椭圆弧曲线的gui图形控件设计方法及装置

Publications (2)

Publication Number Publication Date
CN113643410A true CN113643410A (zh) 2021-11-12
CN113643410B CN113643410B (zh) 2024-01-23

Family

ID=78423560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110973773.8A Active CN113643410B (zh) 2021-08-24 2021-08-24 一种用于定位椭圆弧曲线的gui图形控件设计方法及装置

Country Status (1)

Country Link
CN (1) CN113643410B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030156123A1 (en) * 2002-02-15 2003-08-21 Computer Associates Think, Inc. System and method for specifying elliptical parameters
JP2007164517A (ja) * 2005-12-14 2007-06-28 Denso Corp 図形中心検出方法、楕円検出方法、画像認識装置、制御装置
US20080012860A1 (en) * 2005-09-30 2008-01-17 Frank Klefenz Apparatus, method and computer program for determining information about shape and/or location of an ellipse in a graphical image
US20090089715A1 (en) * 2007-09-27 2009-04-02 Dickey Roger F Automatic Re-Positioning of Graphical Program Nodes during Node Placement or Node Movement
CN103226471A (zh) * 2013-03-21 2013-07-31 南京工业大学 一种基于svg的固件图形用户界面的设计方法
US20140362089A1 (en) * 2013-06-07 2014-12-11 Apple Inc. Rendering Borders of Elements of a Graphical User Interface
CN105474157A (zh) * 2013-05-09 2016-04-06 亚马逊技术股份有限公司 移动设备界面
CN105981096A (zh) * 2014-02-27 2016-09-28 株式会社思可林集团 直接描画装置用的gui装置、直接描画系统、描画区域设定方法以及程序
US20180315169A1 (en) * 2017-04-27 2018-11-01 Adobe Systems Incorporated Adjusting blurry vector-based lines during movement
CN109964254A (zh) * 2016-12-20 2019-07-02 佳能株式会社 用于在虚拟视图中渲染对象的方法和系统
CN111127583A (zh) * 2019-11-08 2020-05-08 北京猎豹移动科技有限公司 一种绘制曲线的方法、装置及电子设备
CN111968144A (zh) * 2020-09-07 2020-11-20 北京凌云光技术集团有限责任公司 一种图像边缘点获取方法及装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1633659A (zh) * 2002-02-15 2005-06-29 电脑联合想象公司 用于绘制椭圆弧的系统和方法
US20030156123A1 (en) * 2002-02-15 2003-08-21 Computer Associates Think, Inc. System and method for specifying elliptical parameters
US20080012860A1 (en) * 2005-09-30 2008-01-17 Frank Klefenz Apparatus, method and computer program for determining information about shape and/or location of an ellipse in a graphical image
JP2007164517A (ja) * 2005-12-14 2007-06-28 Denso Corp 図形中心検出方法、楕円検出方法、画像認識装置、制御装置
US20090089715A1 (en) * 2007-09-27 2009-04-02 Dickey Roger F Automatic Re-Positioning of Graphical Program Nodes during Node Placement or Node Movement
CN103226471A (zh) * 2013-03-21 2013-07-31 南京工业大学 一种基于svg的固件图形用户界面的设计方法
CN105474157A (zh) * 2013-05-09 2016-04-06 亚马逊技术股份有限公司 移动设备界面
US20140362089A1 (en) * 2013-06-07 2014-12-11 Apple Inc. Rendering Borders of Elements of a Graphical User Interface
CN105981096A (zh) * 2014-02-27 2016-09-28 株式会社思可林集团 直接描画装置用的gui装置、直接描画系统、描画区域设定方法以及程序
CN109964254A (zh) * 2016-12-20 2019-07-02 佳能株式会社 用于在虚拟视图中渲染对象的方法和系统
US20180315169A1 (en) * 2017-04-27 2018-11-01 Adobe Systems Incorporated Adjusting blurry vector-based lines during movement
CN111127583A (zh) * 2019-11-08 2020-05-08 北京猎豹移动科技有限公司 一种绘制曲线的方法、装置及电子设备
CN111968144A (zh) * 2020-09-07 2020-11-20 北京凌云光技术集团有限责任公司 一种图像边缘点获取方法及装置

Also Published As

Publication number Publication date
CN113643410B (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
US8230358B1 (en) Defining motion in a computer system with a graphical user interface
US9001208B2 (en) Imaging sensor based multi-dimensional remote controller with multiple input mode
EP3436916B1 (en) Applications for multi-touch input detection
US5793377A (en) Method and apparatus for polar coordinate snap in a computer implemented drawing tool
JP2705715B2 (ja) 3次元オブジェクトの回転を正確に制御する方法
CN111273838B (zh) 触摸显示装置中悬浮工具栏的移动方法及触摸显示装置
US8525854B2 (en) Display device and screen display method
CN105988710B (zh) 用于利用触摸显示来协助用户输入的方法、设备和装置
US20180121076A1 (en) Drawing processing method, drawing program, and drawing device
CN101877736A (zh) 移动终端用户界面自动调整系统及方法
CN106959808A (zh) 一种基于手势控制3d模型的系统及方法
WO2016045445A1 (zh) 一种基于触摸屏的目标位置定位方法及其装置
WO2022205625A1 (zh) 点胶轨迹生成方法、装置、电子设备和存储介质
CN105319991A (zh) 一种基于Kinect视觉信息的机器人环境识别与作业控制方法
CN104281395A (zh) 交互信息处理方法和电子设备
US11297244B2 (en) Click-and-lock zoom camera user interface
US20230410452A1 (en) Method for inferring a 3d geometry onto a 2d sketch
TW201327245A (zh) 三次元座標系圖形化創建系統及方法
WO2014147867A1 (ja) 画像処理装置及びプログラム
US10331333B2 (en) Touch digital ruler
US10073612B1 (en) Fixed cursor input interface for a computer aided design application executing on a touch screen device
CN113643410A (zh) 一种用于定位椭圆弧曲线的gui图形控件设计方法及装置
EP2610721A1 (en) Method and device for editing layout of objects
JP4224222B2 (ja) 描画方法
JP2003280813A (ja) ポインティングデバイス、ポインタ制御装置、ポインタ制御方法及びその方法を記録した記録媒体

Legal Events

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