目 录
摘 要: 1
关键词: 1
Abstract: 2
Key words: 2
1.绪论 3
1.1 本文的主要结构 3
1.2 研究背景和意义 3
1.3 研究内容 4
1.4 国内外研究现状 4
2.技术背景介绍 6
2.1计算机图形学的发展历程及应用前景 6
2.1.1计算机图形学的发展简史 6
2.1.2计算机图形学的应用 6
2.1.2.1计算机辅助设计与制造 6
2.1.2.2科学计算可视化 7
2.1.2.3图形实时绘制与自然景物仿真 7
2.1.2.4计算机动画 7
2.1.2.5计算机艺术 8
2.1.3计算机图形学发展前景 8
2.2 Visual C++ 6.0 8
2.2.1 Visual C++ 6.0的简介 8
2.2.2 Visual C++ 6.0特色和缺点 9
3.贝塞尔(Bezier)曲线的绘制 9
3.1 贝塞尔曲线的介绍 9
3.2 Bezier曲线的性质 10
3.3 三次Bezier曲线绘制 10
4.三次B样条曲线的绘制 12
4.1 三次B样条曲线的介绍 12
4.2 三次B样条曲线的性质 13
4.3 三次B样条曲线的绘制: 14
4.4 程序运行效果图 15
5.正叶线 15
5.1 正叶线 15
5.2 正叶线源码及效果图 16
结论 18
参考文献: 19
致谢 20
基于VC的平面曲线绘制
摘 要:在我们的生活当中,曲线扮演着十分重要的角色,很多地方我们都需要用到曲线,本论文致力于对曲线的研究,在介绍计算机图形学算法及原理基础上,利用Visual C++开发环境中数据范围可变时确定坐标轴刻度和绘制平面曲线的方法,根据提供的图形数据的参数曲线方程,参数的几何意义,最大和最小的参数值,参数最合适的取值。利用这些参数和图形数据绘制出该平面曲线的的图形,本文将会介绍几种经典的平面曲线,这些曲线在实际的生活中扮演的很重要的角色,很多工程的实现都需要用到这些,本论文将会教会大家怎样绘制平面曲线。介绍在绘制曲线的过程需要注意哪些关键的东西。还会具体的分析该曲线所具有哪些属于自己的关键性质。
关键词:Visual C++;平面曲线;计算机图形学。
Plane curves based on VC
Abstract: Curve plays a significant role in our life and is used by us in a great many of areas, hence the objective of this dissertation is researching curve. The dissertation based on the introduction of computer graphics calculation and theory, it guarantees the graduation of coordinate axis and method of drawing plane curve through utilizing the changeability of data range in Visual C++ development environment. In addition , it also based on graphics data of parameter of curve equation, geometric significance, the maximum and minimum and suitable value which are provided. Then, drawing the graphics of plane curve through these parameters and graphics data. This article introduce several categories of classical plane curves as well, these curves play an vital role in real life, they are important for a vast number of engineering achievements, The thesis will teach people how to draw plane curve, and the key information that we need to notice during the process of drawing plane curve, simultaneity, it will analyse particularlly which pivotal character the curve belongs to as well.
Key words: Visual C++ , Plane curve, Computer graphics
1 绪论
1.1 本文的主要结构
第一部分主要介绍本论文的研究背景和意义、论文主要研究的内容、国内外最新的研究成果
第二部分主要介绍计算机图形学的发展史和Visual C++ 6.0的发展情况
第三部分详细介绍几种平面曲线及其实现过程
1.2 研究背景和意义
计算机辅助几何设计始兴于20世纪60年代,最初始于飞机、船舶的外形放样工艺。在当时计算机发展的影响下,为了利用计算机更高效地进行设计,人们开始寻找研究曲线或曲面的表示方法,其中最著名、最实用的是法国雷诺汽车公司的工程师提出的Bezier技术[1]和美国机械工程师Coons提出的Coons技术[2,3]。在大多数情况下,描述产品外形的曲线或曲面只有大概形状或者只知道它所通过的一系列空间点列,这些点称为控制点,这类曲线或曲面叫自由曲线或自由曲面,而计算机辅助几何设计就是研究自由曲线曲面的表示、设计、显示、分析与综合以及处理等问题。B样条曲线是Bezier曲线的改进,对于Bezier曲线来说,特征多边形顶点个数决定了Bezier曲线的阶次,并且当n较大时,特征多边形对曲线的控制将会减弱。改变一个控制顶点的位置 会影响整个曲线的形状,这不利于对曲线的局部修改,且Bezier曲线在很多情况下不能反映特征多边形的特点。1972~1974年Gorden等将Bezier的基函数换成B样条函数,从而构造了等距离节点的B样条曲线,也称为均匀B样条曲线。
B样条曲线的应用范围非常广泛,不仅在几何造型方面,还应用到其它许多方面,如应用B样条函数处理力学问题[4],结合小波方法应用于图像的完整性认证[5],应用于实验数据的压缩[6],应用于一维、二维空间中轨迹的规划[7]等。B样条曲线的应用范围还在不断的扩大,同时也在不断的改进,因此对它的研究具有一定的应用价值和推广价值。
B样条曲线造型方法的理论基础是B样条,下面从B样条的定义和性质,以及各种B样条曲线的定义和程序实现方法进行阐述。
1.3 研究内容
本论文主要基于VC++程序实现对平面曲线的绘制,论文中将会具体提供对下面几种平面曲线的绘制算法。
贝塞尔(Bezier)曲线的绘制
B样条曲线的绘制
正叶线绘制
1.4 国内外研究现状
Bezier曲线的提出是1962最先由贝齐尔开始的,它最初的研究是面向几何而不是面向代数。Bezier曲线提出之后在20世纪80年中后期在工业界和CAGD学术界就产生了极大的影响,并在计算机辅助设计/制造(CAD/CAM)领域中得到了广泛应用,一直以来都有很多学者对它进行研究。由于它常常应用于不同造型系统,而不同造型系统之间经常需要进行几何描述信息的数据交换或数据集成,因此,降阶运算作为Bezier曲线的基本运算就具有非常重要的意义。因而,降阶逼近算法的理论研究也就一直成为了研究的热点。对Bezier曲线的降阶问题的研究大致可分为如下两类:
一类是基于控制顶点几何信息的离散化方法,这类方法主要着眼于原曲线的控制顶点和导矢等几何信息进行降阶。在国外,最早由Forrest于1972年在"Algorithms forrational Bezier curves"[9]中提出,但是误差较大;80年代 Farin在"Algorithms forrational Bezier curves"中对有理Bezier曲线、曲面的降阶进行了研究[10],Pank的"Degree Reduction of Bezier Curves"等改进了Forrest的方法[11],得到了较好的效果;而Moore和Warren的"Least-Square Approximation to Bézicurvsand Surfaces"[12]通过原曲线与待求曲线所围面积的极小来反求降阶后曲线的控制顶点,给出了一种降阶算法;Lodha 和 Warren 的"Degreere Duction of Bezier Simplexes"[13]的算法进一步考虑了一般的Bezier单形A,利用插值和凸组合技巧,先构造k个d次的Bezier单形Ak,d
另一类是侧重于基转换的代数方法,Watkins和Worsey以及Eck利用升阶反过程与约束Chebyshev多项式有机地结合起来,对曲线降阶问题进行处理;Eck用约束Legendre多项式在L2范数空间中进行降阶,逼近效果优于以往的方法,但多阶降阶逼近问题采取每次降一阶来分次实现。而Lachance则提出了约束Chebyshev多项式的概念,降阶逼近曲线端点可保持原曲线的 A 阶连续插值,从而无须通过Lag
上一篇:基于VC++的图像压缩编码技术的研究及算法实现(2003doc)
下一篇:采用VC的伺服电机控制毕业论文(2003doc)