自动矢量

2024-09-28

自动矢量(通用6篇)

自动矢量 篇1

摘要:二维可视化是工程项目中常见问题,常用的做图软件很多,二维自动生成技术是一种重要的图形生成方法,本文以.net2008为平台,以dbf为数据文件格式,采用GDI+及SURFER组件底层调用两种方法分别实现二维图形的自动生成,以此为基础可以开发各种类似程序。

关键词:Surfer,二维矢量图,.NET2008

1 提出问题

在各种工程实践中,常需要大量成图,其中主要是二维图形。以Microsoft Visual Studio 2008为开发平台,编程读取图形数据库,分析运算,生成图形文件,实现二维自动成图,提高了工作效率与成图准确度。

编程任务举例:生成一种直方图,用以描述油田工区各小层的非均质性,根据已有数据,统计分析,小层非均质渗透率直方图。现有数据,一是工区各井的分层数据,二是各井的测井物性解释结果,其中包括渗透率。结果图件要自动生成,并图件格式为矢量格式。

编程任务:统计原始数据,并将统计结果以直方图的形式显示出来。

原始数据表主要字段:井名、小层名、小层顶深、小层底深、变异系数、级差、突进系数、均质系数、均值。目标是以每参数每层成一张图,过程是先将原始数据读入内存数组中,首先根据下列标准进行统计。

结果图形举例如下:某层变异系数的分布直方图。

完成这个编程任务,尝试了以下两种方法,一是GDI+方法,二是Surfer组件调用法。

2 数据文件读取

无论用哪种方法生成图形,首先要解决的是如何把原始数据从硬盘上读出来,这里采用的数据存取策略是:定义数组,如string[,]byxs=new string[3000,9];以存放从硬盘中读来的数据,然后对数组中的数据进行分析,分析结果存在内存变量中,原始数据有可能是不同的格式,建议最好预处理一下,将原始数据转换成一种相对规范的格式,以便后续的编程工作。

若用Dbf格式的数据表存放数据,读取数据的关键代码如下:

3 GDI+方法

GDI+绘图技术中,默认的坐标系统的原点是在左上角,X轴指向右边,Y轴指向下边,因此,GDI+默认的坐标系统与我们数学中的坐标系统并不一样,想要在GDI+中使用新的坐标系统,则需要在默认坐标的基础上进行坐标的变换,例如旋转、平移等。

4 调用Surfer组件

要使用surfer组件,你的机器应当安装好Surfer8.0,然后应当向工程添对Surfer的组件引用,这一操作过程是:单击菜单项Project里的Add Reference,在随后出现的设置窗口里,到com选项卡中寻找surfer的组件列项,并选中添加到本工程里。

(1)运行surfer进程

(2)完成初始化

(4)保存图形到硬盘

值得一提的是surfer的图形充填比较方便,若要给图形充填斜线,用如下一个语句即可:df.DefaultFill.Pattern="斜线",当然如果选用别的充填方案,只需将斜线换成要充填的方案名称即可,充填的方案名称可在Surfer软件运行状态下查到。

如果是批量图形生成频繁调用surfer,担心每次surfer实例不能完全退出,可用以下语句:

这样可以彻底清掉正在运行的每个surfer进程。

上文展示的是一种编程思路,具体实现需要补充代码,主要的编程思想及实现方法已经给出,以此为基础可以编写出各种二维成图程序。

参考文献

[1]王炜.C#对通用组件的编程.电脑编程技巧与维护(2005合订本).

[2]王炜.C#数据访问Excel接口模块设计.现代计算机,2007,8;95.

自动矢量 篇2

CORELDROW矢量美女

请使用CD11或12打开,其他版本没有测试。

效果图:

★ 《方向》

★ 射流推力矢量控制技术研究

★ Illustrator绘制精致矢量风格记事簿

★ 《方向》说课稿

★ 整改方向

★ 方向造句

★ 逆风的方向更适合飞翔励志散文

★ 测绘学就业方向

★ 关于方向作文六年级

自动矢量 篇3

关键词:量子电路,点阵图,量子门,TFC文件,Visio二次开发,真值表

量子逻辑门的组合与级联是组成量子计算机的基本元素,科研人员做了大量的工作来研究构造代价最小的量子电路[1-3]。但是量子电路的绘制一直是一项繁琐的工作,如果动手绘制,工作效率低下;如果使用现有的绘图工具,只能得到清晰度不高的点阵图,不能够满足科研人员撰写论文的需要。

Microsoft Office Visio[4]是一款功能强大的矢量图绘图与建模工具。它能够提供多样的模板和形状,使用户能以拖拽的方式绘制流程图和类图等图形。Visio绘制出来的图也可以直接进行拖拽修改,而且清晰度高、图像质量好,能满足各期刊发表论文的要求。由于Visio提供了编程接口,因此我们可以使用C#编程语言调用这些接口对Visio进行二次开发[5],将复杂的绘图工作交给计算机自动实现。

1 基本概念

1.1 量子电路可逆逻辑综合

量子电路可逆逻辑综合,主要是研究在给定量子门及给定量子电路的约束条件及限制下,生成代价最小的量子可逆逻辑电路,以及它的可逆逻辑综合理论和电路生成方法。它包含合成和优化两个方面,现在很多方法是将合成与优化这两个过程同时进行,在不改变可逆电路函数功能的条件下,对电路进行重组、替换,来减少电路逻辑门数量,从而降低量子可逆电路的代价。当然,如果使用不同的实现技术,通常量子可逆门的代价是不相同的。为此人们提出了若干可逆逻辑电路综合的算法,如穷举法[6-8]、基于代数的方法、基于模板的方法、基于真值表的方法等。这些方法各有优缺点,但不管专家们用何方法生成了最优量子电路,最终需要将生成的量子电路图绘制出来,方便检查、核对、展现。本文则根据专家们生成的最优量子电路的TFC文件,完成量子电路图的绘图功能。

