利用计算机从图形中自动获取采样点工程参数值的方法

文档序号:6440477阅读:174来源:国知局
专利名称:利用计算机从图形中自动获取采样点工程参数值的方法
技术领域
本发明涉及一种利用计算机进行图形处理的方法,特别是涉及一种在图形中进行鼠标跟踪,并且依据当前光标的坐标获取采样点工程参数取值的方法。
背景技术
现在工程领域计算中存在着大量的图版,这些图版大多体现为坐标系中的各种曲线,通常情况下,这些图版是由手工或者借助绘图仪器进行描点绘制,此时的取值方法是通过数学计算得到的结果,即要想获得曲线上各个点的工程参数值,必须通过建立非常复杂的数学模型,然后结合曲线上点的位置,进行反推运算,方可得到该点所对应的实际的工程参数值。目前常用的数学模型建立方法通常有1)计算公式法;2)用相应公式模拟曲线,使用最小二乘多项式拟合等;3)插值方法,拉格朗日插值法以及4)数值积分法等。由于这些计算工具需要进行大量的数学计算,因而其不能直观地根据曲线图形获取工程参数。
特别是对于在石油行业内,有关选取潜油电泵的理论日渐成熟,但其实践经验是非常重要的,往往行业标准就会出现若干的版本,而且能够总结出来的数学模型的只是一部分,还有一部分是长期实践得出的宝贵数据所形成的曲线图形,经过长期的使用已经被业界认可,由于其没有数学模型可以引用,因此,目前所有的取值方法,都不能够很直观地实现上述经验图形或者曲线上各采样点的工程参数取值。
如果仅用计算机对图形或曲线进行直接测量,往往只能得到该图形或曲线中各点所对应的计算机系统所提供的坐标值,这并不是用户想得到的采样点工程参数。在一些情况较为复杂的多坐标系、对数坐标等复杂的坐标系中,其中图形或曲线上各点所对应的工程参数值,更是无法从直观地测量该点在坐标系中的位置。
所以本发明提出了一种利用计算机从图形中自动获取采样点工程参数值的方法,很好的解决了业内没有数学模型的标准的引用情况下的图形采样点对应工程参数的取值问题。

发明内容
本发明的目的在于克服上述现有技术的缺陷,而提供一种利用计算机从图形中自动获取采样点工程参数值的方法,利用系统坐标系和用户坐标系的数值变换,结合鼠标跟踪、坐标取值的方法进行自动、直观地获取工程图形或曲线中各点所对应的工程参数值。
本发明提出一种利用计算机从图形中自动获取采样点工程参数值的方法,通过将对坐标系的转换和计算,获取图形中采样点的工程参数值,该方法包括以下步骤将待处理的图形或曲线引入计算机图形容器中,取得图形所在用户坐标系坐标原点在窗体中的位置;根据图形中各采样点在用户坐标系中的位置关系,逐个确定其在窗体中的相对位置;得到每个采样点在系统坐标系中彼此的相对关系,计算出两两相邻采样点的距离,并以此为系统坐标系与用户坐标系的坐标变换单位量;以及移动光标,生成跟随光标的数值,利用上述变换单位量,取得各采样点所对应的工程参数数值。
与现有技术相比,本发明编程方法简单,易于实现;而且计算精度也可以满足与工程计算相同的要求;可更加直观的从图形曲线中进行采样点工程参数取值,特别是对于经验图形的采样点工程参数取值,更可达到准确、有效,容易操作。
下面将结合实施例及参照附图对该发明的技术方案进行详细说明。


