圆柱型波导TE模式电磁场计算与可视化方法 - 图文

更新时间:2024-04-08 06:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘要 摘要

为了研究圆柱型波导TE模式电磁场的计算的与电流场分布问题,为此采用了科学计算可视化的研究方法。本课题采用了OpenGL与C++builder联合编程直观显示其电磁场与电流分布覆盖图。

首先,阐述了该课题的研究背景与国内外研究动态和OpenGL的基本概念简单概述,说明了在C++ Builder环境下如何利用OpenGL进行编程,为它们的混合编程提供了一个基本的框架。其次,在此次设计中通过电磁场的基本理论和电磁场的基本电磁理论,推导得出圆形波导电场、磁场和表面电流的表达式。最后,利用C++builder与OpenGL混合编做出其电场、磁场和表面电流的分布覆盖图,通过图示探讨其电磁场与电流分布及特点。

通过使用OpenGL和C++builder混合编程将复杂、抽象的电磁场数据直观形象的展现出来对研究其电磁现象寻找其规律有很大的帮助。

关键词 OpenGL;可视化;场覆盖图

I

燕山大学本科生毕业设计(论文) Abstract

To study the cylindrical waveguide TE mode electromagnetic field distribution calculated with the current field problems, this use of visualization in scientific computing research methods. This topic uses OpenGL and C + + builder programming to visual display of its electromagnetic field and current distribution overlay.

First, an overview of the research background and research trends at home and abroad, and OpenGL overview of the basic concept is simple, illustrated in C + + Builder environment, how to use OpenGL programming, for their mix of programming provides a basic framework. Secondly, the design introduced in the basic theory of electromagnetic fields, the basic electromagnetic theory through the electromagnetic field, derive the electric field, magnetic field and surface current expressions. Finally, the use of C + + builder and OpenGL code to make the mixed electric and magnetic fields and surface current distribution overlay, by the icon of the electromagnetic field and current distribution and characteristics.

By using OpenGL and C + + builder programming mix will be complex, abstract visual image of the electromagnetic field data show up on the study to find the laws of electromagnetic phenomena is very helpful.

Keywords OpenGL; Visualization;Field Overlay

II

目 录

摘要 ....................................................................................................................... I Abstract ................................................................................................................ II 第1章 绪论 .......................................................................................................1

1.1 课题研究的背景...................................................................................1 1.2 国内外研究现状...................................................................................2 1.3 科学计算可视化...................................................................................3 1.3.1 科学计算可视化概述....................................................................3 1.3.2 科学计算可视化的重要意义........................................................4 1.3.3 科学计算可视化的进展................................................................6 1.3.4 可视化技术展望............................................................................7 1.4 课题研究内容及章节安排...................................................................8 第2章 OpenGL技术 ........................................................................................9

2.1 OPENGL的发展 ...................................................................................9 2.1.1 关于OPENGL ................................................................................9 2.1.2 从OPENGL 1.X到2.0 .................................................................10 2.2 OPENGL的概述 .................................................................................10 2.2.1 OPENGL基本特点 ......................................................................10 2.2.1 OPENGL基本功能与操作 .......................................................... 11 2.3 OPENGL的图形实现 .........................................................................13 2.3.1 体系结构与渲染上下文..............................................................13 2.3.2 OPENGL图形处理流程 ..............................................................14 2.3.3 OPENGL图形绘制方式 ..............................................................15 2.3.4 OPENGL图形绘制方式 ..............................................................16 2.4 OPENGL的图形开发库 .....................................................................17 2.4.1 开发库组成..................................................................................17 2.4.2 基本数据类型..............................................................................17 2.4.3 OPENGL库函数 ..........................................................................18 2.5 本章小结.............................................................................................19 第3章 圆波导的矢量传播方式 .....................................................................20

III

燕山大学本科生毕业设计(论文) 3.1 概述 .................................................................................................... 20 3.2 电磁场中的方程 ................................................................................ 20 3.2.1 自由空间中的麦克斯韦方程组 ................................................. 20 3.2.2 自由空间中的本构关系 ............................................................. 21 3.2.3 波动方程 ..................................................................................... 22 3.3 圆波导中TE模式的分析.................................................................. 24 3.3.1 圆波导中的波形及其场分量 ..................................................... 24 3.3.2 圆波导主模TE11模................................................................... 26

3.4 本章小结 ............................................................................................ 27 第4章 圆波导TEmn模电磁场的可视化..................................................... 28

4.1 表面电流分布的可视化 .................................................................... 28 4.1.1 实现思想 ..................................................................................... 28 4.1.2 仿真方法 ..................................................................................... 30 4.2 电磁场分布的可视化 ........................................................................ 30 4.2.1 实现思想 ..................................................................................... 30 4.2.2 仿真方法 ..................................................................................... 31 4.3 用户界面 ............................................................................................ 31 4.4 图形实现模块 .................................................................................... 33 4.4.1 场覆盖图绘制 ............................................................................. 33 4.3.2 动画播放模块 ............................................................................. 34 4.4 图形仿真结果及分析 ........................................................................ 34 4.5 本章小结 ............................................................................................ 37 结论..................................................................................................................... 39 参考文献............................................................................................................. 40 致谢..................................................................................................................... 42 附录1..................................................................................错误!未定义书签。 附录2..................................................................................错误!未定义书签。 附录3..................................................................................错误!未定义书签。 附录4..................................................................................错误!未定义书签。

IV

第1章 绪论 第1章 绪论

1.1 课题研究的背景

随着社会发展和科技的进步,人们对微波传输线的要求也有了更高的要求。而金属波导的问世和应用,不仅有效地防止了辐射损耗,而且还有针对性地解决了同轴线的上述限制,把微波技术发展推进到一个新的水平。圆截面波导是一种广泛使用的金属波导,它具有的优点为在相同截面积时,圆截面波导管壁面积最小,另外圆截面波导制作工艺比矩形截面波导容易。因此,研究圆形波导在各种传播模式下电磁场的空间分布特性,对于深刻理解电磁场的实质,以及圆形波导的设计和工作模式的选择都具有非常重要的实际意义。所以对圆柱型波导电磁场的可视化分析技术在金属波导的应用更是必不可少的。

总所周知各种电磁场和电磁波现象都具有复杂的空间分布,而我们对电磁场和电磁波只能进行抽象的想象或通过仪器进行数据测量,这给实践中对电磁问题及实验现象的理解都带来一定的困难。为了更好地描述电磁场的性质,绘制出各种电磁场随时变化的图形是十分必要的。

科学计算可视化(Visualization in Scientific Computing简称ViSC)[1]指的是利用计算机图形学来创建视觉图像,帮助人们理解科学技术概念或结果的那些错综复杂而又往往规模庞大的数字表现形式(美国计算机科学家Bruce H. McCormick的定义)。科学计算可视化是科学之中的一个跨学科研究与应用领域,侧重于利用计算机图形学来创建视觉图像,从而帮助人们理解那些采取错综复杂而又往往规模庞大的数字呈现形式的科学概念或结果。凭借计算机本身的能力,把数值模拟中涉及与产生的数字信息转变为直观的、易于理解的且可进行交互分析的以图形或图像形式表示的静态或动态画面,以加快和加深研究人员对被模拟对象的认识,提高工作效。

本课题利用C++ Builder和OpenGL混合编程技术开发能够直观显示圆柱型波导TE类模式电磁场空间变化和表面电流分布,从而能准确进行信息交互提供了方便,其形象直观的图形方式能辅助工程技术人员进行分析,减轻其负担,方便了研究圆形波导在TE模式下电磁场的空间分布特性。在这

1

燕山大学本科生毕业设计(论文) 一背景下,可视化技术在圆柱型波导处理中的应用显得更为重要。

1.2 国内外研究现状

圆形波导是微波工程中最重要的微波器件之一,研究圆形波导在各种传播模式下电磁场的空间分布特性,对于深刻理解电磁场的实质,以及圆形波导的设计和工作模式的选择都具有非常重要的实际意义。而研究科学可视化技术在电磁场上的应用更是必不可少的。