1.2 量子逻辑门

在经典计算机中,二进制信息以比特(bit)形式存储,物理上可以是在晶体管电子电路中的电压信号;数学上可以是布尔值或者变量。但在量子计算领域中,这样的二进制信息均以量子状态形式存储,比如光子的偏振和围绕单个原子核电子的两种状态(基态/激发态)或者均匀电磁场中的电子/原子核的自旋(向上/向下)等。不同于经典比特,量子比特能够以其经典比特的叠加态的形式存在。量子门的操作可以用代表量子门的矩阵与代表量子比特状态的向量相乘来表示。

量子逻辑门是处理量子信息的基本单元,其级联构成可逆的量子电路。量子计算中,一个量子逻辑门对应一个幺正变换。量子门常使用矩阵表示,例如操作K个量子比特门可以表示成2k * 2k的酉矩阵[9]。一个量子电路的输入与输出数量必须相等。根据量子输入输出的个数,逻辑门可分为单量子比特门[10]与多量子比特门。

1)非门(NOT门)

如图1所示。非门为单量子门,即一个输入与一个输出。输入的a经过非门之后则输出a的相反状态。

此类单量子门很多,如:Hadamard门、Pauli-X门、Pauli-Y门等都是单量子门。多比特量子系统则是单比特系统的推广,量子力学的基本原理指出单独的状态向量可以通过张量积形式和其他状态向量结合起来。

2)控制V门

控制V门如图2所示,两个输入与两个输出则为2比特量子门。a为控制端,b为受控端。当控制信号a=0时,则b的输出不变,即Q=b。当控制信号a=1时,则输出为,是b的幺正操作,即Q=V(b)。

3)量子异或门

即控制非门(CNOT门),它和经典异或门非常类似。如图3所示,它有2个输入比特,a表示控制比特,b表示受控条件反转比特。当控制比特等于1,即在上能级时,受控比特状态发生反转,否则保持不变。

4)Toffoli量子门

Toffoli是CNOT门的受控行为的推广,是一个具有两个控制量子比特、一个目标量子比特的常用量子门。不同于CNOT门,Toffoli门目标量子比特只有在两个控制量子比特都置为“1”时才翻转,即实现变换A,B; C→A,B; AB⊕C。如图4所示。

5)控制交换门

如图5所示,即Fredkin门。当C’=0时,a与b的输出保持不变,当C’=1时,a与b的值交换。

2 Visio编程接口的各种函数的功能与调用方法

为了实现软件的画图功能,需要引用各类命名空间来配置系统。其中一些特殊的命名空间所包含的功能对实现程序功能起着重要作用。

程序需要用到Visio命名空间,在这个命名空间里包含了所有画图所需要的方法。比如Draw Oval方法,这个方法可以画出一个圆,一共四个参数,前面两个参数为坐标,后面两个参数为高度和宽度。除此之外,我们还用到了其他的方法让程序更适合用户使用。

在使用Visio的时候,如果打开了Visio软件窗口,在自动完成绘图的情况下,窗口难免显得多余,所以调用了Invisible Ap-p Class方法,创建一个不可见的应用程序,也就是在不打开Vi-sio窗口的情况下打开Visio软件,并控制程序的环境。让画图过程在后台完成,保证了程序界面的简洁。

在程序中,使用了Document方法[11-12]。Document表示一个绘图、模具或模板文件。在打开Visio文档或创建新文档时,都会创建一个新的Document对象,并将其添加到Application对象的Documents集合中。在绘制图像的时候,使用Page对象表示前景或背景的绘图区域,也就是当前绘制电路图的绘图区域。利用Shape创建一个图形对象,这个对象可以接收画出的线条或者图形,并通过调用相应方法对这个对象进行一定的调整。然后再利用Draw Oval、Draw Rect等方法画出需要的图形。在图像中所需 要的文字 信息的字 体和大小 ,分别用voidset_Char Props和Cell get_Cells SRC方法来设置。

3 量子电路描述的TFC文件格式

TFC文件是一种包含量子电路信息的文件。它为量子电路提供了一种统一的、格式化的文件存储方式,方便我们快速地读取、识别并画出量子电路图。

TFC文件主要可以分为两个部分。第一部分为前四行,主要描述了电路的基本信息。第一行.v给出所绘制的电路图的行数;第二行.i给出输入端(即Input);第三行.o给出输出端(即Output);第四行.c给出剩余电路的标号。第二部分在BEGIN和END之间为需要绘制的量子逻辑门,量子逻辑门的每一行先给出所要画的门的种类,再给出其控制端和受控端信号。

如图6所示为TFC文件内容格式,第一行.v包含a,b,c,d,表示这个电路一共有a,b,c,d四行;第二行.i包含a,b,c,表示信号由a,b,c这三个端口输入;第三行.o包含d,表示信号由d端输出;剩余的电路信息则为0。紧接着BEGIN和END之间则是画出完整电路图的内容格式。下一节具体介绍门电路的绘制。

4 系统实现

4.1 TFC文件的算法

程序在识别TFC文件时,以行为单位进行逐行读取。当读完TFC文件的第一部分时绘制出电路的基本框架,当读到BE-GIN时则开始正式画门及电路。以行为单位,每一行的开头如T1,f3,V,p3等均表示量子门的门类型,程序通过量子门名称的匹配判断分别调用相应电子门绘制函数,其后的端口信息则作为参数传递给所调用的绘制函数,画出相应的门电路。

