三维螺旋线图形程序设计.docx
《三维螺旋线图形程序设计.docx》由会员分享,可在线阅读,更多相关《三维螺旋线图形程序设计.docx(20页珍藏版)》请在冰豆网上搜索。
三维螺旋线图形程序设计
课程设计(论文)
课程名称:
通信技术课程设计
题目:
三维螺旋线图形程序设计
院(系):
机械电子工程系
专业班级:
通信工程0702
姓名:
马玮
学号:
0706020204
指导教师:
张毅
2010年12月23日
西安建筑科技大学华清学院课程设计(论文)任务书
专业班级:
通信工程学生姓名:
马玮指导教师(签名):
张毅
一、课程设计(论文)题目
三维螺旋线图形绘制程序设计
二、本次课程设计(论文)应达到的目的
通过课程设计让学生较深入地理解通信新技术在通信工程专业系列课程中的地位、作用和意义;加深对基本概念和基本原理的理解和应用,并能够用所学知识分析、初步设计和解决与通信需求应用相关的现实技术问题,在实践中能够举一反三。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
1)了解与掌握三维螺旋线图形绘制的算法;
2)整体设计思路和实现方法、系统框图和关键模块的说明;
3)给出关键模块的源代码。
4)编程工具采用LabVIEW。
四、应收集的资料及主要参考文献:
在Internet网上搜集螺旋线有关技术资料。
●《虚拟仪器设计基础教程》黄松岭等编著,清华大学出版社。
●LabVIEW帮助文件及范例查找。
五、审核批准意见
教研室主任(签字)王慧琴
三维螺旋线图形程序设计
摘 要
随着现代社会的快速发展、生产技术不断的提高,工业生产正经历着前所未有的改革和发展速度。
自动化生产已经成为工业生产不可避免的趋势。
自动化的生产要帮求商品制造的更快、更好和更精确,这就必然要帮求测量技术的提高,Labview应运而生。
虚拟仪器是现代测量技术和计算机技术结合的产物,用数字化和软件技术提高测试的灵活性和可扩充性。
他成为解决各种复杂测量的最好方案。
该论文是在基于Labview8.6平台上编写的三维螺旋线图形,用Labview编写的三维图形程序只是对Labview软件的功可以的一个方面的体现。
关键词:
虚拟仪器 LabVIEW 图形化编程语言
Three-dimensionalGraphicsProgrammingSpiral
Abstract
Withtherapiddevelopmentofmodernsociety,constantlyimprovingproductiontechnology,industrialproductionisundergoingunprecedentedreformandgrowth.Automatedproductionhasbecometheinevitabletrendofindustrialproduction.Automatedproductionofmanufacturedgoodstohelpfindfaster,betterandmoreaccurate,whichisboundtohelpimprovethemeasurementrequirements,Labviewcameintobeing.Virtualinstrumentisthemodernmeasurementtechniquesandcomputertechnologycombinedwiththeproduct,withdigitalandsoftwaretechnologytoenhancetheflexibilityandscalabilitytesting.Hebecamethebestsolutionstocomplexmeasurementprograms.Thepaperiswritteninplatform-basedLabview8.6spiralthree-dimensionalgraphics,three-dimensionalgraphicswithLabviewprogramswritteninLabviewsoftwareworkonlyononeaspectcanbereflected.
KeyWords:
virtualinstrument,LabVIEW,graphicallanguage
目录
1引言1
1.1课题背景1
1.2相关概念1
1.2.1虚拟仪器的主要特点2
1.2.2虚拟仪器的优势3
1.2.4未来评测4
1.3设计意义5
2程序设计原理6
2.1模型的建立6
2.2模型的分析与性质7
2.3三维螺旋线特性分析8
2.4设计步骤9
2.5关键模块的说明11
3三维螺旋线的应用16
4结论17
致谢18
参考文献19
朗读显示对应的拉丁字符的拼音 字典-查看字典详细内容
1引言
1.1课题背景
测试技术发展到现在,数字技术逐渐取代模拟技术,组合式、集多功能于一体的仪器取代单台仪器,网络化趋势渐渐明显。
软件在现代测量中举足轻重,计算机的日益普及也带动了测试技术的发展。
随之而来的是现代测量技术的新一场革命——虚拟仪器的出现。
它是测量技术与计算机技术结合的产物。
所谓“虚拟仪器”,就是借助于计算机的软硬件平台,配以少量的辅助设备(或器件),构成功能适合用户要求的仪器。
利用虚拟仪器软件开发平台在计算机屏幕上虚拟出仪器的面板,用户通过鼠标或键盘操作虚拟仪器面板上的旋钮、开关和按键,设置各种工作参数,启动或停止仪器。
测量结果可以从虚拟仪器面板读出。
用户在屏幕上通过虚拟仪器面板对仪器的操作如同在真实仪器上的操作一样直观、方便、灵活。
另外,个人计算机的参与大大提高仪器的数据处理能力。
1.2相关概念
LabVIEW(LaboratoryVirtualinstrumentEngineeringWorkbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位/64位编译器。
像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。
它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件!
现在的图形化主要是上层的系统,国内现在已经开发出图形化的单片机编程系统(支持32位的嵌入式系统,并且可以扩展的),不断完善中(大家可以搜索CPUVIEW会有更详细信息;)
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
LabVIEW是一种真正意义上的图形化编程语言,它采用工程技术人员所熟悉的术语和图形化符号代替常规的文本语言编程,具有界面友好、操作简便、开发周期短等特点,广泛应用于各个行业的仿真、数据采集、仪器控制、测量分析和数据显示等方面,在各大公司、科研机构日益普及,得到广泛应用,其自身也因此得到了迅速发展,功能不断扩充,现已发展至LabVIEW8.6版本。
LabVIEW软件已经在欧美的大学相当普及,引入LabVIEW软件工具进行辅助教学和实验非常普遍,而在我国高等院校中的应用才刚刚起步。
因此,本书的写作目的之一就是希望能够帮助读者在学习电子信息类课程及技术时,以LabVIEW为平台,借助LabVIEW强大的分析、计算和交互能力,动手对相关疑点、难点进行验证和钻研。
1.2.1虚拟仪器的主要特点
尽可能采用了通用的硬件,各种仪器的差异主要是软件。
可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
用户可以根据自己的需要定义和制造各种仪器。
虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。
虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
普通的PC有一些不可避免的弱点。
用它构建的虚拟仪器或计算机测试系统性能不可能太高。
目前作为计算 虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。
PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。
对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。
目前LabVIEW的最新版本为LabVIEW2009,LabVIEW2009为多线程功能添加了更多特性,这种特性在1998年的版本5中被初次引入。
使用LabVIEW软件,用户可以借助于它提供的软件环境,该环境由于其数据流编程特性、LabVIEWReal-Time工具对嵌入式平台开发的多核支持,以及自上而下的为多核而设计的软件层次,是进行并行编程的首选。
机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。
每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。
这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。
VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。
1.2.2虚拟仪器的优势
器虚拟仪器技术取代传统仪器成为必然趋势。
虚拟仪器相对于传统仪器,具有明显的优点:
灵活性、高性价比、技术更新快、易于网络化、实现传统仪器不可能实现的功能。
它的灵活性体现在,用户可以自定义功能,选择自己喜欢的界面图标符号,而不象传统仪器那样,一出厂其功能及外观已经固化,用户只是被动应用。
高性价比主要指,用户拥有一台计算机,运行不同的应用程序就得到相应的仪器。
换句话就是,一台计算机完全可以取代实验室里的所有仪器实现测量,从而节约大笔资金。
由于虚拟仪器中软件是关键,所以更新软件使之功能更新所需时间大大减少。
借助于计算机,实现测量系统的网络化、在线测量已成为可能。
此外,传统仪器基于硬件、性能必然受到硬件的种种限制。
如普通示波器无法捕捉很窄的脉冲,国外生产的特殊示波器能够作到这一点,其价格又不菲,而通过数据采集卡与计算机组成的虚拟仪器则可轻松实现。
1.2.3开发语言概况
用于虚拟仪器开发的语言有文本式编程语言:
如Visualbasic、C++、VisualC++、labwidows/CVI等,图形化编程语言如LabVIEW、HPVEE。
其中影响力最大的要数LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench,实验室虚拟仪器工程平台)语言,被称为“仪器仪表界面”。
LabVIEW及其编程
LabVIEW是美国NI公司开发的一套基于G语言(GraphicsLanguage,图形化编程语言),专为数据采集与仪器控制、数据分析和数据表达而设计的开发软件。
符合国际标准IEEE488.2接口驱动程序,适合于用户组建小型的测试系统和较简单的虚拟仪器或者用于大系统中某个分系统的编程。
它增强了用户在标准的计算机上配以高效经济的硬件设备来构建自己的仪器系统的能力。
将LabVIEW与一般的数据采集以及仪器设备加以组合,就可以设计出虚拟仪器,并将其应用于许多领域,从而摆脱传统的仪器功能的限制。
LabVIEW具有丰富的库函数供用户调用。
以Labview6.0.1为例,功能模板包括27个子模板,每个子模板中又含有该类型的控制命令、函数、变量等。
其中分析模板又有6个子模板,充分满足用户的不同要求。
Labview提供了强大功能调试工具:
单步执行、设置断点、探针(查看数据流)。
Labview的帮助系统使得用户尽快掌握编程方法,此外Labview提供的例子程序也加快了开发进程。
高级编程模块允许Labview与C语言进行数据交换,Labview实现不了的功能交给C来实现,结果再传递给Labview。
例如用户在应用Labview不支持的数据板时,设置CIN图标,把C编制驱动程序装载到CIN图标中,在Labview中就可以象调用其他图标一样调用CIN,从而实现对采集板的驱动。
Labview应用程序的设计包括前面板及程序框图。
前面板是用户可以见到的,类似传统仪器的操作面板,利用工具模板添加输入控制器输出指示器。
控制器和指示器种类可选择。
程序框图是支持虚拟仪器实现其功能的核心。
对程序框图的设计涉及节点、数据端口和连线的设计。
连线代表数据走向,节点则是函数、VI子程序、结构或代码接口。
1.2.3一种虚拟仪器的实现方法
下面是应用Labview编制波形发生器及接收器的实现情况。
波形发生器的前面板如图1所示,对应的程序框图如图2。
此应用程序(这里称应用程序1)运行于一台计算机上。
波形接收器的前面板如图3所示,对应的程序框图如图4。
此应用程序(这里称应用程序2)运行于另外一台计算机上。
实验中,利用RS-232线连接两台计算机COM口(端口默认为一号),在一台计算机产生的波形可以在另外一台计算机上观察到。
利用Labview提供的串口模块编制程序,从而方便的得到两台虚拟仪器。
这里,需要说明的是,用两台计算机运行程序完全是实验测试结果。
实际应用时,传感器的输出信号经过A/D转换,通过COM口输入计算机,同时运行应用程序2,即可观测波形,相当于示波器使用。
同样,应用程序1运行,结果通过COM口输出,D/A转换后,得到相应信号。
功能相当于信号发生仪。
1.2.4未来评测
虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。
目前使用较多的是IEEE488或GPIB协议。
未来的仪器也应当是网络化的。
LabVIEW(LaboratoryVirtualinstrumentEngineeringWorkbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位/64位编译器。
像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。
它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件!
现在的图形化主要是上层的系统,国内现在已经开发出图形化的单片机编程系统(支持32位的嵌入式系统,并且可以扩展的),不断完善中(大家可以搜索CPUVIEW会有更详细信息;)
1.3设计意义
(1)有利于基础知识的理解
掌握了一些信息时代生存与发展必需的信息技术基础知识和基本技能,具备了在日常生活与学习中应用信息技术解决问题的基本态度与基本能力。
(2)有利于逻辑思维的锻炼
程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。
即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。
(3)有利于与其他学科的整合
在程序设计中,我们可以解决其它学科有关问题,也利用其它课程的有关知识来解决信息技术中比较抽象很难理解的知识。
在信息技术课中整合其它学科的知识,发挥信息技术的优势。
(4)有利于治学态度的培养。
程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。
因此,程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。
这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不挠品格的锻炼。
2程序设计原理
2.1模型的建立
(1)平面螺旋线
平面螺旋线是一种十分优美的曲线,它的形成可以看作一个点不停地以原点为圆心做圆周运动,同时这个点又以一个均匀的速度远离原点O。
如下图:
图2-1平面螺旋线
(2)圆柱形螺旋线
圆柱形螺旋线很有美感,在生活中与弹簧的形状十分相似。
在一个三维坐标里,用粒子运动来分析,我们可以看成一个粒子在X轴上,在XY平面圆周运动的同时,向Z轴方向运动。
如下图:
图2-2圆柱形螺旋线
(3)圆锥形螺旋线
圆锥形螺旋线与平面螺旋线有相似之处,当圆锥形螺旋线被压到XY平面时,其所形成的图像与平面螺旋线相同,所以,形成平面螺旋线的粒子只要运动时加一个向上的运动速度,就可以产生圆锥形螺旋线。
如下图:
图2-3圆锥形螺旋线
2.2模型的分析与性质
(1)圆柱型螺旋线
X=a
,其中t为参数,(2-1)
Y=a
,(2-2)
Z=bt(2-3)
圆锥形螺旋线方程为:
r=t
theta=10+t*(20*360)
z=t*3(2-4)
*/10-在圆柱坐标中起始位置与极轴夹角,20-螺旋圈数,3-螺旋线总高
(2)物理性:
平面螺旋线可以看作是一个物理过程,带电粒子在回旋加速器中加速形成的路线图。
圆柱型螺旋线也可以看作是一个物理过程:
一个有初速度的带电粒子在磁场中的运动。
经过物理中的运动的分解,粒子的运动可分成水平和竖直两方向上的规则运动。
在竖直方向上,粒子不受任何力的作用,故保持初速度作匀速直线运动。
S=vt,也即方程式中的Z=bt。
在水平方向上,粒子受到水平方向磁场力的作用,会做匀速圆周运动,磁场力提供匀速圆周运动所需的向心力。
R=MV/BQ.也即方程式a=R。
圆锥型螺旋线还可以看成一个物理过程:
一个粒子以某一水平初速度从边缘滑入一圆锥型漏斗中,在重力和漏斗的弹力下进行复杂的运动。
(3)数学性质:
圆柱形螺旋线:
Ⅰ曲线上每一点到Z轴的距离都相等且为a。
Ⅱ曲线上两点A(X1,Y1)与B(X2,Y2)。
一定存在X12+Y12=X22+Y22=a2。
Ⅲ当X1=X2时,Y1=Y2。
(4)弹性:
螺旋线最显著的性质就是弹性。
也即当螺旋线被赋予有硬性物质时,它会保持形状不变,且富有弹性。
比如弹簧,而像三角线,它就没有弹性,一直稳定。
2.3三维螺旋线特性分析
在分析三维螺旋线特性之前,首先要确立旋进线、旋进比、同步的概念。
在二维等距螺旋线(平面等距螺旋线)中,我们把“绕中心旋转并供动点沿其自身同步、定旋比运动的任意直线称为旋进线;把动点旋转运动与直线运动之间的比例关系称为旋进比(简称旋比)—即动点旋转一周时相应在旋进线上移动的距离(螺距S)。
旋比ix =S/360(角度制—单位mm/度),或ix =S/2π。
把动点旋转运动与直线运动之间的运动关系限定为同步,即两者的关系是随动关系,即你动我动、你快我快、你慢我慢、你停我停 。
三维等距螺旋线的旋进线与二维等距螺旋线的旋进线的定义稍有不同。
三维等距螺旋线的旋进线是:
“绕中心线旋转并供动点沿其自身同步、定旋比运动的任意直线称为旋进线。
动点在旋进线上旋转且同步、定旋比直线运动的轨迹是螺旋体。
无论旋进线处于径向的任何位置,只要旋进比是固定的常数值,其螺距一定永远都是相等的。
旋进线处于径向的任何固定位置绕中心线回转时,动点形成的轨迹是不同直径的圆柱形等距螺旋线;旋进线在绕中心线回转并在径向等比例单向滑移时,动点形成的轨迹是圆锥形等距螺旋线;旋进线在绕中心线回转并在径向随意滑移时,动点形成的轨迹是各种不同形状的曲面等距螺旋线。
当旋进线绕中心线做几何图形回转时(如三角形、四方形、椭圆形等),动点的轨迹是相应的三角形等距螺旋线、四方形等距螺旋线、椭圆形等距螺旋线…也就是说三维等距螺旋线可以是任何几何形状且螺距永远相等的螺旋线。
我们的祖先在陶器时代已经掌握了三维等距螺旋线的特性,用双手将泥浆旋转、拉伸,制成不同形状的陶胚,烧制出陶瓶、陶罐等日用器皿。
在出现了车床等旋转加工设备后,三维等距螺旋线的特性,得到了更加充分的发挥。
人们利用旋转加工设备加工出不同直径的圆柱体、不同形状的旋成体、不同螺距的螺旋线…
随着人们对三维等距螺旋线的特性更深入的掌握,随着科学技术的更加先进,三维等距螺旋线的特性将会得到更多的发挥。
2.4设计步骤
(1)新建一个VL,在前面板上放置一个3DCurveGraph三维曲线图控件,按【Ctrl+E】切换到流程图窗口,三维曲线图自动与添加的“3DCurve.vi”函数的3Dgraph端口相连。
(2)在流程图上放置一个For循环结构,计数端口赋值为200,利用For循环结构的自动索引累加功能产生一个变化范围介于[0,10π]之间的一维数组,将它送与“3DCurve.vi”节点的zvector端口。
(3)在“Numeric”\“Trigonometric”子选项板中分别选择“Sine”函数和“Cosine”函数放入For循环内部,用于生成两个一维的正弦信号与余弦信号数组。
并将正弦信号数组与“3DCurve.vi