发明名称 基于图表控件的结构层析成像方法
摘要 本发明涉及基于图表控件的结构层析成像方法,可方便用于在可视化开发环境下混凝土层析成像,以解决现有结构层析成像价格昂贵,使用不便,成像效果差、质量不高的问题,方法是,首先利用微机和反距离加权插值算法对数据预处理,即对反演数据进行插值加密预处理,再进行控件设置,先在开发环境窗体上放置2个图表控件,构成窗体控件,利用图表控件和微机生成等值线图及云图,然后对数据载入,窗体控件设置和成像数据插值加密完成后,通过数据载入方法把数据分别传递给等值线类型曲线和云图类型曲线,实现数据载入和成像,再进行真实坐标标签及网格线绘值,本发明方法简单,易操作,应用效果好,成像效果清晰,定位准确,有效满足结构层析成像要求。
申请公布号 CN102879471B 申请公布日期 2014.08.20
申请号 CN201210354971.7 申请日期 2012.09.21
申请人 何鲜峰 发明人 何鲜峰
分类号 G01N29/06(2006.01)I;G01N29/44(2006.01)I 主分类号 G01N29/06(2006.01)I
代理机构 郑州天阳专利事务所(普通合伙) 41113 代理人 聂孟民
主权项 一种基于图表控件的结构层析成像方法,其特征在于,由以下步骤实现:(1)、数据预处理,首先利用微机和反距离加权插值算法对数据预处理,即对反演数据进行插值加密预处理,方法是:反距离加权插值算法是将插值函数F(x,y)定义为各数据点函数值f<sub>i</sub>的加权平均,即<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>F</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>f</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mi>w</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000509794290000011.GIF" wi="418" he="114" /></maths>    ①式中:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>w</mi><mi>i</mi></msub><mo>=</mo><mfrac><msup><mrow><mo>(</mo><mfrac><mn>1</mn><mrow><msub><mi>d</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow></mfrac><mo>)</mo></mrow><mi>&alpha;</mi></msup><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>(</mo><mfrac><mn>1</mn><mrow><msub><mi>d</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow></mfrac><mo>)</mo></mrow><mi>&alpha;</mi></msup></mrow></mfrac></mrow>]]></math><img file="FDA0000509794290000012.GIF" wi="355" he="272" /></maths>    ②w<sub>i</sub>为数据点i对插值点(x,y)的影响权重;α为权值下降指数,可取2~5;<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>d</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><msqrt><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>y</mi><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mrow>]]></math><img file="FDA0000509794290000013.GIF" wi="539" he="85" /></maths>    ③d<sub>i</sub>(x,y)为插值点(x,y)到插值加密点(x<sub>i</sub>,y<sub>i</sub>)的距离,x为插值点横向坐标,y为插值点纵向坐标;利用反距离加权插值算法对波速点进行加密时,设单元波速点对周围加密点的影响半径r取单元长宽的最大值,对插值点A插值时,以插值点A为圆心,半径为r的邻域内有a<sub>1</sub>、a<sub>2</sub>、a<sub>3</sub>、a<sub>4</sub>、a<sub>5</sub>、a<sub>6</sub>等6个已知点的波速值影响插值点A,利用式①~③得到插值点A的波速值,实现对检测剖面波速插值数据加密预处理;(2)、控件设置利用图表控件生成等值线图及云图,要先在开发环境窗体上放置2个图表控件,构成窗体控件,要在程序运行时动态生成等值线,则需在一个图表控件曲线添加模式下添加一条等值线类型曲线,要动态生成云图则要再其中一个图表控件上添加一条云图类型曲线,然后双击图表控件,在微机弹出的编辑器内选择坐标轴编辑页,并分别选择左坐标轴和底坐标轴,并把对应的坐标最小值和坐标最大值页面下自动属性前的选择框去掉勾选;(3)、数据载入窗体控件设置和成像数据插值加密完成后,通过数据载入方法把数据分别传递给等值线类型曲线和云图类型曲线,实现数据载入和成像,等值线或云图数据载入,方法是:数据载入包含三个参数,两个整型参数分别为数据点行、列数,一个可变参数为图标类型,传递目标控件,利用微机,按如下操作方法进行:数据载入过程开始;定义单元行列循环变量和波速转换变量;设置左坐标轴最大值=2×m;设置左坐标轴最小值=0;设置底坐标轴最大值=2×n;设置底坐标轴最小值=0;判断波速数组是否&gt;1,以免无数据操作失败;正对程序中添加的等值线类型曲线和云图类型曲线进行数据添加;数据添加块体开始;曲线数据清零;对数据点各行循环=0to2×m do;对数据点各列循环0to2×n do;双重循环循环体开始;数据点波速数据取整;向曲线添加波速;双重循环循环体结束;数据添加块体结束;图表控件刷新显示;数据载入过程结束;(4)、真实坐标标签及网格线绘值:采用上述运行程序后,虽然可以显示出等值线或云图,但此时的横坐标轴显示的是0到最大列数值n,纵坐标轴显示的是0到最大行数值m,与真实值不符,并且在图形上没有单元网格分化线,不利于精确确认图形位置,为此,需要增加真实坐标轴标签和网格线分划功能,用户对图表控件画板的操作需要在绘图后处理方法中实现,即在该方法中添加相关模块,坐标轴真实标签显示模块和网格线分划功能模块实现方法如下:a、绘制坐标轴标签方法该方法包含一个可变参数和两个整型参数,可变参数代表将被绘制标签的图标控件,整型参数代表单元总行数和总列数,整型参数有6个,分别代表循环变量、相对位置变量、绘图区左边界变量、绘图区右边界变量、绘图区上边界变量、绘图区下边界变量;过程开始得到绘图区水平左边界值;得到绘图区水平右边界值;得到绘图区竖向上边界值;得到绘图区竖向下边界值;设置画笔颜色;循环绘制横坐标各标签=0to n do循环体开始计算标签横坐标相对位置;画笔放置到标签线起点,起点纵坐标为绘图区竖向下边界值;画笔移动到标签线终点,终点纵坐标为绘图区竖向下边界值加3;每次循环在控件画板内输出文字内容为循环变量与单元宽度的乘积,输出位置的横坐标为标签相对位置减3,纵坐标为绘图区竖向下边界加7;如果循环变量等于总列数,输出位置的横坐标为标签相对位置减3,纵坐标为绘图区竖向下边界加7;循环体结束;循环绘制纵坐标各标签=0to m do循环体开始;计算标签纵坐标相对位置;画笔放置到标签线起点,起点横坐标为绘图区水平左边界值;画笔移动到标签线终点,终点横坐标为绘图区水平左边界值减3;每次循环在控件画板内输出文字内容为循环变量与单元高度的乘积,输出位置的横坐标为绘图区水平左边界减32,纵坐标为计算的标签相对位置减5;如果循环变量等于总行数,控件画板额外输出内容为“m”,输出位置的横坐标为绘图区水平左边界减27,纵坐标为计算的标签相对位置加5;循环体结束;过程结束;b、绘制单元网格分划线方法如下:该方法包含一个可变参数和两个整型参数,可变参数代表将被绘制标签的图标控件,整型参数代表单元总行数和总列数,整型参数有6个,分别代表循环变量、相对位置变量、绘图区左边界变量、绘图区右边界变量、绘图区上边界变量、绘图区下边界变量;过程开始;得到绘图区水平左边界;得到绘图区水平右边界;得到绘图区竖向上边界;得到绘图区竖向下边界;设置画笔颜色;设置画笔线型;绘制网格竖向分划线,对列循环变量i=1to n‑1do;循环体开始;计算网格竖向分划线横坐标值×i/n;在图表控件绘图板设置网格竖向分划线画笔起点位置,该点横坐标为上述计算得到的竖线横坐标值,纵坐标为绘图区竖向上边界值;在图表控件绘图板设置网格竖向分划线画笔终点位置,该点横坐标为计算得到的竖线横坐标值,纵坐标为绘图区竖向下边界值;循环体结束;绘制网格水平分划线,对行循环i=1to m‑1do;循环体开始;计算网格水平分划线纵坐标值×i/m;在图表控件绘图板设置网格水平分划线画笔起点位置,该点横坐标为绘图区水平左边界,纵坐标为上述计算得到的网格水平分划线纵坐标值;在图表控件绘图板设置网格水平分划线画笔终点位置,该点横坐标为计算得到的竖线横坐标值,纵坐标为绘图区竖向下边界值;循环体结束;过程结束;c、图表控件的绘图后处理方法中添加上述模块功能方式如下:绘图后处理方法实现过程;过程块体起始标志;绘制坐标轴标签;绘制单元网格线;块体过程结束(End),根据上述方法,实现混凝土结构层析成像与验证。
地址 450003 河南省郑州市顺河路45号