本软件所能识别的量子逻辑门种类包括T门、F门、H门、V门、V+门、P3门、S门、T门以及T+门。T类门可识别T1~T21这21种门,对应的端口个数分别为1~21。F类门可识别F2,F3,F4,F5四种门,对应的端口个数分别2个,3个,4个和5个。H门、S门、T门、T+门对应的端口个数均为1个。V门、V+门的端口个数为2个。P3门端口个数为3个。

4.2 调用Visio接口函数绘制电路图的算法

同一类型的量子门为一个类(如所有以通用Toffoli门的形式画出的量子门为一个类),在类里面实现一个量子门的绘制。在正式介绍各类门画法之前要设置绘制量子门时的参数变量,如控制点半径,受控点半径,行间距,门间距,换行基数,这些变量都可以自行设置来调整电路图的美观。

程序在匹配并调用相应的量子门绘制函数后,若控制端和受控端的个数与已匹配的量子门所应有的个数不符,则出错。上述TFC文件将如何调用量子门函数:首先,程序识别到.v a b c d时,确定整个电路的行数,接着确定电路的输入与输出标识并画出,如图7的a,b,c等;再判断BEGIN后面一共几个函数(即一共几个门),用门数确定整个电路横线的长度并画出;接着依次调用门函数画出量子电路门。得到的量子电路图如图7所示。接下来介绍程序如何依次调用门函数画出所需的量子电路图。

1)通用Toffoli门

绘图过程中,若将绘制的门在电路图中为第一个门(如图7第一个门)则规定它在纵向上为第一个位置,横向由控制端与受控端决定。

当通用Toffoli类门只含一个参数时,如T1(a),则被认定为受控端,即一个非门。

如图7中,第一个门调用函数为T2(b,d),即控制非门。在图中,b点为控制点,d点为受控点。通用Toffoli类规定最后一个参数对应的是受控制端,其他均为控制端。

图7中,第二个门调用函数为T3 (a’,c,b),此通用Toffoli门为电路的第二个门,从开始位置将纵轴将向后移一个门的位置开始绘制。前面两个参数a’, c对应的是控制端,其中a’表示一个空心圆的控制端,即表示非,c用实心圆表示(注:此文章中所有带单引号的参数都表示空心圆);b则对应受控制端,受控制端则用一个带“十”字的圆来表示。然后比较三个参数的大小,确定一个最大值和一个最小值,此处最小值为a’,最大值为c。在a’和c所代表的两条水平线上画一条竖线,从而形成一个Toffoli量子门。当参数变多时,绘图的过程也是如此。

由上述可知,带三个参数的Toffoli量子门相应的函数见算法1:

2)Fredkin门

如图7所示,Fredkin门为电路的第三个门,从开始位置将纵轴将向后移二个门的位置开始绘Fredkin门。Fredkin门至少有三个参数。当Fredkin门有三个参数或多个参数时,最后两个参数均为受控制端,前面剩余的参数作为控制端,可有多个控制端。此时受控制端用一个“X”形表示。

图7中,第三个门调用函数为f3(b,c,d),此时控制端为b,受控端为c和d。然后比较三个参数的大小,同理通用Toffoli门。从而画出一个Fredkin门。当参数变多时,绘图的过程也是如此。三个参数的Fredkin门相应的函数见算法2。

3)控制V门

如图7,控制V门为电路的第四个门,从开始位置将纵轴将向后移三个门的位置开始绘V门。V门只有两个参数,第一个参数代表控制端,第二个参数代表受控制端,受控端用带“V”的矩形框表示。控制V+量子门同样只有两个参数,与控制V门不同的是,用带“V+”的矩形框表示受控制端。

图7中,第四个门调用函数为v(b,a),此时b表示控制端,a表示受控端。然后比较两个参数的大小,同理通用Toffoli门,则画出一个控制V门。对应的函数见算法3:

5 真值表生成算法

因为可逆逻辑量子电路的操作是为了得到特定的信号,所以真值表的计算可以验证这个电路是否已经达到事先设置的要求。关于生成真值表,只阐述通用Toffoli类门生成真值表。本软件对其他类型门的生成真值表暂时不支持。

量子电路的传输信号可以分为两类:0和1。通用Toffoli类门的传输信号由控制端和受控制端提供。所以求真值表的过程,实际上就是对数字信号进行组合,直到输出符合的信号为止。

控制端可分为实心圆和空心圆,空心圆表示若接受的控制信号为“1”,则将控制信号转换为“0”;若接收的控制信号为“0”,则将控制信号转换为“1”。实心圆表示接受的控制信号为“1”,控制信号就为“1”;接收的控制信号为“0”,控制信号就为“0”。在计算真值表的时候,输入端输入的信号种类按照2n来计算,即如果输入端有2个输入信号,则输入的信号有22=4种,以此类推。

图7所示电路中第一个门,控制端是实心圆,所以当b接收的控制信号为“1”时,则d信号输出翻转。当b接收的信号为“0”时,d信号输出则不变。图7电路中第一个门的真值表为表1所示。

如果出现空心的控制端和实心的控制端同时出现的情况,则受控端的信号同时受两种控制端控制。受控制端信号置反的条件是:实心控制端接收“1”信号,空心控制端接收“0”信号,即为两种控制端分别接受相匹配的信号。如图7中第二个门的真值表如表2所示。

程序中,得到2n个信号种类之后,将0到2n依次转化为2进制,再将2进制信号与控制端激发信号匹配,如果所有控制端的信号都能够匹配,则改变受控制端的信号。如果不能完全匹配,则不改变信号。

6 结束语

自动矢量 篇4

关键词:Visual Basic,PNA系列矢量网络分析仪,自动检定系统

矢量网络分析仪是测量高频元件和器件性能的最重要工具之一, 可测量微波元器件的幅度特性、相位特性和群时延特性, 还可利用时域功能来判断阻抗失配 (电路故障) 的具体位置。作为大型综合参数测试系统用于各种射频元器件、部件、整机的测试。