然而国外关于可视化的研究十分活跃,已经拥有一批功能强大的通用和专用的可视化系统。关于可视化技术在电磁场中的应用,科学计算可视化是应用计算机图形学和图像处理技术,国外的研究也远远的超过国内。

日本Hiroshima大学的Amashita Hideo等人对导体中磁流密度的分布和漩涡电流的分布进行了三维交互显示,并基于图形工作站实现了流密度和漩涡电流分布的立体显示。可视化技术的出现有着深刻的历史背景,这就是社会的巨大需求和技术水平的进步。特别是ANSYS推出的电磁计算模块FEKO、ANSOFT公司的HFSS软件,这些软件不但可以解决各种电磁计算问题,而且提供了强大的后置处理功能。FLOMERICS公司提供的FLO/

EMC,是一款强大的系统级电子设备电磁兼容性仿真软件,它提供的功能有屏蔽效果分析、辐射性能分析、射频参数分析并附有强大的后置处理模块,不但可以实现系统分析的表面电流和系统内的电场、磁场可视化,还可以动态显示电流以及电场和磁场随相位及空间位置的变化情况。

相比来说,国内这方面就相去甚远。虽然也有一些研究者开展了这方面的工作,但是主要从事数值计算反面的研究工作,在科学计算可视化的应用研究方面电磁场领域要滞后于其他反面的领域。

在1998年,西北工业大学和华北理工大学两校机械工程系已经有科学可视化方面的论文发表。对网格数据的可视化和图形数据的交换做了研究,对等值面的绘制算法及云图的生成做了研究。基于Matlab提供的可视化环境,建立了电磁场数据可视化系统。利用ActiveX技术,在VB中实现了对Matlab中函数的调用,实现了电磁数据的二维、三维可视化可视化显示。

2

第1章 绪论 1.3 科学计算可视化

1.3.1 科学计算可视化概述

经过漫长的进化,人类视觉信息处理具有高速、大容量、并行工作的特点。常言所说“百闻不如一见”,“一图胜过千言”,就是这个意思。这些特点早已为祖先们所认识和应用。古长城上的烽火台,显示了先民的智慧,可以将重要的信息迅速大范围传递。作为千百年来文明载体的“图书”,“图”是在“书”前的!“河图洛书”的传说,显示出“图”在我们文明的发端及以后的发展中所起的作用。今天,设计图是借助纸张的媒介表达创意,工程图是现代工业生产的依据。可视化依然继续着借助形象化方法表达人类意图的传统。我们将看到,可视化技术产生的图是一种全新的形式。

可视化技术的出现有着深刻的历史背景,这就是社会的巨大需求和技术水平的进步。可视化技术由来已久,早在20世纪初期,人们已经将图表和统计等原始的可视化技术应用于科学数据分析当中。随着人类社会的飞速发展,人们在科学研究和生产实践中,越来越多地获得大量科学数据。计算机的诞生和普及应用,使得人类社会进入了一个信息时代,它给人类社会提供了全新的科学计算和数据获取手段,使人类社会进入了一个“数据的海洋”,而人们进行科学研究的目的不仅仅是为了获取数据,而是要通过分析数据去探索自然规律。传统的纸、笔可视化技术与数据分析手段的低效性,已严重制约着科学技术的进步。随着计算机软、硬件性能的不断提高和计算机图形学的蓬勃发展,促使人们将这一新技术应用于科学数据的可视化中。

近代以来的科学计算可视化[2]是发达国家在20世纪80年代后期随着计算机的发展而奠定了一定的基础。到了20世纪90年代,该学科开始兴起成为举世公认的一门学科。研究表明,人类获得的关于外在世界的信息80%以上是通过视觉通道获得的。

科学计算可视化指的是应用计算机图形学和图像处理技术,将在科学计算过程中产生的数据和计算结果转换为图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。实际上,随着技术的发展,科学计算可视化的含义已经大大扩展,它不仅包括科学计算数据的可视化,而且包括工程

3

燕山大学本科生毕业设计(论文) 计算数据的可视化,如有限元分析的结果等,同时还包括测量数据的可视化,如用于医疗领域的计算机断层扫描(CCT)数据和核磁共抓(MRI)数据的可视化,就是可视化领域中最为活跃的研究领域之一。

科学计算可视化将图形生成技术、图像处理技术和人机交互技术结合在一起,其主要功能是从复杂的多维数据中产生图形,也可以分析和理解存入计算机的图形数据。它涉及到计算机图形学、图像处理、计算机辅助设计、计算机视觉及人机交互技术等多个领域。

1.3.2 科学计算可视化的重要意义

科学计算可视化具有广阔的应用前景,目前已被成功应用于计算机流体力学、有限元分析、医学图像处理、分子结构构造、天体物理、地震预测、气象分析、航空航天、船舶、建筑等诸多领域。其中比较著名的研究成果及应用有:美国国家宇航局Ames研究中心的研究项目——分布式虚拟风洞、美国国家计算机应用中心(NCSA)的研究项目——狗心脏CT数据的动态显示及PATHFINDER、美国西北大学的研究项目——燃烧过程动态模型的可视化以及伊利诺大学芝加哥分校对胚胎可视化所研究的可视化软件。科学计算可视化极大地丰富了科学发现的过程,给计算机以透析客观事物的洞察力,是人本更加深刻的认识、观察实际计算问题的内在本质,引发了科学方法上的革命。

进入90年代以来,可视化领域的研究取得可迅速发展,软件工作者和工程技术人员针对不同研究领域的不同用途开发出了许多可视化软件,解决了某些数据场的可视化问题。可视化软件平台的研究沟通了许多可视化软件,解决了某些数据可视化的具体应用提供了有力的支持。国外在90年代初已陆续推出了一些较为成功的科试卷软件系统,如后处理型的Ohio州立大学开发的PAE、Wavefront、PV-Waver、GAS和RIP,跟踪型的如Stellar Copute公司研制的AVS,驾驶型的如JZ等,还有SGI公司开发的商品化软件IRIS Explorer。另外一些常见的有限元软件的可视化后处理功能也非常强,比如Ideas等。尽管国内科试卷软件的开发工作起步较晚,但也取得了一些可喜的成绩,如华中理工大学

4

第1章 绪论 CAD中心开发的有限元可视化系统FEVS(Finite Element Visualization System)等。其中,GIVE软件系统涉及到可视化用户界面、自动代码生成、具体可视化算法、分布式图形处理、交互式图形学等诸多方面的研究工作。

借助航天航空、遥感、加速器、CT(计算机断层扫描)、MRI(核磁共振)、计算机模拟(如核爆炸)等手段,人类获取数据的能力飞速提高,每天产生的数据已经不是大量,而是称为海量。一项统计表明,人类每天需要处理的数据量在80年代一般是在百万字节数量级,90年代已经增加1000倍以上,而且增加的趋势还在加强。面对堆积如山的数据,及时解读,获取有用的信息成为人类面临的巨大挑战。传统的数字或字符形式的处理显然无法满足需要。可视化技术,在这个意义上就成为了“科学技术之眼”,它是科学发现和工程设计的工具!

计算机用于科学计算己有近50年的历史。但很长时期内,由于计算机软硬件技术水平的限制,科学计算只能以批处理的方式进行,而不能进行交互处理。当计算机输入程序和数据后,使用者就不能再对计算过程进行干预和引导,只能被动等待计算结果的输出。而大量的输出数据只能采用人工方式处理,或者使用绘图仪输出二维图形。人工处理数据十分冗繁,所花费的时间往往是计算时间的十几倍甚至几十倍,不仅不能及时得到有关计算结果的直观、形象的整体概念,而且可能丢失大量信息。因而,科学计算结果的后处理已经成为提高科学计算质量和效率的主要问题之一。