图1为本发明利用计算机从图形中自动获取采样点工程参数值的方法的整体流程图。
图2为本发明实施例一中等值坐标轴中的曲线示意图。
图3为本发明实施例二中对数坐标轴中的曲线示意图。
具体实施例方式
坐标系统是每一个图形操作(包括调整大小、移动和绘图),都要使用绘图区或容器的坐标系统。虽然用坐标系统能达到成功的图形效果,然而,如何用坐标系统定义窗体和控件在应用程序中的位置,也是很重要的。坐标系统是一个二维网格,可定义屏幕上、窗体中或其它容器中(如图片框或Printer对象)的位置。使用窗体中的坐标,可定义网格上的位置(x,y)x值是沿x轴点的位置,最左端是缺省位置0。y值是沿y轴点的位置,最上端是缺省位置0。响应鼠标事件可通过MouseDown、MouseMove事件使应用程序对鼠标位置及状态的变化作出响应。大多数控件能够识别这些鼠标事件。动态链接库(DLL)则用于在程序运行时加载和链接到应用程序的例程库。
本发明中利用了系统坐标系和用户坐标这两个概念,其中系统坐标系是指编程者根据需要在计算机系统中建立的标准坐标系,它类似于绝对坐标系;而用户坐标系则指的是当前处理的图形或曲线本身所在的坐标系,它类似于相对坐标系。
本发明的整体流程如图1所示,首先,将待处理的图形或曲线引入计算机图形容器中,取得图形所在用户坐标系坐标原点在窗体中的位置,由此可确定用户坐标系与系统坐标系之间的相对关系,步骤(101);根据图形中各采样点在用户坐标系中的位置关系,逐个确定其在窗体中的相对位置,即确定用户坐标系中各实际的采样点在系统坐标系中的位置,步骤102;得到每个采样点在系统坐标系中彼此的相对关系,计算出两两相邻采样点的距离,并以此为系统坐标系与用户坐标系的坐标变换单位量,步骤103;移动光标,生成跟随光标的数值,利用上述变换单位量,通过自定义函数CaclX和CaclY,计算出各采样点所对应的工程参数数值,步骤104。
上述流程的步骤(101)中,如果图形为纸面绘图,需事先将该纸面图形处理为计算机可识别和操作的矢量化图形。
上述流程的步骤(103)中,该坐标变换单位量被定义为一中间变量,被自定义函数调用。
上述流程的步骤(104)中,还可能包括利用计算机画线模块,描绘出鼠标在各采样点间移动的轨迹,利用Mousedown事件选中当前光标,然后,利用MouseUp事件确定当前光标所在位置,从而获取相对于系统坐标系的坐标值。
上述流程的所有应用程序,可根据需要在操作系统中注册动态链接库,建立动态库的类模块的对象,以便方便地调用该应用程序,完成采样点工程参数值的获取。
对于多坐标系绘制曲线的特殊要求,本发明提出可以建立多轴坐标系,对于除x、y轴外的其它轴,根据对应的转换关系(例如斜率),计算出最终结果,最终形成多轴的坐标系和一组多个的返回值的方案。
下面通过三个具体实施例具体说明本发明的实现流程如图2所示,本发明具体实施例一所要进行采样点取值处理的是压力损失曲线图,该曲线图所在的用户坐标系为等值坐标的图形的采样点取值,其中单位量的计算方法为X轴单位量=(用户坐标的X轴最大值在系统坐标中的坐标值-用户坐标的轴圆点值在系统坐标中的X坐标值)/用户坐标的轴最大值的物理量例如GB/T 17386-1998xp=(7440-825)/305CaclX=(当前光标在系统坐标中的X坐标值-用户坐标的轴圆点值在系统坐标中的X坐标值)/X轴单位量例如CaclX=(xx-825)/xpY轴单位量=(用户坐标的Y轴最大值在系统坐标中的坐标值-用户坐标的轴圆点值在系统坐标中的Y坐标值)/用户坐标的轴最大值的物理量例如GB/T 17386-1998yp=(9840-405)/1590CaclY=(当前光标在系统坐标中的Y坐标值—用户坐标的轴圆点值在系统坐标中的Y坐标值)/Y轴单位量例如CaclY=1590-(yy-405)/yp如图3所示,本发明具体实施例二所要进行采样点取值处理的是油田温度条件下无气原油的粘度曲线图,该曲线图所在的用户坐标系为对数坐标系,首先,判断光标在用户坐标系统中的位置,取出当前光标介于某两个采样点之间的坐标值;然后,根据公式计算值CaclY=(采样点中物理值大的值-(当前光标在系统坐标中的坐标值-较大的采样点在系统坐标系中的坐标值)/(两个采样点在系统坐标系中的坐标值的差的绝对值)/两个采样点的物理差值的绝对值)例如GB/T 17386-1998(如图3所示)采用点y01,y02,y03,y04,y05,y06,y08,y10,y20,y30,y40,y50,y60,y80,y100,y200,y300,y400,y500,y600,y800,y1000,y2000,y3000,y4000(尾数为采样点的物理值)采样点坐标值y01=8955y02=8415y03=8115y04=7980y05=7725y06=7515y08=7260 y1=7185y2=6645y3=6360y4=6150y5=5905y6=5835y8=5610y10=5430y20=4875y30=4620y40=4395y50=4215y60=4065y80=3870y100=3675y200=3150y300=2865y400=2640y500=2475y600=2325y800=2100y1000=1905y2000=1605y3000=1215y4000=870
If yy<y4000 ThenCaclY=″″ElseIf yy<y3000 ThenCaclY=Int(4000-(yy-y4000)/((y3000-y4000)/1000))ElseIf yy<y2000 ThenCaclY=Int(3000-(yy-y3000)/((y2000-y3000)/1000))ElseIf yy<y1000 ThenCaclY=Int(2000-(yy-y2000)/((y1000-y2000)/1000))ElseIf yy<y800 ThenCaclY=Int(1000-(yy-y1000)/((y800-y1000)/200))ElseIf yy<y600 ThenCaclY=Int(800-(yy-y800)/((y600-y800)/200))ElseIf yy<y500 ThenCaclY=Int(600-(yy-y600)/((y500-y600)/100))ElseIf yy<y400 ThenCaclY=Int(500-(yy-y500)/((y400-y500)/100))ElseIf yy<y300 ThenCaclY=Int(400-(yy-y400)/((y300-y400)/100))ElseIf yy<y200 ThenCaclY=Int(300-(yy-y300)/((y200-y300)/100))ElseIf yy<y100 ThenCaclY=Int(200-(yy-y200)/((y100-y200)/100))ElseIf yy<y80 ThenCaclY=Int(100-(yy-y100)/((y80-y100)/20))ElseIf yy<y60 ThenCaclY=Int(80-(yy-y80)/((y60-y80)/20))ElseIf yy<y50 ThenCaclY=Int(60-(yy-y60)/((y50-y60)/10))ElseIf yy<y40 ThenCaclY=Int(50-(yy-y50)/((y40-y50)/10))ElseIf yy<y30 ThenCaclY=Int(40-(yy-y40)/((y30-y40)/10))ElseIf yy<y20 ThenCaclY=Int(30-(yy-y30)/((y20-y30)/10))ElseIf yy<y10 Then
CaclY=Int(20-(yy-y20)/((y10-y20)/10))ElseIf yy<y8 ThenCaclY=10-(yy-y10)/((y8-y10)/2)ElseIf yy<y6 ThenCaclY=8-(yy-y8)/((y6-y8)/2)ElseIf yy<y5 ThenCaclY=6-(yy-y6)/(y5-y6)ElseIf yy<y4 ThenCaclY=5-(yy-y5)/(y4-y5)ElseIf yy<y3 ThenCaclY=4-(yy-y4)/(y3-y4)ElseIf yy<y2 ThenCaclY=3-(yy-y3)/(y2-y3)ElseIf yy<y1 ThenCaclY=2-(yy-y2)/(y1-y2)ElseIf yy<y08 ThenCaclY=1-(yy-y1)/((y08-y1)/0.2)ElseIf yy<y06 ThenCaclY=0.8-(yy-y08)/((y06-y08)/0.2)ElseIf yy<y05 ThenCaclY=0.6-(yy-y06)/((y05-y06)/0.1)ElseIf yy<y04 ThenCaclY=0.5-(yy-y05)/((y04-y05)/0.1)ElseIf yy<y03 ThenCaclY=0.4-(yy-y04)/((y03-y04)/0.1)ElseIf yy<y02 ThenCaclY=0.3-(yy-y03)/((y02-y03)/0.1)ElseIf yy<y01 ThenCaclY=0.2-(yy-y02)/((y01-y02)/0.1)ElseCaclY=0End If本发明具体实施例三所要进行采样点取值处理的是带斜率的多坐标图形,多坐标的实现方法差异在于带入计算的值是经过变换关系,即斜率来调整的,其中
斜率调整公式调整后的Y数值=斜率*(用户坐标的轴圆点值在系统坐标中的x坐标值-当前光标在系统坐标中的x坐标值)+当前光标在系统坐标中的Y坐标值例如y2=(450/2490)*(1080-X)+Y调用Cacly(y2)以上内容仅为本发明的实施例,其目的并非对本发明所提出的装置加以限制,本发明的保护范围以权利要求为准。在不脱离本发明的精神和范围的情况下,本领域技术人员在不偏离本发明的范围和精神的情况下,对其进行的关于形式和细节的种种显而易见的修改或变化均落在本发明的保护范围之内。
权利要求
1.一种利用计算机从图形中自动获取采样点工程参数值的方法,通过对坐标系的转换和计算,获取图形中采样点的工程参数值,该方法包括以下步骤将待处理的图形或曲线引入计算机图形容器中,取得图形所在用户坐标系坐标原点在窗体中的位置;根据图形中各采样点在用户坐标系中的位置关系,逐个确定其在窗体中的相对位置;得到每个采样点在系统坐标系中彼此的相对关系,计算出两两相邻采样点的距离,并以此为系统坐标系与用户坐标系的坐标变换单位量;以及移动光标,生成跟随光标的数值,利用上述变换单位量,取得各采样点所对应的工程参数数值。
2.如权利要求1所述的利用计算机从图形中自动获取采样点工程参数值的方法,其特征在于,当曲线需绘制在多坐标系时,该方法还包括以下处理步骤建立多轴坐标系;对于除x、y轴外的其它轴,根据对应的关系计算出转换关系;形成多轴的坐标系和一组多个返回值。
3.如权利要求1所述的利用计算机从图形中自动获取采样点工程参数值的方法,其特征在于,所述图形为纸面绘图时,先将该纸面图形处理为计算机可识别和操作的矢量化图形。
4.如权利要求1所述的利用计算机从图形中自动获取采样点工程参数值的方法,其特征在于,所述坐标变换单位量为一中间变量,被自定义函数调用。
5.如权利要求1所述的利用计算机从图形中自动获取采样点工程参数值的方法,其特征在于,所述图形或曲线处于等值坐标系中,其取值计算过程为X轴单位量=(用户坐标的X轴最大值在系统坐标中的坐标值—用户坐标的轴圆点值在系统坐标中的X坐标值)/用户坐标的轴最大值的物理量;X轴自定义函数=(当前光标在系统坐标中的X坐标值—用户坐标的轴圆点值在系统坐标中的X坐标值)/X轴单位量;Y轴单位量=(用户坐标的Y轴最大值在系统坐标中的坐标值—用户坐标的轴圆点值在系统坐标中的Y坐标值)/用户坐标的轴最大值的物理量;Y轴自定义函数=(当前光标在系统坐标中的Y坐标值—用户坐标的轴圆点值在系统坐标中的Y坐标值)/Y轴单位量。
6.如权利要求1所述的利用计算机从图形中自动获取采样点工程参数值的方法,其特征在于,所述图形或曲线处于对数坐标系中,其取值计算过程为首先,判断光标在用户坐标系统中的位置,取出当前光标介于任意两个采样点之间的坐标值;然后,根据公式计算Y轴自定义函数=(采样点中物理值大的值-(当前光标在系统坐标中的坐标值-较大的采样点在系统坐标系中的坐标值)/(两个采样点在系统坐标系中的坐标值的差的绝对值)/两个采样点的物理值差的绝对值)。
7.如权利要求2所述的利用计算机从图形中自动获取采样点工程参数值的方法,其特征在于,所述调整后的斜率=斜率*(用户坐标的轴圆点值在系统坐标中的x坐标值-当前光标在系统坐标中的x坐标值)+当前光标在系统坐标中的Y坐标值。
8.如权利要求2所述的利用计算机从图形中自动获取采样点工程参数值的方法,其特征在于,所述转换关系可以为斜率。
全文摘要
本发明提出一种利用计算机从图形中自动获取采样点工程参数值的方法,通过将对坐标系的转换和计算,获取图形中采样点的工程参数值,该方法包括以下步骤将待处理的图形或曲线引入计算机图形容器中,取得图形所在用户坐标系坐标原点在窗体中的位置;根据图形中各采样点在用户坐标系中的位置关系,逐个确定其在窗体中的相对位置;得到每个采样点在系统坐标系中彼此的相对关系,计算出两两相邻采样点的距离,并以此为系统坐标系与用户坐标系的坐标变换单位量;移动光标,生成跟随光标的数值,利用坐标变换单位量,取得各采样点对应工程参数数值。本发明可直观地从图形曲线中进行采样点工程参数取值,特别是对于经验图形,达到准确、有效的取值操作。
文档编号G06F17/50GK1797409SQ20041009411
公开日2006年7月5日 申请日期2004年12月30日 优先权日2004年12月30日
发明者李健忠, 李强, 张玉峰, 高伏 申请人:李强
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1