PNA系列矢量网络分析仪是安捷伦公司推出的最先进矢量网络分析仪, 不仅能提供卓越的性能和精度, 还针对超越与网络分析仪相关的传统散射参数的各种测量进行配置。因此广泛应用于研发和测试中, 但是由于PNA系列矢网覆盖的频率范围宽、检定指标多、测试数据量大, 传统的手动检定使得检定时间长, 工作量大, 给日常的周期检定工作带来了不便。本文针对以上问题采用Visual Basic平台开发了基于Visual Basic的PNA系列矢量网络分析仪自动检定系统, 可以在短时间内完成PNA系列矢量网络分析仪的自动检定, 提高了检定效率。

1 系统组成

PNA系列矢量网络分析仪的自动检定系统是由计算机、GPIB-USB接口卡、GPIB电缆、具有GPIB接口的测量仪器和其他检定需要的标准设备在自编软件控制下完成。

1.1 硬件组成。

根据GJB/J3608-99自动网络分析仪检定规程和PNA系列矢量网络分析仪技术指标说明书的要求, 确定检定所需的硬件来配置自动检定系统。硬件是由计算机、GPIB-USB接口卡、GPIB电缆、具有GPIB接口的测量仪器和其他检定需要的标准设备组成, 如图1所示。

功率计用于源输出功率准确度的检定;微波频率计用于源输出频率准确度的检定;频谱分析仪用于源输出频谱纯度 (谐波) 的检定;矢网校准件与测试电缆用于接收机动态范围和平均噪声电平的检定;通过对检验件进行测量来检定矢网的整机性能, 矢网检验件 (如3.5mm的3666、2.4mm的85057B) 中的标准衰减器用于矢网S21和S12对数幅度的检定, 25欧、50欧空气线用于矢网S21和S12相位和线性幅度的检定;标准失配器 (如8033等) 用于测试失配器的检定。

1.2 软件组成。

PNA系列矢量网络分析仪的自动检定系统软件部分是基于Visual Basic平台开发的。所使用的软件为Visual Basic 6.0。Visual Basic 6.0是Microsoft公司推出的一个可视化、面向对象且基于事件驱动的集成开发环境, 用户可以通过使用它高效快捷地创建各种Windows应用程序。其继承了Basic语言简单易学的优点, 采用了事件驱动的编程机制, 是易学实用、功能强大的Windows应用程序开发工具。

2 软件设计

测试软件采用结构化设计, 界面简洁, 主要功能模块包括仪器设置、执行测试项、数据保存。

软件基本任务流程如图2所示。

PNA系列矢量网络分析仪自动检定系统是基于Visual Basic平台的, 通过计算机、GPIB-USB接口卡、GPIB电缆、具有GPIB接口的测量仪器采集数据实现的, 具体测试过程如下。

2.1 程序开始。

用GPIB电缆将检定所需仪器设备与计算机相连, 打开测试软件进入PNA系列矢量网络分析仪自动检定系统软件测试界面开始进行测试。

2.2 设备检测。

进入“设置”-“仪表设置”。点击地址查询, 通过与计算机相连的GPIB卡可以检测到所连仪器信息, 根据信息设置各仪器GPIB地址。由于使用不同的频谱分析仪其指令会不同, 故还需选择所连接的频谱仪型号, 实现不同型号频谱仪指令的切换。

2.3 选择任务。

。进入“设置”-“矢网型号选择”。由于PNA系列矢量网络分析仪型号多种, 型号不同会导致频段范围、检定项目、技术指标不同, 故要对被检矢量网络分析仪的型号进行选择。通过选择被检矢网型号来确定所要执行的检定项目。

2.4 任务执行

“矢网型号选择”完成后“执行测试项”菜单激活。点击检定项目后按照弹出对话框的提示要求完成仪器设备间的连接, 然后开始各个检定项目的测试。软件内部通过调用各仪器的程控指令开始测试并完成读写任务。

2.5 数据保存。

单项或多项检定项目测试完成后均可以进入“文件”-“保存测试数据”进行数据保存。

2.6 生成报表。

数据保存后将数据复制粘贴至记录和证书模板内自动生成excel文件, 打印即可。

3 关键技术

PNA系列矢量网络分析仪自动检定系统在研制和调试中解决了多型号、多参数、测量结果误差修正的难题。

3.1 多型号兼容技术。

由于仪器的型号不同会导致仪器控制SCPI命令不同, 本系统建立了程控仪器指令库来统一控制不同型号的仪器。可通过选择仪器型号来选择对应的仪器指令, 实现多型号仪器的兼容。

3.2 多参数技术。

不同型号的矢量网络分析仪其工作的频段范围、技术指标、检定所需项目会不同, 本系统建立了参数数据库, 在测试过程中通过调用不同型号矢量网络分析仪的参数数据库来实现不同参数要求的检定。

3.3 测量结果误差修正技术。

本系统在自动采集数据时采用测试三次数据进行平均, 以此达到剔除异常数据, 再将所得测试结果与其技术指标对比判断是否超差。

结束语

PNA系列矢量网络分析仪自动检定系统是一个能兼容多型号的矢量网络分析仪检定平台。系统的开发和实现保证了测试结果的准确性, 提高了日常的检定校准工作效率, 提升了自动检定系统软件开发能力, 也提高了计量站服务能力。该系统已应用到日常计量检定工作中, 取得很好效果。在其他矢网自动测试方面具有借鉴意义。

参考文献

[1]王志田.无线电电子学计量[M].北京:原子能出版社, 2002:186-193.

[2]Agilent公司.PNA系列性能指标说明书[Z].