近年来,随着科学技术的发展,待处理的数据量越来越大,来自超级计算机、卫星、宇宙飞船、CT扫描仪以及地质勘探的数据与日俱增,使科学计算数据的可视化及计算过程的交互干预与引导日益成为迫切需要解决的问题。

另一方面,由于近年来计算机的计算能力迅速提高,所配置的内存容量、磁盘空间不断扩大,网络功能日益增强,许多重要的图形生成和图象处理算法均可用硬件实现,且速度大大加快。因而,应用计算机图形学和图象处理技术形象、直观地显示科学计算的中间结果及最终结果并进行交互处理,己经成为可能。

5

燕山大学本科生毕业设计(论文) 实现科学计算的可视化具有多方面的重要意义。它可以大大加速数据的处理速度,使庞大的数据得以有效的利用:可以在人与数据、人与人之间实现图象通讯,而不是目前的文字通信或数字通信,从而使人们能够观察到传统的科学计算中发生了什么现象,成为发现和理解科学计算过程中各种现象的有利工具;同时,还可以实现对计算过程的引导和控制,通过交互手段改变汁算所依赖的条件,并观察其影响结果。总之,科学计算的可视化将极大地提高科学计算的速度和质量,实现科学计算工具和环境的进一步现代化,从而使科学研究工作的面貌发生更本性的变化。

由于科学计算的可视化可以将计算结果用图形或图像形象直观地显示出来,从而使许多抽象的、难以理解的原理和规律变得容易理解了(如不稳定流场可以用迹线直观地表示出来),许多冗繁而枯燥的数据变得有趣、生动了。因此,科学计算的可视化的实现将极大地促进教育手段的现代化,有利于教育质量的提高。

科学计算可视化的应用领域十分广泛。几乎可以应用于自然科学及工程技术所包括的一切领域。例如,在医学中,科学计算可视化技术可以由一系列二维CT或MRI图象重构三维形体,并在计算机上显示出来。在此基础之上就可以实现矫正手术、放射治疗等的计算机模拟及手术规划,从而选择最佳的方案,同时大大提高手术的成功率。在气象预报中,科学计算的可视化可将大量的数据转换为图形,在屏幕上显示某一时刻的等压线、等温线、云层的位置及运动、风力的大小及方向等,使预报人员能对未来的天气作出准确的分析与预报。此外,科学计算的可视化技术还应用于医学、地质勘探、气象预报、分子模型构造、计算流体力学、有限元分析等领域[3]。

1.3.3 科学计算可视化的进展

在我国,科学计算可视化技术的研究工作开始于90年代初。几年来,有关高等院校、科研机构完成了国家自然科学基金重点项目“科学计算可视化的理论和方法”等项目,提出并实现了三维空间标量场、矢量场的多项创新算法,所生成的图像结构正确、细节丰富,图像生成速度显著提高,一些方面达到当前国际先进水平。

6

第1章 绪论 以上研究成果已经开始得到应用。例如,由清华大学与国家气象中心合作开发的“三维气象动态图象系统”,可以清晰地看到气象物理量的分布特征和演变特点,能十分清楚地了解大气的三维结构。又如,由中科院计算所CAD开放实验室与国家卫星气象中心合作开发的“卫星云图显示处理系统”,将二维卫星云图进行三维图形处理,并进行三维立体显示,己在中央电视台的天气预报节目中得到有效的应用。从1997年4月3日开始,中央电视台在天气预报节目中增设了24小时卫星云图动画显示,新颖直观、形象逼真,云的产生与消失变化一目了然。

科学计算可视化技术在医疗系统的应用也已经开始。中科院计算CAD开放实验室与北京医疗器械研究所合作开发的“脑部立体定向放疗计划系统”已于1997年6月通过技术鉴定。基于医学图像三维重构的小儿髋关节手术模拟系统也在有关高等院校和医院的合作研究之中。

1.3.4 可视化技术展望

随着计算机网络技术和显示设备的发展,科学计算可视化技术的发展方向大致可分为:分布式科学计算可视化、协同式学计算可视化、沉浸式科学计算可视化。

分布式科学计算可视化 科学计算可视化的分布化既是由于数据分布的需要,也是应用分布式计算环境进行并行计算以达到实时显示目的的重要手段。这里所指的分布式计算平台由联网的异构机组成,包括高性能的SMP和DSM多处理器、工作站IPC机群,并与高性能的图形处理机集成在一起构成实时的可视化计算环境。目前的主要困难在于,缺乏高效的、使用方便的并行软件开发工具和分布式软件开发工具。

协同式学计算可视化 来自不同地区、不同学科的学者过去是通过出差或开会等方式进行交流的。现在,随着高速主干网投入使用,采用多媒体支持下的计算机支持的协同工作(CSCW)技术可以达到快捷、高效协同工作的目的。事实上,要做到真正、方便的协同工作,还有许多困难要解决,例如,如果要求在空间上和时间上不同的研究组成员之间做到应用共享、上下文共享,则要求用户能记录结论及交互操作的历史,并对虚拟表示和行为作出评

7

燕山大学本科生毕业设计(论文) 价等。这当中有许多技术需要解决。

沉浸式科学计算可视化 科学计算可视化技术采用传统上为虚拟环境技术所专用的投影式和沉浸式显示设备,标志着这两个研究方向融合的历史发展趋势。由于沉浸式显示设备能是用户获得临场感,更有利于用户获得对数据场的直观的感受,有助于结果的分析。传统上,由于沉浸式显示设备,特别是洞穴式显示设备(CAVE)的价格高,对计算机图形绘制性能的要求也高,因而无法普及。随着虚拟现实技术的发展和高性能计算机软硬件平台的开发,人们越来越愿意采用沉浸式显示设备。从沉浸式显示设备的装机统计数字可以看出,目前在发达国家中,美国的装机数量最多,其次是德国和日本。预计21世纪,基于虚拟环境技术的科学计算可视化技术将会得到普及。

1.4 课题研究内容及章节安排

本文研究的内容是利用C++ Builder和OpenGL混合编程技术直观显示TE模式电磁场与电场电力线的可视化模型。

本文的章节安排如下:

第1章为绪论,主要介绍了课题研究背景、国内外研究现状和科学计算可视化技术的发展及意义。

第2章对OpenGL技术的基础知识进行了简单的介绍。

第3章对介绍了电磁场与电流分布的概念,并对圆柱波导电磁场进行了理论分析,为第4章利用OpenGL对电磁场进行仿真提供理论上的支持。通过软件编程实现可视化的过程,并对结果进行分析。

8

第2章 OpenGL技术 第2章 OpenGL技术

科学计算可视化技术是近年来发展起来的一门新的计算机处理技术,其目的在于将错综复杂而又往往规模庞大的数据信息用可见的图形信息表现出来,以增加数据处理对于用户的透明度,提高数据信息的利用效率,增加对数据处理过程的理解。SGI是视算技术的先驱之一,在强有力的高速图形硬件支持下,SGI推出了一系列功能强大的可视化软件开发工具,由其研发的IRIS GL后来被工业界接受,成为业界开放式标准,称为OpenGL[4]。

2.1 OpenGL的发展

2.1.1 关于OpenGL

OpenGL是近几年发展起来的一个性能卓越的三维图形标准,它源于SGI公司为其图形工作站开发的IRIS GL,在跨平台移植过程中发展成为OpenGL。SGI是一家久负盛名的公司,在计算机图形和动画方面处于业界领先的地位。IRIS GL最初是个2D图形函数库,后来逐渐演化为SGI的高端IRIS图形工作站所使用的3D编程API,后来,由于图形技术的发展,SGI对IRIS GL的移植性进行了改进和提高,使它逐步发展成如今的OpenGL。在此期间,OpenGL得到了各大厂商的支持,从而使它成为广泛流行的三维图形标准。OpenGL的英文全称是Open Graphics Library,顾名思义,OpenGL便是“开放的图形编程接口”[5]。