[3]Agilent公司.PNA系列使用说明书[Z].

[4]中国人民解放军总装备部.GJB/J 3608-99自动网络分析仪检定规程[M].

[5]周荣晖, 刘金琨, 李家铃, 等.基于GPIB总线的CMS50综测仪检定系统[J].电子测量技术, 2006, 29 (2) :150-152

[6]盛永鑫.PNA矢网在DBF接收机测试中应用[J].电子测量与仪器学报, 2009 (S1) :372-375.

[7]马春雷.基于GPIB接口的示波器自动检定系统[J].国外电子测量技术, 2007, 26 (8) :31-32

[8]陶成忠.基于GPIB总线的信号发生器自动检定系统[J].国外电子测量技术, 2007, 26 (6) :65-67.

[9]吴伟.矢量网络分析仪的数据格式与数据外部处理[J].国外电子测量技术, 2002 (2) :25-51.

自动矢量 篇5

由于目前缺少集等值线生成、图元加载、编辑于一体的专业地质绘图软件, 在图元复杂 (构造破碎、井别多样) 的区块, 如何进行标准矢量化地质图件的精确、高效编绘一直是困扰地质技术人员的难题。

1 CoredrawX4与其它专业绘图软件主要功能对比

目前常用的专业地质绘图软件主要有Zmapplus (Zycor) 、Surfer、Coredraw、Mapgis等, 其中前两者以等值线绘图为主, 后两者以辅助加工编图为主。其主要功能对比如表1所示。

通过对比可以看出, CoredrawX4软件虽然不具备等值线生成, 但其具备“矢量化图形导入”功能, 从而解决了等值线矢量化的问题。在图层管理、综合编辑处理功能方面, CoredrawX4与其它专业地质绘图软件中相比都是佼佼者。例如在图层管理方面, 可随时添加、开启、关闭任一图层, 可进行跨图层编辑处理, 可随时以多种图形格式输出任一图层;在图元离散编辑方面, 可实现对任意图元的编辑及重新定位, 应用该功能可解决井名标注的重迭问题, 而Zycor、Surfer软件都无不具备这一功能。在等值线矢量化方面, Coredraw可通过导入cgm格式或wmf (emf) 格式实现即时自动矢量化, 而MapGis则需重新进行手工-半自动矢量化, 进程较慢, 且操作过程中容易造成等值线的变形、漂移, 降低了地质图件的准确度。在二次程序开发方面, CoredrawX4提供了强大的Vba编程功能, 可实现对点、线、面图元的矢量化加载、定位, 极大提高了图件编绘的精度和效率。

2 CoredrawX4中矢量化等值线底图的制作

(1) 等值线图形的生成。

因CoredrawX4不具备等值线生成功能, 故等值线图形的原始制作需依靠其它专业地质绘图完成。利用专业等值线绘图软件 (Zmap或surfer等) 对层位数据体进行网格处理和断层挖空处理, 在绘图范围内形成生成等值线图形, 显示内容包括等值线、等值线标注、断层线、绘图区边框。为方便后期的图层管理, 建议图形输出时将等值线、断层线生成单独的图形, 且保证生成的图形都含有绘图边框。矢量化等值线图形输出时应记录图幅的尺寸和比例尺, 若后期处理时遇到原始图件显示失真可进行精确恢复。

(2) 等值线图形的导入及矢量化。

打开CoredrawX4软件后, 新建页面, 即可将前期生成的矢量化等值线图形导入到图层中。若导入的是cgm格式的图形, 软件将自动新建以“PICTURE”为名的图层并将相关图元放至其中, 在导入的同时已实现对等值线的自动矢量化;若导入的是wmf (emf) 格式的图形, 软件将直接将其放至当前图层中, 显示的名称与导入的文件名称相同, 此时选中导入的对象, 按鼠标右键选中“取消群组”选项即可实现等值线的自动矢量化。应注意的是, 图形导入以后, 需检查新产生的图形与原始图形的尺寸是否一致, 若出现偏差, 应立即修改, 以保证导入的图形准确无误, 并为后期图元的加载及编辑奠定可靠的基础。

等值线图形导入以后, 可通过图层操作进行图层命名, 如命名为“等值线”图层, 此图层将作为后期图元加载、编辑的底图。

3 Vba程序开发及自动矢量化图元加载

(1) Vba中图元自动加载的基本方法。

Vba (Visual Basic for Applications) 是Windows操作平台中许多软件, 如Office办公系统、Coredraw等内嵌的标准宏语言, 它提供了面向对象的程序设计方法和完整的程序设计语言, 用户可通过Vba轻松录制软件操作过程中发生的事件, 形成简单的操作模块。对录制的模块进行操作方法研究, 寻找程序语言触发的关键语句, 做针对性修改后即可实现原手工操作的自动化。

CoredrawX4中, 可通过Vba语言自动加载的图元有以下几个。

(1) 点。可通过ActiveLayer.Create Ellipse2方法实现, 用于单一井圈的加载。方法如下。

Set s1=ActiveLayer.CreateEllipse2 (x, y, well_size/25.4)

Set OrigSelection=ActiveSelection Range

ActiveSelection.ObjectData (“名称”) .Value=well_name

其中, x和y为根据大地坐标与CoredrawX4中页面坐标关系换算以后的页面坐标, 以mm (毫米) 为单位;well_size为井圈半径的大小, 以mm单位;well_name为井名。

大地坐标与页面坐标的换算方法如下。

x= (column_x-x0) *1000/scale_value/25.4+page_x0/25.4

y= (column_y-y0) *1000/scale_value/25.4+page_y0/25.4

其中, x和y为换算后某井的页面坐标;column_x和column_y为该井的大地坐标;x0和y0为参考点的大地坐标;scale_value为绘图的比例尺, 以m为单位 (如1∶10000的比例尺, 则scale_value=10000) ;page_x0和page_y0为参考点的页面坐标, 以mm单位。

(2) 直线。可通过ActiveLayer.CreateLine Segment方法实现, 用于测网及坐标网格加载。方法如下。

Set s2=ActiveLayer.CreateLineSegme nt (x1, y1, x2, y2)

s2.ObjectData (“名称”) .Value=Line_nam e

其中x1、y1分别为直线起始点对应的页面纵、横坐标;x2、y2分别为直线终点对应的页面纵、横坐标;Line_name为直线的名称。

(3) 多点线。可通过ActiveDocument.CreateCurve方法实现, 用于不规则线, 如断层线或含油面积边线的加载。方法如下。

Set crv=ActiveDocument.CreateCurve

With crv.CreateSubPath (x0, y0)

For i=2 to point_numbers step 1

.AppendLineSegment x (i) , y (i)

Next i

End With

Dim s4 As Shape

Set s4=ActiveLayer.CreateCurve (crv)

s4.Outline.SetProperties 0.12, OutlineStyles (0) , CreateRGBColor (0, 255, 255)

其中point_numbers为构成线的总点数, x (i) 和y (i) 分别为第i点的页面纵、横坐标。此处省略从线文件中统计点数目和读取点坐标的过程。

(4) 标注。可通过ActiveLayer.CreateAr tisticText方法实现。用于井名、测线号或大地坐标标注的加载。方法如下:

其中x、y为标注的页面坐标, mark_name为标注名称, font_size为标注大小。

(5) 面。可通过ActiveLayer.Create Rectangle方法实现, 用于绘图边框、比例尺的加载。方法如下。

Set s5=ActiveLayer.CreateRectangle (left_x, top_y, right_x, bottom_y)

其中left_x, top_y, right_x, bottom_y分别为矩形的左、顶、右、底界的页面坐标。

(2) Vba模块集成及图元矢量化加载。

在熟悉Vba程序语言的特性后, 用户可通过多个模块的开发, 形成独立的操作界面, 从而实现任意地区的、不同类型图元的矢量化批量加载。针对自动矢量化地质制图, 可形成“井位加载”、“测网加载”、“多点线”加载等模块。井位加载的运行界面如图1。

“井位加载”模块包括的功能有:绘图范围界定, 井位坐标文件读取, 参考点坐标初始化, 页面坐标换算, 创建新图层, 井别分类显示, 标注、图框、比例尺生成等。

其它模块的设计理念及实现方法与“井位加载”模块类似, 在此不再详述。

需注意的是, 当某一区块的断层较多时, 若在Coredraw的图层页面中对所有断层进行逐一剪断, 然后区分断层的上盘和下盘, 过程十分繁琐。解决办法是利用Vba编程对断层线进行处理, 通过断层线拐点处夹角补角的变化来判断是否将断层线剪断。其原理如图2。

图2中A、B、C三点为从断层线数据文件中顺序读取的三个点, 其中B点为拐点。在单一断层模式中, 过B点后C点的路径发生大幅度改变, ∠CBA的补角钝角, ;在复合图层模式中, 过B点后C点的路径虽有改变, 但幅度较小, ∠CBA的补角为锐角。经过对多种复合断层数据的测试, 当∠C B A的补角≥20°时, 可寻找到所有断层的末端点以及分支断层的交界点。在Vba程序中加入对∠CBA的补角大小的判断, 即可实现对断层线的分段加载, 从而解决后期断层处理时的麻烦。

在Vba中运行定制的模块, 即可实现对指定图元的批量加载, 并可通过CoredrawX4的图形页面浏览功能检查图元显示的效果。因自动加载的图元均为矢量化图元, 故可通过对象管理器实现对特定图元的进一步编辑、处理, 以达到满意的效果。

(3) 图件后期加工及输出。

按照工业化制图标准检查相关图层及图元, 保证编制的矢量化地质图中囊括需要的全部图层。对图件名称、编绘人员信息等从版面布局的角度进行完善美化, 最终形成一张精美的符合工业化制图标准的地质图。CoredrawX4提供了强大的图形输出功能, 即可通过绘图仪实现等比例打印、缩放打印或分幅打印, 又可导出形成BMP、Wmf (emf) 、Pdf等多类型的图形格式, 为后期的地质研究及汇报提供了方便。

4 结语

CoredrawX4强大的图层管理及综合编辑处理功能为地质图件的精确加工提供了平台;其Vba开发功能让地质技术人员找到了编写实用程序的钥匙, 解决了图元自动矢量化加载的难题, 大大提高了地质制图的科技含量和工作效率。

摘要:探讨了利用CoredrawX4软件进行全矢量化地质编图的新方法。利用CoredrawX4的导入功能可实现等值线底图的矢量化;通过Vba程序开发, 可实现对多类型图元的自动加载和编辑, 解决了单一等值线制图软件中图元加载复杂、无法编辑的难题。

关键词:CoredrawX4软件,自动矢量,地质

参考文献

[1]张天纯, 张晓强, 张健.基于CoredrawX4及其VBA的专题地图集编制研究[J].城市勘测, 2010 (6) .

[2]梁建国, 徐占华, 颜宇.CorelDraw VBA在地图制图中的应用[J].测绘科学, 2009 (34) .

自动矢量 篇6

纬地道路CAD软件是一款专门用于公路、城市道路及立体交叉匝道设计的在AutoCAD平台上开发的综合性软件,具有数据采集、路线设计、绘图(AutoCAD )、制表(Excel)等一系列的实用功能,能够较好地适应现阶段国内各种道路及复杂立体交叉的设计需求。特别是该软件的数模功能推出后,更加完善了其应用功能。该软件既可以针对现场定测的公路设计项目进行后处理,完成内业设计的全部工作,也可以直接在电脑屏幕上进行选线、定线操作,实时采集平纵横设计数据,完成平纵横设计,真正意义上实现了公路路线设计的内外业一体化设计。