SGI在1992年7月发布OpenGL1.0版,后来成为工业标准。1995年12月批准了1.1版本,最新版规范是1999年五月通过的1.2.1。OpenGL作为一个性能优越的图形应用程序设计界面(API),具有广泛的可移植性,它独立于硬件系统、操作系统和窗口系统。OpenGL适用于广泛的计算机环境,从个人计算机到工作站和超级计算机,用户都可以利用OpenGL创建漂亮的三维图形。由于许多在计算机界具有领导地位的计算机公司纷纷采用OpenGL作为三维图形应用程序设计界面,因此,OpenGL是从事三维图形开发工作的技术人员所必须掌握的开发工具。

计算机硬件性能的提高和OpenGL本身的不断发展,使得OpenGL不再

9

燕山大学本科生毕业设计(论文) 只属于专用图形工作站。如今,开发人员可以在各种硬件平台利用OpenGL进行图形软件开发。OpenGL可以运行在当今各种流行操作系统之上,如Mac OS、Unix、Windows、Linux、OPENStep、Python、BeOS等。各种流行的编程语言都可以调用OpenGL中的库函数,如C、C++、FORTRAN、Ada、JAVA。OpenGL完全独立于各种网络协议和网络拓扑结构。目前,Microsoft公司、SGI公司、ATT公司的Unix软件实验室、IBM公司、DEC公司、SUN公司、HP公司等几家在计算机市场占主导地位的大公司都采用了OpenGL图形标准。值得一提的是,由于Microsoft公司在Windows NT和Windows 95/98中提供OpenGL标准,使得OpenGL在微机中得到了广泛应用。尤其是在OpenGL三维图形加速卡和微机图形工作站推出后,人们可以在微机上实现CAD设计、仿真模拟、三维游戏等,从而使得应用OpenGL及其应用软件来创建三维图形变得更有机会、更为方便[6]。

2.1.2 从OpenGL 1.X到2.0

自从上个世纪90年代初以来,OpenGL API就一直是专业3D制图技术中的重要组成部分,从专业的电影特效制作到游戏,在很多领域中OpenGL都大显身手,当时用的就是OpenGL 1.X。从1992年到2003年OpenGL经历了从1.1到的1.5的发展,其中的1.5包括ARB的正式扩展规格绘制语言(OpenGL Shading Language)。该语言为最新发布的OpenGL 2.0的底核。

2004年8月ARB发布了OpenGL 2.0版标准。该标准的主要制订者并非原来的SGI,而是逐渐在中占据主导地位的3Dlabs。

可编程着色语言是OpenGL 2.0的一大主要功能,除此之外OpenGL 2.0还有顶角处理器、区段处理器、数据移动与内存管理等几项主要功能。

2.2 OpenGL的概述

2.2.1 OpenGL基本特点

OpenGL作为一个性能优越的图形应用程序设计界面(API[7]),适用于广泛的计算机环境。从个人计算机到工作站和超级计算机,OpenGL都能实现高性能的三维图形功能。由于许多在计算机界具有领导地位的计算机公司纷 纷采用OpenGL作为三维图形应用程序设计界面,所以OpenGL应用程序

10

第2章 OpenGL技术 具有广泛的移植性。因此,OpenGL已成为目前的三维图形开发标准,是从事三维图形开发工作的技术人员所必须掌握的开发工具。

OpenGL应用领域十分广泛,如军事、电视广播、CAD/CAM/CAE、娱乐、艺术造型、医疗影像、虚拟世界等。它具有以下特点:

(1) 工业标准 OARB(OpenGL Architecture Review Board)联合会领导OpenGL技术规范的发展,OpenGL有广泛的支持,它是业界唯一真正开发的跨平台的图形标准。

(2) 可靠度高利用 OpenGL技术开发的应用图形软件与硬件无关,只要硬件支持OpenGL API标准就行了,也就是说,OpenGL应用可以运行在支持OpenGL API标准的任何硬件上。

(3) 可扩展性 OpenGL是低级的图形API,它具有充分的可扩展性。如今,许多Op开发商在OpenGL核心技术范围的基础上,增强了许多图形绘制功能,从而使OpenGL能紧跟最新硬件发展和计算机图形绘制算法的发展。对于硬件特性的升级可以体现在OpenGL扩展机制以及OpenGL API中,一个成功的OpenGL扩展回本融入在未来的OpenGL版本中。

(4) 可伸缩性 基于OpenGL API的图形应用程序可以运行在许多系统上,包括各种用户电子设备、PC、工作站以及超级计算机。

(5) 容易使用 OpenGL的核心图形函数功能强大,带有很多可选参数,这使得程序显得非常紧凑;OpenGL可以利用已有的其他格式的数据进行三维物体建模,大大提高了软件开发效率;采用OpenGL技术,开发人员几乎可以不用了解硬件的相关细节,便可以利用OpenGL开发照片质量的图形应用程序。

(6) 灵活性 尽管OpenGL有一套独特的图形处理标准,但各平台开发商可以自由的开发适合于各自系统的OpenGL执行实例。在这些实例中,OpenGL功能可有特定的硬件实现,可用纯软件例程实现,或者以软硬件结合的方式实现。

2.2.2 OpenGL基本功能与操作

OpenGL实质上是一个开放的三维图形软件包,他独立于窗口系统和操

11

燕山大学本科生毕业设计(论文) 作系统,能十分方便的在各平台之间移植,他不但具有开放性,独立性和兼容性三大特点,还提供了以下基本操作和功能:

(1) 建模功能 真实世界里的任何物体都可以在计算机中用简单的电、线、多边形来描述。OpenGL图形库除了提供基本的点、线、多边形的回执函数外,还提供了比较复杂的三维物体(如球、锥体、多面体、茶壶等)以及复杂的曲线和曲面(如Bezier、Nurbs等曲线或曲面)绘制函数,从而可以方便地构建虚拟的三维世界。

(2) 变换功能 可以说无论多复杂的图形都是由基本图元组成并经过一系列变换来实现的。OpenGL库的模型变换有平移、旋转、缩放等多种变换,投影变换有透视投影和正交投影两种变换。

(3) 颜色模式设置 OpenGL提供了两种着色模式,一种是RGBA模式,另一种是颜色索引模式(Color Index)。

(4) 光照和材质设置 正如自然界不可缺少光一样,绘制有真实感的三维物体必须做光照处理。OpenGL光源属性有辐射光,环境光,漫反射光和镜面光等。材质用光反射率来表示。场景中物体最终反映到人眼的颜色时光的RGB分量与材质RGB分量反射率相乘后形成的颜色。

(5) 反走样 在OpenGL绘制图形过程中,由于使用的是位图,所以绘制出的图像的边缘会出现锯齿形状,成为走样。为了消除这种缺陷,OpenGL提供了点、线多边形的反走样技术。

(6) 融合 为了使三维图形更加具有真实感,经常需要处理半透明或透明的物体图像,这就需要用到融合技术。

(7) 雾化 正如自然界中存在烟雾一样,OpenGL提供了“fog”的基本操作来达到对场景雾化的效果。

(8) 位图显示和图像增强 在图形绘制过程中,位图和图像是非常重要的一个方面。OpenGL提供了一系列的函数来实现位图和图像的操作。

(9) 纹理映射 在计算机图形学中,把包含颜色、alpha值、亮度等数据的矩形数组称为纹理。而纹理映射可以理解为将纹理黏贴在所绘制的三维模型表面,以使三维图形显得更生动。

12

第2章 OpenGL技术 2.3 OpenGL的图形实现

2.3.1 体系结构与渲染上下文

OpenGL/NT的体系结构如图2-1所示。

从程序员的角度看,在编写基于Windows的OpenGL应用程序之前必须清除两个障碍,一个是OpenGL本身是一个复杂的系统,这可以通过简化的OpenGL辅助库函数来学习和掌握;另一个是必须清楚地了解和掌握Windows与OpenGL的接口。 应用程序 OpenGL32.DLL GDI32.DLL 可安装的客户驱动程序 WINSRV.DLL 硬件相关DDI WIN32.DDL 视频显示驱动程序 图2-1 OpenGL/NT体系结构

OpenGL的绘图方式与Windows的一般绘图方式是不同的,其区别主要表现在以下3个方面:

(1) Windows采用的是GDI绘图。

(2) OpenGL采用的是渲染上下文RC(Render Context,又称渲染描述表)

13

燕山大学本科生毕业设计(论文) 绘图。

(3) OpenGL使用的是特殊的像素格式。

在Windows中使用GDI绘图时必须指定在哪个设备上下文(Device Context,又称设备描述表)中绘制,同样地,在使用OpenGL函数时也必须指定一个所谓的渲染上下文。正如设备上下文DC要存储GDI的绘制环境信息如笔、刷和字体等,渲染上下文RC也必须存储OpenGL所需的渲染信息如像素格式等。

渲染上下文主要由以下几个函数来管理:

(1) HGLRC wglCreateContext(HDC hdc) 该函数用来创建一个OpenGL可用的渲染上下文RC。

(2) BOOL wglDeleteContext(HGLRC hglrc) 该函数删除一个DC。 (3) HGLRC wglGetCurrentContext(void) 该函数返回线程的现行RC。 (4) HDC wglGetCurrentDC(void) 该函数返回与线程现行RC关联的DC。

(5) BOOL wglMakeCurrent(HDC hdc,HGLRC hglrc) 该函数把hdc和hglrc关联起来。

(6) BOOL wglUseFontBitmaps(HDC hdc,DWORD dwFirst,DWORD dwCount,DWORD dwBASE) 该函数使用hdc的当前字体,创建一系列指定范围字符显示表。

2.3.2 OpenGL图形处理流程

OpenGL的工作流程如图2-2所示。

(1) 几何操作(Vertex Operations) 每个顶点的空间坐标需要经过模型取景矩阵变换、法向矢量矩阵变换后进行几何要素装配,然后进行光栅化。

14

第2章 OpenGL技术 顶点数据求值器对定点操作及几何要素装配光栅化对像素段操作显示列表像素操作纹理装配帧缓冲区像素数据图2-2 OpenGL的工作流程 (2) 像素操作(Pixel Operations) 由主机读入的像素首先解压缩成适当的组份数目,然后进行数据放大、偏置,并经过像素映射处理,像素最后被写入内存,使用光栅化生成像素段。

(3) 像素段操作(Fragment Operations) 当使用纹理映射时,每个像素段将产生纹素,再进行雾效果计算、反走样处理等,最后写入帧缓冲区(Frame Buffer)。

创建一个二维图形的基本步骤,大致包括以下3个主要环节: (1) 建模 包括几何建模和行为建模。几何建模处理物体的几何形状的表示,行为建模处理物体的运动和行为的描述。

(2) 设置视点 描述观察者的空间位置。

(3) 设置环境 描述环境的特征,如光源、空气能见度等。[7]

2.3.3 OpenGL图形绘制方式

OpenGL的绘制过程多种多样,内容非常丰富,主要提供以下几种对三维物体的绘制方式:

(1) 线框绘制方式(Wire frame) 绘制三维物体的网格轮廓线。 (2) 深度优先线框绘制方式(Depth cued) 采用线框方式绘图,使远处的物体比近处的物体暗一些,以模拟人眼看物体的效果。

(3) 反走样线框绘制方式(Antialiased) 采用线框方式绘图,绘制时采用反走样技术,以减少图形线条的参差不齐。

(4) 平面明暗处理方式(Flat shading) 对模型的平面单元按光照进行着色,但不进行光滑处理。

15

燕山大学本科生毕业设计(论文) (5) 光滑明暗处理方式(Smooth shading) 对模型按光照绘制的过程进行光滑处理,这种方式更接近于现实。

(6) 加阴影喝问里处理方式(Shadow and Texture) 在模型表面贴上纹理甚至加上光照阴影效果,使三维场景像照片一样逼真。

(7) 运动模糊绘制方式(Motion blured) 模拟物体运动时,人眼观察所觉察到的动感模糊现象。

(8) 大气环境效果(Atmosphere effects) 在三维场景中加入雾等大气环境效果,使人有身临其境之感。

(9) 深度域效果(Depth of effects) 类似于照相机镜头效果,模拟在聚焦点处清晰。

2.3.4 OpenGL图形绘制方式

运行OpenGL主要有以下三种方式:

(1) OpenGL硬件加速方式 一些显示芯片(如 3Dlabs公司的GliNT)进行了优化,OpenGL的大部分功能均可由硬件实现,仅有少量功能由操作系统来完成。这样极大地提高了图形显示的性能,并且能够获得工作站级的图形效果,但是这样的图形硬件价格十分昂贵,非一般用户所能承担的。

(2) 三维图形加速模式 一些中低档的图形芯片往往也具备一定的三维加速功能,有硬件来玩咸亨一些较为复杂的图形操作。一些重要的OpenGL操作,例如Z缓存等就能够直接由显示卡硬件来完成,而显示卡所不能支持的图形功能,则通过软件模拟的方式在操作系统中进行模拟。采用这种方法,显示速度尽管无法与硬件加速方法相比,但与采用纯软件模拟方式相比,速度要快得多。

(3) 纯软件模式 对于不具备三维加速功能的显卡,要想运行OpenGL,只要采用纯软件模拟方式。由于所有复杂的OpenGL图形功能均通过主机来模拟,所以速度将会受到很大的影响。但正是由于有了软件模拟方式,才使得更多的用户能够领略OpenGL的强大功能,并能在硬件性能较差的机器上对OpenGL进行发展。

采用OpenGL技术,将大大降低开发高质量图形软件对软、硬件的依赖

16

第2章 OpenGL技术 程度。

2.4 OpenGL的图形开发库

2.4.1 开发库组成

Windows下的OpenGL组件有2种,一种是SGI公司提供的,一种是Microsoft公司提供的。两者没有太大区别,都是由3大部分组成。

(1) 函数的说明文件 包括g1.h、glu.h、glut.h、glaux.h。

(2) 静态链接库文件 包括g1u32.1ib、glut32.lib、glaux.Lib和openg132.Lib。

(3) 动态链接库文件 包括glu.d11、g1u32.d11、glut.d11、glut32.dll和opengl32.dll。

2.4.2 基本数据类型

OpenGL的数据类型主要是描述三维物体空间位置及其属性的整数和浮点数。虽然OpenGL的数据类型可以用其他语言的相应数据类型来表达,但是建议在OpenGL编程时采用OpenGL定义的数据类型。OpenGL中定义的数据类型均以GL开头,与C语言中的数据类型的对照关系如表2-1所示。

表2-1 OpenGL与C语言数据类型对照[8]

缩写字符 b ub s us i ui f 数据类型 8位整数 8位无符号数 16位整数 16位无符号整数 32位整数 32位无符号整数 32位浮点数 C中的数据类型 signed char Unsigned char short unsigned short long unsigned long float OpenGL中的数据类型 GLbyte GLubyte,GLboolean GLshort GLushort Glint,GLsizei GLunit,GLenum GLfloat,GLclampf OpenGL中定义了大量的符号常数,所有这些都是以GL_开头,全部采用大写字母,常数的各部分之间采用下划线分割,表2-2列出了部分OpenGL

17

燕山大学本科生毕业设计(论文) 中的符号常数及其含义。

表2-2 OpenGL中的部分常数及其含义

缩写字符 GL_POINTS GL_LINES GL_POLYGONS GL_AMBIENT GLPOSITION GL_STOP_DIRECTION GL_CONSTANT_ATTENUATION GL_FLAT GL_SMOOTH 数据类型 绘制单个顶点集 绘制多组独立的双顶点线段 绘制单个连线多边形 设置RGBA模式下的环境光 设置光源位置 设置光源位置 设置常数衰减因子 设置平面明暗处理模式 设置光滑明暗处理模式 2.4.3 OpenGL库函数