1 公路纸上定线在电脑上实现的原理与方法

公路纸上定线是公路设计的重要技术,利用纬地软件可以在电脑桌面上完成以往设计人员必须在图纸上进行的设计工作,大大提高设计效率和精度,并可有效提高设计方案的合理性,由于它可以使多方案选择变得简单易行。这种方法可称为电脑桌面定线法。

1.1电脑桌面定线法的工作原理

常规纸上定线工作是在大比例尺地形图是进行的,但电脑并不能识别纸质地形图。可用扫描设备把纸质地形图扫描成照片格式文件,并通过AutoCAD软件转化成电脑识别的电子地形图,这项技术被称为地形图矢量化。当然地形图矢量化也是一项较繁琐的工作。当前国内外有多种成熟的地形图矢量化专门软件,可以方便快捷地完成从扫描地形图转化成AutoCAD识别的矢量化电子地形图的工作,为电脑上进行纸上定线提供了基础保障。

当制作完成矢量化地形图后,就可以应用纬地软件进行电脑桌面的纸上定线工作。基本操作原理是,用AutoCAD打开矢量地形图,利用纬地软件的实时设计功能直接在地形图上初定路线,并自动采集平面设计数据,然后进行平面设计,计算逐桩坐标。利用纬地的数模功能,构建数字地面模型DTM,按逐桩坐标自动采集地面高程,供路线纵断面设计使用。计算中桩横断面方向每隔一定间隔的点位的坐标,据此自动采集地面高程,生成横断面地面线数据,供路线横断面设计使用。纬地软件的数模功能能够完成纵、横断面的地面高程的自动采集,相当于完成了手工进行纸上定线的等高线内插工作。平纵横设计所需的原始资料均是由软件自动采集并记录下来,速度快、精度高。在此基础上可以完成平纵横的设计任务,并输出设计图表。设计者可以通过分析设计结果,发现初定线路存在的不足之处,使用该软件的实时修改功能,调整平面线形。再进行纵、横断面地面高程的采集,重新进行纵、横断面设计,继续审查设计结果。这样经过几次反复修改与计算,一定会最终定出一条技术合理、工程经济的路线方案,完成路线纸上定线的全部任务。

1.2数字地面模型DTM构建方法

数字地面模型DTM是对自然地面的数学模拟过程,即用地形表面的按一定精度进行观测的大量采样点三维坐标表达地形表面。目前常用的数字地面模型主要有三角网数字地面模型、离散点数字地面模型、方格网数字地面模型等三种。纬地软件采用的就是三角网数模。三角网数模的基本原理是假定地形由已知点不重叠地覆盖在拟建数模区域上,将地表面看成是由这些点构成的互不交叉、互不重复的连续的小三角形平面所组成的折面覆盖起来的,即用许多平面三角形逼近地形表面。当这些已知点较密且分布适当时,就可以很精确地表示地形表面特征。当使用矢量化地形图作为构网基础数据时,三角网的三个顶点将由分布在两条相邻等高线上的三个控制点构成,形成以等高线为约束线的小三角网,如图1所示。该网的特点是网距小,网形接近等腰三角形,插值精度有保证。

1.3地面高程的计算原理

构建数模DTM的主要目的是为计算查询网内任意点的高程。当采用三角网数模进行高程查询时,首先要确定待查点的平面坐标(x,y),利用该坐标找到其在数模中的位置(如图1中的十字花),以该点为圆心搜索最靠近的包含该点的三角形,并以此三角形构成的平面代表实际地表面,然后计算出待查点的高程。

在已知地形点为顶点组成的三角形格网中,首先使用这三个已知点的坐标(xi,yi)确定一个平面,该平面的函数形式为

Ζ=a0+a1x+a2y.

参数a0,a1,a2可以根据三个已知参考点计算求得。解算出这三个参数就可以求得高程Z值。参数可按下式进行计算

[a0a1a2]=[1x1y11x2y21x3y3]-1[z1z2z3].

2 纬地道路CAD软件进行电脑桌面定线的操作流程

2.1新建项目

任何一个新设计项目的开始,必须从新建项目出发。执行菜单“项目—新建项目”,显示对话窗体。

1)输入“新建项目名称”,如“Test_2012”。

2)通过“浏览”指定项目路径及项目文件名称,宜新建文件夹,单独存放本项目全部数据文件及成果文件,如“D:Test_2012Test_2012.Prj”。

2.2数模DTM创建

1)执行菜单“数模—数模组管理”,显示对话窗体。点击“新建数模”按钮后,关闭窗体。

2)导入矢量化地形图。执行菜单“数模—三维数据读入—DWG和DXF格式”,显示对话窗体。通过浏览查找到所需的文件,并打开。显示“图层设置”窗体后,应将存放等高线、各种断裂线、山脊线、沟底线等所在的图层的“数据类型”设置为约束线,将存放独立地形点(三维坐标)的图层设为“地形点”。点击“开始读入”按钮。

建数模时,纬地软件将利用包括等高线及各种断裂线等线条的控制点以及独立地形点作为数模DTM的三角点。为方便建模操作,在制作矢量地形图时,最好把等高线、独立地形点以及各种断裂线等信息分别存放到不同的图层中。特别是地形点,应单独存放。若已经存在同一图层中,则可利用AutoCAD软件把地形点转移到单独图层中。

3)构建三角网。执行菜单“数模—三角构网”。