OpenGL库函数大致分为6六类:

(1) OpenGL核心库 包含有115个函数,其中的函数名称前缀为g1。这部分函数用于常规的,核心的图形处理。由于许多函数可以接收不同数据类型的参数,因此派生出来的函数原型多达300多个。

(2) OpenGL实用库 包含有43个函数,其中的函数名称前缀为glu。这部分函数通过调用核心库的函数为开发者提供相对简单的用法,实现一些较为复杂的操作。如坐标变换、纹理映射、绘制椭球、茶壶等简单多边形。OpenGL中的核心库和实用库可以在所有的OpenGL平台上运行。

(3) OpenGL辅助库 包含有31个函数,其中的函数名称前缀为aux。这部分函数提供窗口管理、输入输出处理以及一些简单三维物体。OpenGL 中的辅助库不能在所有的OpenGL平台上运行。

(4) OpenGL工具库 包含大约30个函数,其中的函数名称前缀为glut。

18

第2章 OpenGL技术 这部分函数主要提供基于窗口的工具,如多窗口绘制、空消息和定时器,以及一些绘制较复杂物体的函数。由于glut中的窗口管理函数是不依赖运行环境的,因此OpenGL中的工具库可以在所有的OpenGL平台上运行。

(5) Windows专用库 包含有16个函数,其中的函数名称前缀为wgl。这部分函数主要用于连接OpenGL和windows 95/NT,以弥补OpenGL在文本方面的不足。Windows专用库只能用于Windows 95/98/NT环境中。

(6) Win32 API函数库 包含有6个函数,函数名无专用前缀。这部分函数主要用于处理像素存储格式和双帧缓存。这6个函数将替换Windows GDI中原有的同名函数。Win32API函数库只能用于Windows 95/98/NT环境中。

2.5 本章小结

本章主要介绍了OpenGL的发展,OpenGL技术概述,以及图形实现和图形开发库。OpenGL是一个图形硬件的软件接口,并已经形成一种工业图形标准。OpenGL的显著特性之一就是良好的与硬件无关的可移植性,因此较其他的几种3D API具有更为广泛的实用性。

19

燕山大学本科生毕业设计(论文) 第3章 圆波导的矢量传播方式

3.1 概述

人们发现电、磁现象为时久远,但是建立电场、磁场的概念,确定它们各自的表征量,发现并通过实验总结出电、磁现象的规律,进而揭示出时变情况下电与磁的相互依存关系等,这些则是近二百年所研究的内容,对电磁场的研究要细化到电流元。[9]

电流元是所有辐射结构最为基本的形式。它在宏观无线电辐射和微观带电粒子辐射中都占有重要地位。其中,天线可以看作是无穷多的电流元的连接组合,那么在空间任一点处这无穷多电流元所产生的场之和(一般地说这是不同矢量方向,不同幅值和相位的矢量之和),即是天线的辐射场,这也是研究电流元的意义所在。

电流元视为分析线状天线而设想的一个物理模型,它是一段具有微分长度、截面尺寸更小于其长度并留有正弦时变电流的天线微分段,这样在其长度范围内我们可以认为其电流的幅值和相位都是恒定的。电流源也成为基本电振子或元电辐射体,因为它是研究天线而抽象出来的天线最小构成单元。

一般数据场可以由数个多元函数来表示,函数定义域就是数据场的分布区域是一个数域,数据场取值区域也是一个数域。数据场来源于物理场的抽象,一般是张量场,包括标量场和矢量场。矢量线是矢量场分布空间中的一组虚拟曲线。曲线切线方向表示这一点是两场的方向。分布空间一点通过矢量场垂直截面内矢量线的多少(通量)一定意义上反映这点矢量场的大小。

3.2 电磁场中的方程

3.2.1 自由空间中的麦克斯韦方程组

电磁场现象的实验定律都是在特定的条件下总结出来的,因而很少又相互的关联,例如,静电场即时不变条件下电场的问题与磁无关。直至1873年,英国学者麦克斯韦(Maxwell)在综合电磁学实验定律的基础上,提出了著名的电磁学方程组,揭示出电磁现象的深层次关系和本质问题,完成了现代电气工程特别是电信工程的重要理论奠基。麦克斯韦方程组为:

20

第3章 圆波导的矢量传播方式 ??????H?r,t??D?r,t??J?r,t?

?t?????E?r,t???B?r,t?

?t???D?r,t????r,t? ???B?r,t?0? ?????其中,E,B,H,D,J和?是位置与时间的时变函数。 ?E?r,t?——电场强度(V/m) ?2D?r,t?——电位移(C/m) ?2B?r,t?——磁通量密度(Wb/m) ?2J?r,t?——电流密度(A/m) ?H?r,t?——磁场强度(A/m)

(3-1) (3-2) (3-3) (3-4)

??r,t?——电荷密度(C/m3)

方程(3-1)是安培环路定律的扩展为场源有电流和位移电流的全电流定律,也称为麦克斯韦第一方程。方程(3-2)是法拉第-楞次电磁感应定律,也称麦克斯韦第二方程。方程(3-3)是电场的高斯定律,也称麦克斯韦第三方程。方程(3-4)是磁通连续性原理,也称麦克斯韦第四方程。麦克斯韦对电磁定律

?的贡献是在安培定律(3-1)中增加了电位移项?D?t。

?电流密度J?r,t?和电荷密度??r,t?之间的关系遵循连续性定理

????J?r,t?????r,t? (3-5)

?t??其描述了电流和电荷密度在r处是守恒的。在r处一个无限小的体积中?电流J的散度等于此处电荷密度?随时间t减少的变化率。

3.2.2 自由空间中的本构关系

麦克斯韦方程组是自由空间与介质中电磁场的基本定律。自由空间的特性有下面的物质本构关系确定。

???D??0E?P (3-6) ???B??0H??0M (3-7)

其中,?0?1/36??10?9F/m(法/米),?0?4??10?7H/m(亨/米),分别为自由空间中的介电常数与导磁系数。

21

燕山大学本科生毕业设计(论文) 3.2.3 波动方程

微分形式的麦克斯韦方程组在自由空间中的任何一点都成立。麦克斯韦方程组在无源,即

?J???0区域中的解。这并不是说在整个空间中没有源

存在,而只是指在我们感兴趣的区域中不存在源。这样,自由空间无源区域中的麦克斯韦方程组就变为

?????H??0E

?t?????E???0H?t???E?0 ???H?0

(3-8) (3-9) (3-10) (3-11)

如果表示成标量偏微分方程,则有

?????Hz?Hy??0Ex (3-12a) ?y?z?t??????Hx?Hz??0Ey (3-12b) ?z?x?t??????Hy?Hx??0Ez (3-12c) ?x?z?t??????Ez?Ey???0Hx (3-13a) ?y?y?t??????Ex?Ez???0Hy (3-13b) ?z?x?t??????Ey?Ex???0Hz (3-13c) ?x?y?t??????Ex?Ey?Ez?0 (3-14) ?x?y?z??????Hx?Hy?Hz?0 (3-15) ?x?y?z??关于E的波动方程可以通过从方程(3-12)和(3-13)中消去H得到。将

?(3-12a)两边对时间求导,然后将(3-13c)和(3-13b)代入,则有

??????????????Ey?Ex??Ex?Ez??0?02Ex=? ???y?x?y?z?z?x?t?? ???2 22

第3章 圆波导的矢量传播方式 22??2????=?2?2?2?Ex (3-16)

?y?z???x?其中,也利用了式(3-14)。这样就得到了如下关于E的三个分量的方程

组。

222??2????2????0?0222??x?y?z?t?222??2????2????0?0222??x?y?z?t?222??2????2????0?0222??x?y?z?t????Ex?0 (3-17a) ?????Ey?0 (3-17b) ?????Ez?0 (3-17c) ??22采用直角坐标系中的拉普拉斯算子?2, ??则有

2??? ?E??0?02E?0 (3-19)

?t22?22?x??22?y???z (3-18)

同理:

2??? ?H??0?02H?0 (3-20)

?t2?这就是通常所称的亥姆霍兹波动方程。把式(3-19)与(3-20)关于E

?与H的方程在直角坐标系展开写

??E2?x2???E2?y2???E2?z2??kE?02?2?H?x2??2?H?y2??2?H?z2 (3-21)

?2?kH?0 (3-22)

从麦克斯韦基本电磁理论出发,严格推导得出磁场强度表达式和磁场线表达式与电流元辐射的电场强度表达式和电场线表达式,并从理论角度对电流元辐射场的各种情况进行了分析,为下节推导圆截面波导TE模式的场分布方程表达式奠定基础。

23

燕山大学本科生毕业设计(论文) 3.3 圆波导中TE模式的分析

3.3.1 圆波导中的波形及其场分量

在圆柱波导中采用圆柱坐标系(r,?,z),其度量系数h1?1,h2?r。于是方程可写为:

j???Hz?)?2Kc?rr????Hz?1j??EzE???2(?j??)?Kcr???r??

?Hz1j???Ez?Hr??2(j??)Kc?rr?????Ez?1j??HzH???2(?j??)Kcr???r??Er??1(j??Ez? (3-23)

而Ez和Hz满足如下标量亥姆霍兹方程:

?Ez?r222?1?Ezr?rr?r?1?Ezr?22??222??KcEz (3-24)

2?Hz?r2?1?Hz1?Hzr??2??KcHz (3-25)

2下面来求TE模的场分量。

对于TE模,Ez?0,只需求Hz。应用分离变量法求解式(3-24),即令

Hz?R(r)?(?)e?j?z (3-26)

1?????22带入式(3-25),得到方程

r?RR?r222?r?RR?r?Kr??2c2 (3-27)

此式要成立,则等式两边必须等于一个共同的常数。令此常数为m2,则得到如下两个常微分方程:

d?d?22?m??0 (3-28)

22r2dRdr2?rdRdr?(Kcr?m)R?0 (3-29)

222其解分别为

24

第3章 圆波导的矢量传播方式 ?(?)?B1cosm??B2sinm??BR(r)?A1Jm(Kcr)?A2Nm(Kcr)cosm?sinm? (3-30)

(3-31)

[10]

式中,A2、Jm(Kcr)是第一类m阶贝赛尔函数,A1、Nm(Kcr)B为积分常数;

是第二类m阶贝赛尔函数。

这里要对式(3-30)所示?(?)的解行作两点解释:第一,这里?的解不写成??cos(m???)的形式,是考虑到圆波导存在着轴对称性起始角?无法确定。当??0时,coms??(??coms??(??cosm?;)m?c当????/2时,

)m?,而当?为其他任意角时,cos(m???)可分解成包含s和sinm?的两部分。第二,m必须取整数,m=0、1、2、…。由于

圆波导结构是对称的,因此当r和z一定时,坐标?旋转360?变成??2?后,其电磁场的大小和方向应当不变,即应有

cos(m???)?cos[m(??2?)??]

(3-32)

此式成立的条件即要求m须为整数。一般取整数,负整数的结果与正整数一样。

将式(3-30)和(3-31)代入式(3-26),得到

Hz??A1Jm?Kcr??A2Nm?Kcr??Bsinm?ecosm??j?z(3-33)

边界条件要求:①0?r?R,Hz应为有限值;②在r?R处,E??Ez?0。 根据边界条件①,要求A2?0。因为r?0时,Nm(Kcr)???,而圆波导中心处的场应该是有限的,故须令A2?0。

根据条件②,由式(3-23)可知,即要求

?Hz?rr?R?0

(3-34)

?j?z由式(3-33),

?Hz?rr?R?{A1KcJm(KcR)}B'cosm?sinm?e?0 (3-35)

标数m和n,其中贝塞尔函数的阶数m同时表示在横面上圆周方向上场量幅值分布的半驻波数,其中根序数n则表示半径方向上场量幅值分布的过零次数。这就说明圆波导中不同模式波幅值横向分布式是不一样的。

25

燕山大学本科生毕业设计(论文) 这样我们就得到圆波导中传输类型TE场分量为:

'2??sin?j(?t??z)??mnj??mRHmnJm(r)e?Er????'2cos?(?)rRm?0n?1mn?'???cos?j(?t??z)??R′?mnE?HJ(r)e????mnm'sin?Rm?0n?1?mn??E?0z??'??cos?j(?t??z)?R?′?mnH??HJ(r)???'mnmRsin?e?rm?0n?1mn?'2????mncos?j(?t??z)?RHmnJm(r)e?H?????'2sin?(?)rRm?0n?1mn?'????mncos?j(?t??z)?Hz???HmnJm(r)esin?R?m?0n?1? (3-36)

由此可见,圆波导中的TE模有无穷多个,以TEmn表示之。m表示场沿圆周分布的驻波,n表示沿半径分布的半驻波数或场的最大值个数。

3.3.2 圆波导主模TE11模

如上所述,TE11模是圆波导的主模,其截至波长?c?3.41R。 将m=1,n=1带入(3-36)可以得到TE11模场分量为

2?j??R1.841sin??E??HJ(r)cos(?t??z?)111?r2cos?(1.841)rR2??cos???R?′1.841E?HJ(r)cos(?t??z?)??111sin?1.841R2??E?0z?cos? ?R??′1.841H??HJ(r)cos(?t??z?)111?rsin?1.841R2?2??R1.841cos??H??HJ(r)cos(?t??z?)??1112sin?(1.841)rR2??1.841cos?r)cos(?t??z)?Hz?H11J1(sin?R? (3-37)

可见TE11模有五个场分量,其场结构与矩形波导主模TE10模的场结构相似,因此很容易由矩形波导TE10模来过渡变换成圆波导的TE11模。

26

燕山大学本科生毕业设计(论文) 界面上的可操作组件包括:

平移组件:实现平移功能。X, Y, Z分别实现X轴、Y轴和Z轴的平移。

旋转组件:实现旋转功能。?,?,?分别实现绕X轴、Y轴和Z轴的旋转。

缩放组件:实现仿真界面的整体放大和缩小功能。

步长组件:实现平移和旋转调整的步进功能。当选择步进为-2时,平移和旋转的调整幅度为每次0.01个单位;选择步进为0时,平移和旋转的调整幅度为每次1个单位;选择步进为2时,平移和旋转的调整幅度为每次100个单位;选择步进为1时,平移和旋转的调整幅度为每次10个单位。

生成数据组件:实现动画播放功能。 显示组件:单步移动的播放功能。

此外还有:纹理、动画、光照、坐标,分别实现相应的功能。 C++ Builder建立的用户操作界面如图4-3所示:

图4-3 用户操作界面

32

第4章 圆波导TEmn模电磁场的可视化 4.4 图形实现模块

4.4.1 场覆盖图绘制

这个模块绘制在不同时刻圆柱波导上的表面电流与电磁场分布图。由编程思路对其进行编程,主要编程步骤如下:

由于是基于圆柱体而言的,在视觉效果上需要作一个圆柱体,以实现电磁场在圆柱体内的运动,因此需要编写一个圆柱体:

GraphPartCylinder(3000,180.,360.,h,R0,R0*1.1); //绘制圆截面波导 iMax=60;

dTH=new float[NX*NY]; dR=new float[NX*NY]; dP=new float[NX*NY]; dZ=new float[NX*NY]; dX=new float[NX*NY]; dY=new float[NX*NY];

根据所导出的电磁场与表面电流的表达式,编写分布覆盖图: if(iMode==0)

CT=calCTE; //当iMode=0时,圆波导选择TE模式 else

CT=calCTM; //反之圆波导选择TM模式 定制场覆盖图

for(int ii=0;ii

float r=R0*ii/(NX-1); for(int jj=0;jj

float z=h*jj/(NY-1); dR[ii*NY+jj]=r; dP[ii*NY+jj]=0;

33

燕山大学本科生毕业设计(论文)

dZ[ii*NY+jj]=z; }

}

vmax=CT(dL,R0,t,m,n,dTH,dR,dP,dZ,NX,NY,iCase); //当iCase=0时为绘制电场;当iCase=1时为绘制磁场;当iCase=2时为绘制表面电流

GraphOverlay(dTH,0.0,vmax,dX,dY,dZ,NX,NY,0); //绘制场覆盖图 这样便实现了编程的主体部分。

4.3.2 动画播放模块

动画播放模块主要功能是实现电磁场的动态传播。通过选择触发注册的AnimateClick()[13]事件来调用代码:Timer1->Enabled=Animate->Checked;通过选择的状态来判断是否启动时间函数来进行动画播放,若时间函数启动则会每100毫秒调用一次以下代码:

for(int i=0;i

glPushMatrix(); dh=(zoom[i]+j*0.15); if(dh>3.0f) dh-=6.0f; glTranslatef(0,0,dh); glCallList(circulate); glPopMatrix();

}

这样当将用户操作界面的动画一栏选中时,再点击生成数据系统就会开始进行动画演示,为方便观察程序的单步效果,还在用户操作界面添加了显示按钮,点击显示按钮一次,静止的图片便会有电磁线的一次移动。

4.4 图形仿真结果及分析

通过OpenGL和C++ Builder混合编程得出了电磁场与表面电流的可视化图形, 在不同的视觉角度和时间会得到不同的图形,如果改变参数m和

34

第4章 圆波导TEmn模电磁场的可视化 n的值就可以得到不同的传播模式及传播状态。

(1) 当m=1,n=1时,此时它的截止波长?c?3.41R,现在先看TE11模立体视觉图形,如图所示。

图4-4 TE11模式表面电流分布覆盖图

图4-5 TE11模式电场分布覆盖图

图4-6 TE11模式磁场分布覆盖图

(2) 当m=0,n=1时,此时它的截止波长?c?1.64R,现在看TE01模立体视觉图形,如图所示。

35

燕山大学本科生毕业设计(论文)

图4-7 TE01模式表面电流分布覆盖图

图4-8 TE01模式电场分布覆盖图

图4-9 TE01模式磁场分布覆盖图

(3) 当m=2,n=1时,此时它的截止波长?c?2.06R,现在看TE01模立体视觉图形,如图所示。

图4-10 TE21模式表面电流分布覆盖图

36

第4章 圆波导TEmn模电磁场的可视化

图4-11 TE21模式电场分布覆盖图

图4-9 TE21模式磁场分布覆盖图

由以上图可以看出,在分布覆盖图中红色区域的表示它的电流或电场、磁场最强,绿色的区域次之,蓝色的最弱。是由红橙黄绿青蓝紫依次表示它的场分布的强弱,非常形象直观的展现了场分布特性。对于圆波导TE11模波导中心电场最强,表面电流与磁场分布在波导的对称外侧最强。而对于TE01模电场处于圆波导内环处最强而在圆波导中心处最弱,表面电流与磁场在圆波导中心处最强。对于TE21模其电场除了中心十字分布较弱,几乎都处于较强状态,而表秒电流与磁场在圆波导外侧呈十字对称处有较强的分布。当然当m 、n取不同的值时会得到不同的场分布覆盖图。

虽然TE11模是圆柱波导的主模[15],但它存在极化简并,而圆波导加工时总难免出现一定的椭圆度,会使模的极化而发生旋转,分裂成极化简并模,。所以不宜采用TE11模来传输微波能量。这也就是实用中不用波导而采用矩形波导作传输系统的基本原因。

4.5 本章小结

本章主要介绍了圆波导TEmn模式表面电流的编程思想及编程实现

[16]

,并通过仿真结果图形对电磁场与电场电力线进行了分析,比较形象直

37

燕山大学本科生毕业设计(论文) 观的观察了圆波导在不同模式的场覆盖图,更深刻理解了圆波导内的场分布状态。

38

结论 结论

圆波导具有损耗较小与双极化特性,常用在天线馈电中。但是电磁场公式中繁杂的公式及数据使人们难以观察出辐射场的规律,而采用三维仿真技术动态显示电场电力线的方法则非常的直观、形象,并能够深入地领悟和认识其内在的规律。本文基于OpenGL对圆波导TEmn模的可视化的研究主要的得出以下结论:

(1)通过大量查阅资料和对OpenGL三维仿真技术的学习,得知OpenGL是一个图形硬件的软件接口,是一款强大的三维开发图形工具,实现了圆波导的动态可视化。

(2)根据圆柱坐标的转换原则实现对圆波电磁场与导表面电流方程的推导,得出了电场、磁场和电流线表达式,为实现可视化提供了理论支持。

(3)在计算机的辅助下,利用OpenGL和C++ Builder混合编程技术实现了圆波导TEmn模式表面电流与电磁场的可视化,通过对表面电流与电磁场的分析,使我们更直观的认识了圆波导TEmn模式表面电流与电磁场的特性,加深了我们对电磁场的认识。

电磁场三维可视化是一项热门的研究课题。随着计算图形学的发展,人们对可视化的要求也越来越高,希望快速、准确、逼真的进行可视化。此次设计采用均匀采样,但空间中的采样点的疏密度不一样,这是本次设计的不足之处,可以采用适当的非均匀采样地方法进行改善。由于时间仓促及本人能力有限,尚未完善,有待进一步探讨和研究。

39

燕山大学本科生毕业设计(论文) 参考文献

[1] 姚合生.基于OpenGL的快速原形制造系统仿真.清华大学出版社,2008,11(11):177~179

[2] 李衷怡,辛建华,李利军 著.空间电磁场三维可视化技术研究.计算机与数字工程报,2005,33(10):53~55

[3] 陈文彤,刘超军 著.高等数学.清华大学出版社,2006,85~90 [4] 郭伟雷,王涛,李少洪.系统仿真学报.2005,17(9):2175~2178 [5] Jin Au Kong.Theory of electromagnetic waves.电子工业出版社,2003,64~116

[6] 李津,白建军,卢泽新.基于OpenGL的卫星网络可视化仿真.现代电子信息技术理论与应用,2001,25(9):112~121

[7] ohn D.karus Ronald J Marchefka著,章文勋 译.天线(antennas:for all applications third edition).电子工业出版社,2004,50~90

[8] 唐泽圣.科学计算可视化.人民教育出版社.1996:3(4):5~7 [9] 康灵,董纯.基于OpenGL Performer的领域可视化仿真研究.华中科技大学学报.2003,6(3):72~73

[10] 李薇,徐国标 著.OpenGL 3D入门与提高.西南交通大学出版社,1998,56~98

[11] Edward Angel.OpenGL编程基础.清华大学出版社,2008,22~45 [12] 姚合生.基于Op enGL及VC++6.O的快速原形制造系统仿真.技术研发.2006,6(10):69~71

[13].王永龙,夏昌龙,樊三强,宋光乐,李尊营.圆波导管壁电流分布仿真.临沂师范学院学报.2009,(3):5~9

[14].王永龙,夏昌龙,樊三强,宋光乐,李尊营.基于MATLAB编程的圆形波导中能流密度分布图仿真.临沂师范学院学报.2008,1(3):6~8

[15].John D.Kraus,Ronald J.Marhefka.Antennas:For All Applications(Third Edition).电子工业出版社,2006,36~45

[16] Jackie Neider,Tom Davis,Mason Woo.OpenGL Programming

40

参考文献 Guide.Addison-Wesley Publishing Company,First Printing,1993,(2):90~92

[17] John

D.Kraus,Ronald

J.Marhefka.Antennas:For

All

Applications(Third Edition).北京:电子工业出版社,2006,36~45

41

燕山大学本科生毕业设计(论文) 致谢

42

本文来源:https://www.bwwdw.com/article/5prr.html

Top