4)显示创建的三角网。执行菜单“数模—网格显示”,显示对话窗体。选择“显示所有网格线”选项,确定。桌面将显示所构建三角网的全貌,(如图1所示)。用户应仔细观察三角网的网形,为标准数模精度可靠,三角网以接近等边三角形为宜,且边长宜小于等高线的平距。

2.3在矢量化地形图上初定线路

在三角网构网成功后,可以直接在其上进行路线定线设计。执行菜单“设计—主线平面设计”,显示对话窗体。在桌面进行实时采集交点法初定线形,完成全线平面设计工作,并保存设计结果。也可利用矢量化地形图定线,这时应先退出三角网图,打开矢量化地形图。执行菜单“设计—主线平面设计”,显示对话窗体。按桌面进行实时采集交点法定线,完成全线平面设计工作。

2.4纵横断面地面高程采集

1)执行菜单“数模—数模组管理”,显示对话窗体。点击“打开数模”按钮后,关闭窗体。

2)执行菜单“数模—数模应用—纵断面插值”,显示对话窗体,按提示执行。运行后自动记录纵断面地面线数据(桩号及高程)到指定文件中。用户应仔细观察路中线所通过的三角网是否有异形,以确保插值的精度。

3)执行菜单“数模—数模应用—横断面插值”,显示对话窗体,按提示执行。插值运行后,路线左右侧分别用蓝色和绿色直线标记插值位置及范围。用户应仔细观察差值线经过的三角网是否有异形,以确保插值精度。插值后横断面地面线数据自动保存到指定文件中。

2.5纵断面设计与平面线形调整

2.5.1 桌面拉坡,实时采集纵坡线数据

执行菜单“设计—纵断面设计”,显示对话窗体。

1)点击“计算显示”按钮,桌面显示纵断面地面线及平曲线位置、里程桩号,在此基础上进行纵断面拉坡设计。

2)点击“选点”按钮,确定起点位置及高程,(可以从文本框中修改)。

3)点击“插入”按钮,实时确定变坡点位置,(并可用实时修改命令在桌面拖动修改)。

4)确定竖曲线半径。可用窗体输入、预设条件反算及桌面拖动等三种模式设定竖曲线半径。点击“计算显示”,按钮,完成纵断面设计。

2.5.2 平面线形调整

用桌面实时采集变坡点法完成全线的纵断面设计后,可根据纵断面图上可能出现大填大挖的情况做出平面线形的调整方案。如某路段填方较大,则表示该路段线位偏低,可以考虑让平面线形向等高线升高的方向调整,调整幅度用拟提高的高差控制,使路线移动到相应的等高线范围。反之,若某路段挖方较大,则表示该路段线位偏高,可以考虑向等高线降低方向调整。调整后重新进行平面设计,重新采集纵、横断面地面高程,在进行纵断面设计。反复多次这种调整过程,直到获得满意的平纵面线形为止,才能进行后续设计工作。

3 矢量化地形图定线精度控制

纸上定线的精度取决于基础地形图的质量,比例尺越大,计算精度越高。另外高程插值计算也是控制精度的重要因素。电脑桌面定线法的精度除基础地形图的质量影响外(与手工纸上定线同级),只受数字地面模型TDM的精度制约。数模的精度与等高线的精度直接相关,因此只要保证地形图矢量化过程中等高线的精确度,就能保证数模的精度,进而保证定线的精度。在地形图矢量化过程中,首先应确保等高线与基础地形图上等高线的吻合度;其次还应保证等高线上的控制点与线条的拟合度。由于矢量地形图中的等高线是用AutoCAD的样条曲线“Spline”命令绘出的,该样条曲线在桌面显示是一条光滑的曲线,但其在内部则是由一系列控制点的三维坐标记录的,这些控制点与线条的拟合度的好坏,直接关系到数模三角网(见图2)的质量。

4 结 论

1)利用矢量化地形图在电脑桌面进行直接定线是一种效率很高的设计技术,方便实用。这项技术的设计精度是可控制的。只要保证基础地形图的质量,并控制好矢量化地形图的等高线质量,就可以达到满意的精度。

2)电脑桌面定线法可以实现多方案选线,可快

捷选定技术与经济合理的公路线形,值得在公路设计中广泛使用。

摘要:针对传统纸上定线方法效率低及制约公路多方案比选的问题,对道路设计的内、外业工作进行分析,研究矢量化地形图构建数字地面模型DTM的方法,提出应用纬地道路CAD软件的数模DTM功能实现电脑桌面定线的自动化技术。结果表明该技术可实现数据采集、路线设计、设计绘图、方案优化一体化等功能,缩短道路勘测及设计周期,全面提高设计质量。

关键词:矢量化地形图,纸上定线,数字地面模型DTM,纬地道路CAD软件

参考文献

[1]郭滕峰.道路三维集成CAD技术——纬地三维道路CAD系列软件教程[M].北京:人民交通出版社,2006.

[2]赵永平,马松林,王百成.道路勘测设计一体化的DTM实现技术[J].哈尔滨工业大学学报,2009(7):155-157.

[3]朱爱民,唐勇.基于MapDIS的数模建立方法及其在路线CAD中的应用[J].公路交通科技,2004(3):30-33.

[4]谢祥根.数模技术在公路勘测设计中的应用[J].测绘通报,2000(4):73-75.

[5]王文海.数字地形模型转换算法研究[J].计算机工程与应用,2002,38(18):48-51.

[6]李林,强秀华.高职数控专业CAD/CAM软件浅析[J].黑龙江工程学院学报,2009(4):47-50.

[7]江涛,朱运海,曹银璇,等.1∶50000地形图遥感快速更新方法的研究[J].黑龙江工程学院学报,2004(3):17-19.

上一篇:电视广告中的音乐运用下一篇:生态公共利益