绘图软件的设计 学位论文
- 格式:doc
- 大小:3.74 MB
- 文档页数:64
AutoCAD的一些绘图技巧×××(计算机×××××××)摘要经过一段时间的学习及实践经验,谈谈AutoCAD 如何更加简单快速的修剪(trim )画图,更快捷方便的用图解法计算不规则的图形,采取“对象捕捉追踪”的方法作辅助线比采取单一的“画直线( line )”的方法更加快速、简便以及一些绘图技巧。
关键词 AutoCAD 绘图应用技巧1引言AutoCAD是现代产品设计中广泛采用的现代设计方法和手段。
多年来,它一直是国内使用最广泛、应用最成熟的计算机辅助绘图及设计软件,尤其在机械、建筑和电气工程方面使用更为广泛。
尽管近年来, PRO- E、UG等大型三维 CAD/CAM集成软件逐步流行,由于 AutoCAD 的种种独特优点和我国国情,使得 AutoCAD软件的生命力仍然长久,在现在和将来一段时间将与三维CAD软件相辅相成,继续广泛使用。
所以,我们应该继续充分关注AutoCAD。
尽管一般教科书及资料对其功能已有详尽介绍,但还应充分发掘并优化其使用功能,以提高绘图的速度和设计的效率。
下面,根据一段时间的学习和实践经验,介绍用AutoCAD快速、简便进行绘图及体会。
2 绘图的简单方法快速修剪( trim )画图;采取“对象捕捉追踪”的方法作辅助线。
2.1 快速修剪( trim )画图画图中,修剪( trim )命令很常用,而且非常有效。
使用修剪命令来画图其要点是开始时如何选择好修剪边界(Select cutting edges)。
选择修剪边界实际上就是通常的选择对象( Select object),选择对象包括点选(point )和窗选( window)两类,点选即为把对象选择小靶框移到欲选择的某图素上直接点击,窗选则为拖动对象选择小靶框形成一个矩形窗口把欲选择的一个或多个图素框住,也称之为框选。
2.2 取“对象捕捉追踪”的方法作辅助线作辅助线绘图众所周知,在绘制工程图时,主视图、俯视图和侧视图之间要符合“长对正、高平齐、宽相等”这三等关系的投影规律,而当图形较复杂或较大时,用目测很难满足投影的“三等关系”,因此常常需要引出一些辅助线以保证投影关系。
浅谈对AutoCAD软件的感受学院:电气信息工程学院专业班级:自动化11-02姓名:学号:541101010224一、我对AutoCAD的认识这学期我选择了AUTOCAD课程,我真切地体会到了这种绘图系统的实用性。
同时也感觉到,绘图作为机械设计过程中设计思想的载体,具备良好的绘图能力是每一个设计人员最基本的素质。
虽然现在考试已经结束,但我觉得自己的学习过程还没结束,还有很多地方可以提高。
说到它的使用性,相信许多同学都有同感。
以前我们画工程制图是手工画,画一张完整的A3也得两个小时,还记得最后的测绘用了二十多个小时,令大家倍感疲惫。
而且要注意图纸的整洁,线条的宽度,字体的美观,绘制过程花费很多时间。
现在用AUTOCAD就完全没有这方面的问题,粗细线条全用“特性”来规范,一目了然。
尺寸也相当准确,在命令提示行里输入多少就是多少,也不用拿着丁字尺在图纸上比来比去,到头来还是达不到十分准确。
画线线连结的时候CAD尺寸方面的优势就更加明显,比如画圆与直线相切的时候,手工绘图只能凭感觉觉得差不多就画上去,每一条画得都不一样,怎么看都不对称。
用CAD画,打开对象捕捉就能把切点给抓进来,又快又准!尺寸标注更是快捷,两个点一拉,左键一点就完成一个标注,不用画箭头,不用标文字,只要自己设计好标注格式,计算机就能按要求标出来。
插入文字也很方便,在多行文本编辑器里输入文字内容就能出来绝对标准的国标字,比起我们手写的字就美观漂亮的多!粗糙度、基准符号、标题栏等做成块就可以随意插入,用不着一个一个地画了,用起来确实很快!以上说的都是画二维图AUTOCAD的优越性。
不仅二维图形方便快捷,AUTOCAD作为世界上功能最强大的绘图工具,在绘制三维图形方面同样卓越!打开“等轴测”,F5键切换绘图方向,就可以绘制等轴测图形。
同时,它的实体功能可将平面图形拉伸为立体图形,可在立体图上倒角。
所以,先画平面图,经过等功能转为立体后进行组合,再进行交、差、并等实体编辑计算,就能得到准确美观的三维图形。
毕业论文绘图软件毕业论文绘图软件随着科技的不断发展,计算机在我们的日常生活中扮演着越来越重要的角色。
在学术界,科研人员们经常需要使用绘图软件来展示他们的研究成果。
绘图软件不仅能够帮助我们更好地理解和解释数据,还能够提高学术论文的可读性和吸引力。
在本文中,我将讨论一些常用的毕业论文绘图软件,并探讨它们的优缺点。
首先,我们来看一下最常用的绘图软件之一:Microsoft Excel。
Excel是一个功能强大且易于使用的软件,几乎每个人都会使用它。
它提供了各种绘图选项,包括折线图、柱状图、饼图等。
Excel的优点是它的用户友好性和广泛的应用范围。
无论是学术界还是商业界,Excel都是一个非常受欢迎的选择。
然而,Excel 也有一些缺点。
首先,它的绘图功能相对较为简单,无法满足一些复杂的绘图需求。
其次,Excel生成的图表在美观度上也有一定的局限性。
其次,我们来看一下R语言。
R语言是一种用于数据分析和统计的编程语言,也是一个非常流行的绘图工具。
R语言提供了丰富的绘图函数和包,可以生成各种高质量的图形。
R语言的优点是其灵活性和可定制性。
无论是简单的散点图还是复杂的三维图,R语言都能够满足各种需求。
此外,R语言还有一个庞大的用户社区,可以方便地获取帮助和分享经验。
然而,R语言的学习曲线相对较陡,需要一定的编程基础和时间投入。
除了Excel和R语言,还有一些其他的绘图软件也值得一提。
例如,Adobe Illustrator是一款专业的矢量绘图软件,可以生成高质量的图形。
它具有强大的绘图和编辑功能,可以满足各种复杂的绘图需求。
然而,Adobe Illustrator的学习曲线相对较陡,并且价格较高,对于一些学生来说可能不太实用。
总的来说,选择适合自己的绘图软件是非常重要的。
不同的软件有不同的优缺点,需要根据自己的需求和技术水平来选择。
如果只是简单的绘图需求,Excel可能是一个不错的选择。
如果需要更复杂的绘图功能,R语言可能是一个更好的选择。
绘图软件的设计开发毕业论文绘图软件的设计开发毕业论文目录第1章绪论 (1)1.1课题背景 (1)1.2目前现状 (1)1.3绘图软件概述 (2)1.3.1 基本介绍 (2)1.3.2 语言简介 (2)1.3.3 研究容 (2)1.3.4 预期目标 (2)第2章开发技术与环境介绍 (3)2.1 VISUAL BISIC (3)2.1.1 VB语言的特点 (3)2.1.2 属性、方法和事件 (3)2.1.3 对象与类 (4)2.2开发环境介绍 (4)第3章二维图形生成技术 (5)3.1直线扫描转换算法 (5)3.1.1 直线DDA算法 (6)3.1.2 中点画线算法 (7)3.1.3 Bresenham画线算法 (8)3.2圆的扫描转换算法 (10)3.2.1 圆的性质 (10)3.2.2 中点画圆算法 (10)3.2.3 Bresenham画圆算法 (12)3.3填充技术 (13)3.3.1 种子填充算法 (13)3.3.2扫描线填充算法 (14)3.4 BEZIER曲线 (16)3.4.1 Bezier曲线的定义 (16)3.4.2 Bezier曲线的离散生成 (18)第4章界面设计与编码 (19)4.1界面设计 (19)4.1.1 主界面 (19)4.1.2 展示屏幕 (20)4.1.3 快速启动页 (20)4.1.4 新建文档 (21)4.1.5 菜单栏预览 (21)4.1.6 工具选项栏 (22)4.1.7 其他窗体 (23)4.2编码实现 (24)4.2.1 直线--Bresenham画线算法 (24) 4.2.2 画圆算法 (25)4.2.3 贝赛尔曲线 (28)4.2.4 填充--扫描线填充算法 (31)4.2.5 更新画布—UpdateArea (33)4.2.6 各类编辑操作 (34)4.2.7 裁剪 (39)4.2.8 图形的翻转 (42)4.2.9 截屏 (44)4.2.10 打开保存 (45)4.2.11 最近打开记录--随机文件读写 (47) 4.3成果展示 (51)第5章结论与展望 (55)5.1结论 (55)5.2不足之处及未来展望 (55)参考文献 (56)致谢 (57)第1章绪论1.1 课题背景视觉是人类最重要的感觉手段,图形又是视觉的基础,随着多媒体技术的普及和发展,人们对画面的要求越高,对画图工具也提出了更高更全面的要求.对于一个人用户来说,开发一个基本的图形绘制处理系统,为用户提供一些基本的图形绘制功能,可以方便用户的使用.图形和图像有很大的不同,到目前为止,计算机图形学和数字图像处理还是作为两门课程分别讲授的,计算机图形学是将点、线、面、等实体生成物体的模型存放在计算机里,并可以进行修改、处理、操作和显示的一门学科.随着多媒体技术的普及和发展,绘图软件在生活工作中的使用越来越频繁.现在各类绘图软件数不胜数,但大多要么功能太简单,不能满足画图需要,要么设计太复杂,功能累赘,缺乏易用性.Windows 自带的画图软件(开始—附件—画图),是一款简单,易用的画图软件,能满足一些画点、画线、画矩形、画圆等的简单功能.所以,开发一个绘图软件,能满足大部分用户的使用需求,方便用户使用,实属必要.该软件通过微软的开发工具Visual Basic结合计算机图形学的知识设计与开发.计算机图形学的基本含义是使用计算机通过算法和程序在显示设备上构造出图形.计算机图形学中的图形是指可以用数学方法描述的并且需要在计算机上显示的图形,也就是说,计算机图形学中的图形是人们通过计算机设计和构造出来的,不是通过如数码相机或扫描仪等设备输入的图像,所设计和构造的图形可以使现实世界中已经存在的物体,也可以是完全虚无的物体.1.2 目前现状随着计算机科学技术的发展,近30年来,计算机图形学得到迅猛发展,人们已经可以通过计算机高速、有效、真实地生成图形,计算机图形学作为利用计算机生成图形的技术,已经越来越广泛地在各个领域等到了应用.计算机图形学应用领域的拓宽和应用水平的提高,使得人们越来越重视对计算机图形学的研究和利用.当今,计算机图形学已经成为了计算机科学技术领域的一个重要研究方向,并被广泛地应用于科学计算、工程设计、医药、工业、艺术、娱乐业、广告业、教育与培训、商业及政府部门等.计算机图形技术是随着计算机技术在图形处理领域中的应用而发展起来的一门新技术,是伴随着电子计算机及其外围设备的发展而产生的,现已成为计算机应用科学中的一个重要分支,在许多行业中起着越来越大的作用.计算机的运算能力的提高,图形处理速度的加快,使得图形学的各个研究方向得到充分发展,大量价格低、简单易用的图形应用程序促使具有图形处理功能的计算机进入家庭. 图形学已广泛应用于计算机辅助设计与制造、计算机动画、科学计算可视化、虚拟现实、影视娱乐等各个领域.这必然促使计算机专业人员、广大非计算机专业的应用人员,从计算机图形学的理论高度和计算机绘图的实用角度来研究和开发计算机图形的生成技术及软件.1.3 绘图软件概述1.3.1 基本介绍该绘图软件参照Windows系统自带画图,在其基础上,优化界面,添加功能,加以实现,以达到,功能齐全,界面简洁,使用方面的目的1.3.2 语言简介Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言.从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB 的开发者的数量.它源自于BASIC编程语言.VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX 控件.程序员可以轻松的使用VB提供的组件快速建立一个应用程序通过几年的发展,它已成为一种专业化的开发语言和环境.用户可用Visual Basic快速创建Windows程序,现在还可以编写企业水平的客户端/服务器程序及强大的数据库应用程序.VB会吸引更多的赞誉和批评,也会继续为广大的用户和程序员使用.它非常适合用来开发拥有友好界面的程序(比如针对终端的数据),但是不适合开发其它程序(比如联合计算程序).1.3.3 研究容通过参考现有的各类绘图软件(主要参考了Windows画图的功能)并详细了解绘图的主要功能及应用完成系统的需求分析;根据需求分析完成系统的结构设计图;根据系统的结构设计图完成系统的结构设计,包括系统的界面设计以及功能模块设计;根据设计文档,设计系统界面,完成各模块编码;完成单元测试和系统测试,及功能测试.1.3.4 预期目标软件预期完成以下功能:(1)基本实现windows系统画图软件的所有功能.(2)可以为左右键分别指定颜色,同时使用两种颜色画图.(3)具有基本的图形绘制功能,例如:矩形、圆形、点、线等.(4)可添加坐标轴及刻度,可以绘制简单贝塞尔曲线,可控制各图形的精准位置和尺寸. (5)可以使用纯色或多种材质使用喷枪或填充图形.(6)对于每一种图形的绘制,可以选择不同的颜色,不同的线条.(7)可以实时截取全屏幕或动态窗口图片加以编辑,保存.(8)可以实现图形的复制、剪切、粘贴、删除,文件的打开和存储.(9)设计有快速启动页,可打开最近文件,提高效率;多窗口操作,界面美观,操作方便.第2章开发技术与环境介绍2.1 Visual BisicVisual Basic(简称VB)是近年来在国外得到迅速推广应用的可视化程序设计语言,具有简单易学,功能强大,软件费用支出低,见效快等特点.它提供了开发Windows应用程序最迅速,最简捷的方法,不但是专业人员得心应手的开发工具,而且易于被非专业人员掌握使用.目前,全世界数以百万计的程序设计人员正在用Visual Basic开发各种类型的软件.2.1.1 VB语言的特点(1)可视化Visual Basic是可视化的程序设计语言,开发人员只需要按照设计要求对屏幕进行布局,用集成开发环境来直接拖和画出各个菜单、按钮、滚动条、窗口等不同类型的对象.(2)面向对象在Visual Basic中,窗体及控件都称为对象,有这些对象构成了用户界面,Visual Basic是面向对象的程序设计语言,它是将代码和数据结合在每个对象中,用户只需要了解每个对象能完成什么任务,不必知道对象是如何工作的,而程序设计人员只要编写实现程序功能的那部分代码,这样大大提高了程序设计的效率,但是Visual Basic里面没有多态等面向对象的特性,所以有人称Visual Basic是准面向对象程序设计语言.(3)事件驱动Visual Basic通过事件来执行对象的操作,一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应,而各个事件之间却不一定有联系,这样的应用程序代码较短,使程序既易于编写又易于维护.(4)沿用结构化的程序设计的思想Visual Basic具有丰富的数据类型,众多的函数,并采用了结构化的程序设计方法,简单易学.(5)易学易用的集成开发环境Visual basic提供了易学易用的集成开发环境,在该开发环境中,用户可设计用户界面,编写代码,调试程序,直至把应用程序编译成可执行文件使其直接在windows环境下运行(6)Visual Basic支持多种数据库的访问采用了对象的与嵌入(OLE,Object linking and embedding)技术可以很方便的开发出集声音、图像、动画、子处理、web等对象于一体的应用程序.2.1.2 属性、方法和事件在Visual Basic中,可以通过属性、方法和事件来说明和衡量一个对象的特征.事件(Event)事件是指发生在某一对象上的事情.事件又可分为鼠标事件和键盘事件.例如,在命令按钮(Command Button)这一对象上可能发生鼠标单击(Click)、鼠标移动(Mouse Move)、鼠标按下(Mouse Down)等鼠标事件,也可能发生键盘按下(Key Down)等键盘事件.总之,事件指明了对象“什么情况下做?”,常用于定义对象发生某种反映的时机和条件. 方法(Method)方法是用来控制对象的功能及操作的部程序.例如,人具有说话、行走、学习、睡觉等功能,在visual Basic中,对象所能提供的这些功能和操作,就称作“方法”.以窗体为例,它具有显示(show)或隐藏(hide)的方法.总之,方法指明了对象“能做什么?”,常用于定义对象的功能和操作.属性(Property)属性是指用于描述对象的名称、位置、颜色、字体等特征的一些指标.可以通过属性改变对象的特性.有些属性可以在设计时通过属性窗口来设置,不用编写任何代码;而有些属性则必须通过编写代码,在运行程序的同时进行设置.可以在运行时读取和设置取值的属性成为读写属性,只能读取的属性成为只读属性.总之属性指明了对象“是什么样的?”,常用于定义对象的外观.2.1.3 对象与类(1)对象(object)Visual basic 具有“面向对象”的特性,Visual Basic 应用种程序的基本单元是对象,用Visual Basic 编程就是用“对象”组装程序.这种“面向对象”的编程方法与传统的全部用代码编制程序的方法有很大区别,就像用集成电路芯片组装电视机和用三极管,二极管组装电视机的区别一样.显然,“面向对象”的编程方法比传统的编程方法更简单,更方便,并且编写出的程序也更加稳定.因此,“对象”可以被看做 Visual Basic 程序设计的核心. 在 Visual Basic 程序设计中,对象中还可以包含头,手,腿,脚等部位,其中的每个部位又可以单独作为作为被研究的对象.在 Visual Basic 程序设计中,整个应用程序就是一个对象,应用程序中又包含着窗体(Frame),命令按钮(Command),菜单(Menu)等对象.(2)类(Class)在Visual Basic 中,对象是由类创建的,因此对象可以说是类的具体实例,这就好比是蛋糕和做蛋糕的模具之间的关系.各种不同的对象分属于各种不同的种类.同一类对象可能具有一些不同的特征(或是说同一类对象不一定具有完全相同的特性);具有某些相同的特性的对象,不一定是同一类对象,这就好比是人和猴子虽然都有身高、性别等特征,但二者之间还存在着智商、语言等特性差异,这两个对象之间的特性相差很多,根本就不能算是同一类对象.而男人和女人,有着性别、生理等方面的差异,但他们绝大部分特性相同,可以算是同一种类.由此,可以归结为一句话:同一类对象的绝大部分特性相同.。
PS的毕业设计论文引言在当今信息技术高速发展的时代,图像处理与图形设计已经成为数字媒体领域的重要组成部分。
Adobe Photoshop (简称PS) 作为最具影响力的图像处理软件之一,已经成为许多专业设计师和摄影师的首选工具。
随着其功能的不断丰富和应用领域的扩大,越来越多的人开始对PS的性能和功能进行深入研究。
本文旨在通过实际应用与理论研究相结合的方式,针对PS进行深入的毕业设计论文研究,探讨其在图像处理和图形设计领域的应用价值。
背景与意义PS作为图像处理与图形设计的重要工具,在设计行业和广告创作领域有着广泛的应用。
其丰富的功能和便捷的操作极大地提高了图像处理和编辑的效率,为创作者提供了广阔的创作空间。
本论文旨在探究PS在各个领域中的应用价值,为设计师和研究者提供深入了解和研究PS的相关信息。
研究内容1.PS的基本功能和操作介绍:详细介绍PS的基本操作和常用工具,包括图层、调色板、选择工具等,帮助初学者快速上手。
2.图像处理与修饰:探讨PS在图像处理和修饰方面的应用,包括颜色校正、去噪、模糊、锐化等操作,展示PS在提升图像质量和表现力方面的优势。
3.创意拼贴与设计:研究PS在创意拼贴和平面设计方面的应用,包括合成、蒙版、文字设计等操作,分析其在广告、海报、杂志等设计领域的实际应用案例。
4.扩展与插件应用:介绍PS的扩展与插件机制,研究其对PS功能拓展和性能优化的作用,同时探索其他图像处理软件与PS的集成方式。
5.PS与其他软件的比较:对比PS与其他图像处理软件,在功能、性能和用户体验等方面的差异,分析PS在市场中的优势和劣势。
研究方法本论文采用实证研究方法和文献综述相结合的方式进行研究。
通过实际操作PS 软件和设计实例的分析,结合相关理论研究和市场调研数据,深入探究PS在图像处理和图形设计领域的应用。
预期结果1.PS的基础功能和操作介绍可以帮助初学者快速上手,提高PS的使用效率。
2.对PS在图像处理和修饰方面的研究可以提供实际的操作方法和技巧,提升图像质量和表现力。
画图软件开发论文4700字_画图软件开发毕业论文范文模板画图软件开发论文4700字(一):Windows画图软件与小学生电脑绘画论文摘要:安徽省现行的《小学信息技术教材》中第2册第2单元《巧手装饰我的家》,是对Windows“画图软件”的学习,可见“画图”对小学生计算机启蒙教育的重要性。
每年各级各类小学生电脑作品制作评比中,采用Windows画图软件进行创作的电脑绘画类作品占很大比例,表明Windows画图软件是一款适合并深受小学生喜爱的绘画软件。
在教学中,教师如果使用恰当的教学方法可以激发学生对电脑绘画学习的兴趣,培养学生运用画图软件充分发挥自己的想象力,大胆绘画出想要表达的内容。
通过图画的方式来表达自己真实的思想情感,这直接关系到小学生今后对信息技术知识的再学习,意义深远。
关键词:画图软件;小学生;电脑绘画;教学电脑绘画继承了传统绘画的基本特点,但又不同于传统的绘画。
它借助相关的画图软件来完成电脑绘画作品,具有传统绘画无法比拟的优越性,因而电脑绘画深受小学生的喜爱。
而“画图”是Windows提供的一款软件功能,该画图软件比较适合小学生操作。
通过现行的《小学信息技术教材》中第2册第2单元——《巧手装饰我的家》(安徽省电子工业出版社出版)第5至第9课的学习后,学生可以凭借这款软件简单地描绘出自己多姿多彩的生活。
可见,Windows画图软件对小学生计算机启蒙教育的重要性。
电脑绘画不仅可以激发学生对信息技术这门学科的兴趣,而且可以培养学生的多种能力。
在实际教学和辅导学生电脑绘画作品创作过程中,教会学生用“画图”工具进行简单的画面颜色填充、用线条绘制图形、临摹书上的绘画作品,这不是一件难事,但是要想让小学生创作出优秀的电脑绘画作品,作为信息技术教师还需多思考教学方法。
在辅导小学生进行电脑绘画作品创作时,要引导他们通过电脑绘画抒发自己的真实感受,描绘自己的真实生活,实现自己的艺术梦想。
接下来将从以下几个方面谈谈在小学生电脑绘画教学方面的一些具体做法。
cad毕业论文
CAD(计算机辅助设计)是指利用计算机技术来辅助完成设计工作,尤其是在工程设计、产品设计和建筑设计等方面。
CAD技术的发展已经深刻影响了设计行业,并为设计师带来了许多便利和创新。
本篇毕业论文旨在研究CAD技术在工程设计中的应用,并分析其对工程设计流程和效果的影响。
具体研究内容包括以下几个方面:
1. CAD技术在工程设计中的历史发展:回顾CAD技术的发展历程,分析其从最初的2D图纸设计发展到现代3D模型设计的演变过程,以及CAD软件的发展和应用情况。
2. CAD技术在工程设计中的应用领域:探讨CAD技术在不同工程设计领域的应用情况,比如建筑设计、机械设计、电子设计等,并分析其在这些领域中的优势和不足。
3. CAD技术对工程设计流程的影响:研究CAD技术在工程设计流程中的应用,并分析其对设计流程的改进和优化作用,如CAD软件在设计过程中的辅助功能、设计检查和优化等。
4. CAD技术对工程设计效果的影响:通过对比CAD技术和传统设计方法的设计效果,分析CAD技术对工程设计效果的影响,包括设计质量、设计效率、设计精确度等方面。
5. CAD技术在未来的发展趋势:展望CAD技术在工程设计领
域未来的发展趋势,如人工智能、虚拟现实等技术对CAD的
影响,以及CAD技术在数字化设计、智能设计等方面的应用。
整个毕业论文将采用实证研究方法,通过文献综述、案例分析、问卷调查等方法收集相关数据,并进行数据分析和讨论,最后得出结论和建议。
通过本篇毕业论文的研究,可以更全面地了解CAD技术在工程设计中的应用情况和效果,为工程设计行
业的发展提供参考和指导。
河南理工大学毕业设计(论文)说明书I 摘要目前,市面上的专用绘图软件非常多。
这些软件之所以能够生存、发展,主要是因为它们与大型绘图软件相比,小巧玲珑,各具特色,能够满足用户各种各样的特殊需求。
在工程软件中,经常需要用绘图表现工业现场的布置图,并要求绘图软件能够将绘图元素对象化,这样有利于修改并为其赋予特殊的属性。
这种布置图的绘制由于有其特殊性,往往需要专门开发配套软件来完成绘图。
本设计为满足开发这类的软件提供了一种解决方案。
本设计主要利用Visual C++6.0 开发工具实现四大功能:1、绘图功能:通过该套软件可以绘制直线、椭圆、矩形、弧线、文本五种类型的基本图形;2、选择功能:单击某个图形元素,就可以使该图形元素处于选中状态,可以通过拖动鼠标的方式移动图形,也可以通过拖动的方式改变图形的尺寸;3、修改对象属性:双击某个图形对象可以弹出一个相应的属性对话框,在对话框里可以对改图形元素的属性进行修改;4、文件存取功能:通过序列化技术保存文件,在需要的时候可以读取出来编辑。
该程序还具有优良的扩展性能。
如果想要添加新的绘图元素,那么只需要添加一个以CdrawElement 类为基类的绘图类即可,从而对程序进行扩展非常方便。
通过本软件的开发过程,读者可以掌握使用Visual C++开发绘图软件的基本要素,并能够实现绘图软件常见的功能。
关键词: 计算机绘图;CAD; VC 河南理工大学毕业设计(论文)说明书II Abstract Currently ,there is a lot of dedicated drawing software in the market.The software was able to survive and develop,mainly because they are compared with the large-scale drawing software,it is small size ,distinctive,and can meet the special needs of various users Engineering software often need to use graphics performance of the industrial site layout,and requested the drawing software can be the object of drawing elements,this is conducive to change and given its unique attributes. Drawing of this arrangement because of its specificity, and often require specially developed software package to complete the drawing.This is designed to meet the development of such software offers a solution This design using V isual C + +6.0 development tools to implement the following functions:1、Drawing Function:By the software can draw straight lines,ellipse, rectangle, arc, text of five types of basic graphics;2、Select Function:Click on a graphic element, you can make the graphic element is selected and you can move by dragging the mouse in the way of graphics. In addition you can also drag to change the graphic size;3、Modify the object properties:Double-click a graphic object can bring up a corresponding Properties dialog box, in the dialog can be changed to modify the properties of graphic elements4、File access functions:Save a document through serialization technology ,and when needed can be read out edit. The program has an excellent scalability. If you want to add a new drawing element, only need to add a CdrawElement class drawing class for the base class, Thus to extend the program very convenient. Through the software development process,readers can keep abreast of 河南理工大学毕业设计(论文)说明书III the development using Visual C++ the basic elements of drawing software,and to achieve a common feature mapping software Key words:Computer drawing; CAD; VC 河南理工大学毕业设计(论文)说明书IV 目录摘要......................................................... I Abstract ..................................................... II 1 前言....................................................... 1 1.1 引言.................................................... 1 1.2 选题的目的和意义........................................ 2 1.3 绘图系统概述............................................ 2 1.3.1 什么是计算机绘图. (2)1.3.2 计算机绘图的发展概况............................. 3 1.4 开发工具介绍............................................ 4 2 设计任务与要求.............................................. 72.1 功能需求................................................ 7 2.2 性能需求............................................... 10 2.3 方案设计与论证......................................... 10 2.3.1 可选方案......................................... 10 2.3.2 方案筛选......................................... 10 2.3.3 方案论证的结论................................... 11 3 系统分析设计与选型......................................... 12 3.1 分析................................................... 12 3.2 设计................................................... 12 3.3 软件工具的选型......................................... 13 3.4 MyDraw 绘图软件模板分工设计............................ 13 4 系统开发过程............................................... 16 4.1 编程规范............................................... 16 4.1.1 基本要求......................................... 16 4.1.2 正确性与容错性要求............................... 16 4.2 核心技术代码........................................... 16 4.2.1 添加成员变量..................................... 16 4.2.2 构造函数......................................... 17 4.2.3 定义各绘图元素函数............................... 17 4.2.4 工具栏的设计..................................... 20 4.2.5 绘制绘图元素..................................... 22 4.2.6 选择绘图元素..................................... 24 4.2.7 鼠标形状的自适应性. (26)4.2.8 显示图形元素的属性............................... 26 4.2.9 删除绘图元素.....................................27 4.2.10 CDrawElement 类记录绘图元素信息................. 28 5 软件测试................................................... 33 河南理工大学毕业设计(论文)说明书V 6 结论...................................................... 38 6.1 总结................................................... 38 6.2 展望................................................... 38 致谢........................................................ 39 参考文献..................................................... 40 河南理工大学毕业设计(论文)说明书1 1 前言 1.1 引言近年来,随着GIS、RSP等图形图像设计软件的发展,在影像局部显示,裁剪局部影像等选取局部影像的操作大量使用到了对矩形图形的操作,比如国外的Photoshop、PCI、国产大型遥感处理软件MapGis_RSP 等。
目录目录第一章AutoCAD2007绘图 (2)1.1AutoCAD2007介绍 (2)1.2AutoCAD2007绘制图形基本命令 (2)1.3AutoCAD2007图形的标注 (3)1.4AutoCAD2007创建与编辑块 (5)第二章电气控制系统原理图 (5)2.1电气图的概括 (5)2.2电气图的规范 (5)2.3电器元件布置图的绘制原则 (6)2.4电气安装接线图的绘制原则 (6)第三章课程总结 (7)参考文献 (8)附录 (8)第一章AutoCAD2007绘图1.1AutoCAD2007介绍AutoCAD(Auto Computer Aided Design)是美国Autodesk公司首次于1982年生产的自动计算机辅助设计软件,用于二维绘图、详细绘制、设计文档和基本三维设计。
现已经成为国际上广为流行的绘图工具。
AutoCAD具有良好的用户界面,通过交互菜单或命令行方式便可以进行各种操作。
它的多文档设计环境,让非计算机专业人员也能很快地学会使用。
在不断实践的过程中更好地掌握它的各种应用和开发技巧,从而不断提高工作效率。
AutoCAD 具有广泛的适应性,它可以在各种操作系统支持的微型计算机和工作站上运行。
AutoCAD自1982年问世以来,已经经历了十余次升级,其每一次升级,在功能上都得到了逐步增强,且日趋完善。
也正因为AutoCAD具有强大的辅助绘图功能,因此,它已成为工程设计领域中应用最为广泛的计算机辅助绘图与设计软件之一。
AutoCAD的功能包括:绘制及修改二维和三维图形、标注尺寸;用绘图机和打印机输出图形;嵌有AutoLISP语言和ObjectARX环境,可编程实现分析计算和参数化绘图;它还提供了多种定制工具,方便用户按自己的需要开发新的菜单、工具条、应用程序和文件,使软件用户化;它也还可以通过各种标准的图形和图像格式文件,与其它软件交换图形数据信息;此外还可以与外部数据库连接,实现对外部数据库的操作。
燕山大学职业技术学院实习报告题目AutoCAD绘图软件的优劣性及运用技巧专业数控技术班级数控一班姓名蔡联茂目录第一章引言第二章CAD在制图中的优劣2.1 AutoCAD在制图中的优越性2.2 AutoCAD在制图中的劣势第三章制图3.1 绘图3.2 实用绘图技巧3.3 常用制图指令3.4 总结参考文献AutoCAD绘图软件的优劣性及运用技巧摘要CAD(计算机辅助设计)在实际应用中是促进科研成果开发和转换,实现设计自动化的关键技术。
它的优越性主要体现在其准确、快捷、方便、三维造型能力强大且便于存储。
近年来,其优越性越来越得到了广大专业人士的认可,为工种设计人员提供了强有力的二维和三维设计与绘图功能。
制图是用图样确切表示图样的结构形状、尺寸大小、工作原理和技术要求以及交流经验的技术文件,被称作工程界的语言。
CAD制图功能强大,出图效率是工程绘图的重要指标。
因此,在绘图之前,我们可以做一些功能指令设置,再采用左手键盘、右手鼠标的制图方式可以大大的提高绘图速度。
在AutoCAD中有很多的指令和技巧,需要通过我们的不断总结,方可逐步提高绘图速度。
关键词:CAD 优越性制图技巧指令第一章引言CAD是计算机辅助设计(computer aided design)的简称,就是利用计算机技术完成设计过程中的信息检索、分析、计算、综合、修改以及文件的编制工作。
AutoCAD广泛应用于建筑、机械、电子、航天等领域。
它不仅能精确绘制二维图形,也能创建较复杂的三维实体。
AutoCAD软件具有如下特点:(1)具有完善的图形绘制功能。
(2)具有强大的图形编辑功能。
(3)可以采用多种图形格式转换,有较强的图形交换能力。
(4)支持多种硬件设备,支持多种操作平台。
(5)可以采用多种方式进行开发或用户定制。
(6)具有通用性、易用性,适用于各类用户。
此外,从CAD2000开始,CAD系统有增加了许多强大的功能,如:AutoCAD设计中心、INTERNER驱动、多文档设计环境、新的对象捕捉功能、局部打开和局部加载功能及增强标注功能。
计算机绘图论文计算机绘图和手绘是设计行业中主要的绘图方式,计算机技术融入到设计行业之中,提高了设计绘图工作的质量和效率,计算机绘图逐渐成为设计工作人员的首选绘图方式。
下面是店铺为大家整理的计算机绘图论文,供大家参考。
计算机绘图论文范文一:开放教育计算机绘图课程教学思考摘要:结合开放教育机械制造及其自动化专业计算机绘图课程的教学实践,从教学思想、教学目标、教学策略、教学程序等方面对课程的教学模式进行了理论分析,按照理论教学模式框架进行了相应的实践教学设计,并提出了对教学实践的评价方案。
通过有效的远程分组教学、同步与异步网上实践互动、面授演示、现场机房实践练习等手段和方法,能有效的激发学生学习兴趣,提高学生自主分析、动手实践的能力,更能够增强同学之间相互协作和相互信任,对培养具有绘图知识、计算机使用能力和机械专业素质的应用型人才有着重要意义。
关键词:开放教育;计算机绘图;教学模式远程开放教育思想和理论自19世纪中叶以来在国内外进行了大量的理论探索和丰富的实践经验。
例如,以莫尔和韦得迈耶为代表的远程教育专家提出的独立自主理论(TheoryofIndependenceandAutonomy)认为学生在远程教育中应该是独立自主的,远程教育的本质体现于学生的独立自主。
德国著名学者OttoPeters彼得斯的远程教育工业化理论是在远程教育界有着深远影响的一种理论学说。
彼得斯理论的核心是将远程教育比作教育的工业化和技术化形态,而将传统的、面授的和集体的教育归结为教育的前工业化形态。
霍姆伯格在1983年发表了关于指导性教学会谈的理论。
霍姆伯格认为:在远程教育过程中的学习活动是学生自学,但学生并不是孤立无助的,学生一方面从专门为他们设计、制作的课程材料中受益,另一方面从他们与远程教育机构的相互作用中受益。
基更于1986年提出了教与学活动再度综合理论。
基更指出:在远程教育过程中,必须重新构建教师与学生内在的主动性,重新构建跨越时空的教与学的相互作用情景。
(完整版)AutoCAD绘图软件在《机械制图》中的应用毕业设计46毕业设计(论文)AutoCAD绘图软件在《机械制图》中的应用所属系部: 机械工程系所学专业: 机电一体化班级GT1201学生姜文伦指导教师高科职称教师2015年4月摘要AutoCAD是由美国Autodesk公司开发的大型计算机辅助绘图软件,主要用来绘制工种图样。
它为工种设计人员提供了强有力的两维和三维设计与绘图功能。
当前Auto CAD已经广泛应用于机械、电子、服装、建筑等设计领域。
机械制图是用图样确切表示机械的结构形状、尺寸大小、工作原理和技术要求的学科。
图样由图形、符号、文字和数字等组成,是表达设计意图和制造要求以及交流经验的技术文件,常被称为工程界的语言。
关键词:AutoCAD 绘图技巧标注引言在AutoCAD专业制图软件没有出现以前,《机械制图》一直采用的是手工绘图的方法进行绘图,即采用二维的投影图来表达目标物体的各种信息,这与当时在工程设计与生产中一般采用图纸设计的方法是相符合的。
在机械制图中引入AutoCAD技术,可以解决机械企业中重复性设计多、信息资源利用率低的难题,缩短产品开发周期,具有巨大的经济效益和应用前景。
AutoCAD在制图中的应用首先体现在制图的制作上。
AutoCAD 是当前最为流行的绘图软件之一,由于绘图简单,绘图的准确度高,用该软件绘制图形其图线型式、尺寸标注符合国家制图标准。
所以制图多媒体中的图形通常采用AutoCAD绘制,然后将绘制的图形粘贴到其它多媒体软件中进行必要技处理,最后制图像处理等,可代替传统的实物模型。
目录一、《机械制图》与《AutoCAD》的关系 (1)二、绘制三维立体图及步骤2.1打开AutoCAD绘图软件 (3)2.2绘制立体图 (3)2.3组合立体图 (4)2.4根据点﹑线﹑面,尺寸画图 (4)2.5移动组合实物图 (5)2.6根据尺寸画出图 (5)2.7组合实物图 (5)三、尺寸标注四、3.1设置尺寸标注样式 (6)3.2线性标注 (6)3.3对齐标注 (7)3.4基线标注 (7)3.5直径标注 (7)3.6半径标注 (8)3.7角度标注 (8)3.8引线标注 (9)四、AutoCAD与《机械制图》的优点4.1精度提高 (10)4.2资料保管方便 (10)4.3 AutoCAD在建筑表现图上的优势 (10)4.4设计理念的改变 (11)4.5准备工作不足是否充足将会直接影响绘图效率 (11)五、AutoCAD与《机械制图》的缺点5.1 AutoCAD技术对设计思想的束缚 (12)5.2 AutoCAD技术扼杀建筑艺术 (12)5.3 AutoCAD浪费资源 (12)六、《AutoCAD》在《机械制图》中的必要性和重要性结论 (15)参考文献 (16)致谢 (17)1.械制图》与《AutoCAD》的关系可能有不少人这样想:既然只要看图、识图,那还需要《AutoCAD》干什么,直接开《机械制图》就可以了,这显然是认识上的偏差。
ps毕业设计论文Ps毕业设计论文700字Ps(Photoshop)是一种以图像处理为核心的图像处理软件,它具有强大的图像处理功能和丰富的插件支持。
本文将从Ps的特点和应用领域进行分析,进一步探讨Ps在毕业设计中的应用。
首先,Ps具有强大的图像处理功能。
它可以进行图像的剪裁、调整、修复、润饰等各种操作,可以对图像进行全面的处理和修饰。
例如,对于一幅照片,可以通过Ps进行剪裁,调整图片的亮度、对比度和饱和度,进而改善照片的质量。
此外,Ps 还支持添加文字、滤镜和特效等功能,可以为照片增添独特的个性。
其次,Ps拥有丰富的插件支持。
插件是对软件功能的增强和扩展,能够为用户带来更多的特效和工具。
在Ps中,用户可以通过安装插件来增加新的特效和工具,以满足不同的设计需求。
例如,可以使用插件实现照片的去水印、去背景等操作,进一步提升设计的质量和效果。
此外,Ps在各个领域都有广泛的应用。
在广告设计领域,Ps可以用于制作海报、广告横幅等,通过图像的处理和修饰,吸引人们的眼球,增加广告的吸引力和效果。
在排版设计领域,Ps可以用于调整文字的样式、大小和位置,设计美观的版面效果。
在网页设计领域,Ps可以用于制作网页的背景图像和按钮图标,使网页更加美观和易于操作。
在毕业设计中,Ps的应用也是不可或缺的。
例如,对于设计类专业的学生来说,他们可以使用Ps进行作品的设计和制作,通过图像的处理和修饰,呈现出高质量的设计作品。
对于摄影类专业的学生来说,他们可以使用Ps对照片进行后期处理,提升照片的质量和效果。
总之,Ps作为一种图像处理软件,具有强大的功能和广泛的应用领域,在毕业设计中发挥着重要的作用。
综上所述,Ps具有强大的图像处理功能和丰富的插件支持,并在各个领域都有广泛的应用。
在毕业设计中,Ps的应用不仅可以提升作品的质量和效果,还可以为学生提供丰富的设计经验和技能。
因此,Ps在毕业设计中是非常重要的工具。
photoshop毕业设计论文Photoshop毕业设计论文引言毕业设计是每个学生在大学阶段的重要任务之一,对于美术专业的学生来说,设计论文更是一个机会,可以展示他们的创造力和技术能力。
在当今数字化时代,Photoshop已成为美术设计领域中最常用的软件之一。
本文将探讨如何在毕业设计中充分利用Photoshop的功能和特点,以创造出令人印象深刻的作品。
第一部分:Photoshop的基本功能在开始设计之前,了解Photoshop的基本功能是至关重要的。
Photoshop是一款功能强大的图像处理软件,它可以进行图像编辑、修饰、合成等各种操作。
学生可以通过掌握Photoshop的基本工具、图层、滤镜等功能,将自己的创意转化为现实。
第二部分:设计理念与创意在进行毕业设计时,设计理念和创意是关键。
通过Photoshop,学生可以将自己的创意付诸实践。
例如,如果设计一个海报,学生可以运用Photoshop中的各种工具和特效,打造出独特的视觉效果,以吸引观众的注意力。
此外,学生还可以利用Photoshop的图层功能,将不同元素组合在一起,形成独特的设计风格。
第三部分:色彩与构图色彩和构图是设计中不可忽视的因素。
Photoshop提供了丰富的调色板和调整工具,使学生能够精确控制图像的色彩和对比度。
通过合理运用色彩理论和构图原则,学生可以创造出令人愉悦的视觉效果。
此外,利用Photoshop的选择工具和变形工具,学生还可以调整图像的比例和形状,以达到更好的构图效果。
第四部分:特效与后期处理在设计中添加特效和进行后期处理,可以使作品更具吸引力和独特性。
Photoshop提供了丰富的滤镜和特效工具,学生可以通过运用这些工具,对图像进行调整和修饰。
例如,通过应用模糊滤镜和光影效果,学生可以营造出梦幻般的氛围。
此外,利用Photoshop的修饰工具,学生还可以去除图像中的瑕疵,使作品更加完美。
第五部分:实践案例分析在本部分,将通过分析一些成功的毕业设计案例,来展示如何充分利用Photoshop的功能和特点。
AutoCAD计算机绘图结课论文院系:能源与动力工程学院专业:过程装备与控制工程班级:2011姓名: ***学号: *********AutoCAD(Auto Computer Aided Design)是Autodesk(欧特克)公司首次于1982年开发的自动计算机辅助设计软件,用于二维绘图、详细绘制、设计文档和基本三维设计。
现已经成为国际上广为流行的绘图工具。
AutoCAD具有良好的用户界面,通过交互菜单或命令行方式便可以进行各种操作。
它的多文档设计环境,让非计算机专业人员也能很快地学会使用。
在不断实践的过程中更好地掌握它的各种应用和开发技巧,从而不断提高工作效率。
AutoCAD具有广泛的适应性,它可以在各种操作系统支持的微型计算机和工作站上运行。
随着计算机技术的飞速发展,计算机CAD技术已经深入到机械工程中,我们可以利用CAD技术设计图纸,用CAD 强大的辅助图形设计和三维实体造型功能改变传统的绘图方式,使我们化工类的学生既能摆脱传统机械制图学习的抽象和枯燥,又能使我们的绘图学习变得更轻松而高效,并且更能适应现在社会对技术性人员的需求。
学习了AutoCAD这门课程,我对CAD又有了更深的了解,CAD是我们专业所必学的一个软件,这个软件不仅广泛用于工程、工业制图中的建筑工程、装饰设计、环境艺术设计、水电工程、土木施工等等。
精密零件、模具、设备等。
还广泛应用于土木建筑、装饰装潢、城市规划、园林设计、电子电路、机械设计、服装鞋帽、航空航天、轻工化工等诸多领域。
AutoCAD是由美Autodesk公司开发的通用计算机辅助设计软件,具有易于掌握、使用方便、体系结构开放等优点,能够绘制二维图形与三维图形、标注尺寸、渲染图形以及打印输出图纸,在化工行业中有着重要的应用,AutoCAD是当前最流行的计算机辅助设计软件之一,具有强大的绘图功能。
一方面,机械制图是AutoCAD 的基础。
比如设计图纸、设计流程。
cad毕业论文在设计和工程领域中,CAD(计算机辅助设计)扮演着重要角色。
毕业论文是大学生完成学业的重要项目之一,而学术写作也是一个需要一定技巧的过程。
本篇文章将以"CAD毕业论文"为标题,探讨如何运用CAD技术和学术写作技巧来完成一篇优秀的毕业论文。
引言:在现代工程设计中,CAD技术已经成为一种标配工具。
它不仅能够提高设计效率,还能提供精准的设计结果。
因此,研究和了解CAD技术在毕业论文中的应用具有重要意义。
本篇论文将介绍如何巧妙地将CAD技术应用于毕业论文中,同时探讨学术写作技巧与CAD相结合的方法。
CAD技术在毕业论文中的应用:1. 在研究框架中使用CAD技术:研究框架是毕业论文的基础,可以使用CAD软件绘制相关的结构、图表或流程图来帮助读者更清晰地理解研究内容。
例如,在建筑设计领域的毕业论文中,可以使用CAD软件绘制建筑平面图、剖面图等,来说明设计方案的实施思路。
2. CAD技术在数据收集和处理中的应用:毕业论文需要进行大量的数据收集和处理工作。
利用CAD技术,可以更高效地进行实验数据的绘制和分析。
例如,在机械工程领域的论文中,可以通过CAD软件制作产品的三维模型,进而对产品的性能进行模拟和分析。
3. CAD技术在结果展示中的应用:毕业论文最终需要对研究结果进行展示,这时CAD技术可以派上用场。
例如,在产品设计领域的毕业论文中,可以使用CAD软件制作产品原型,并通过渲染和动画效果展示设计的优势和创新点。
这样可以更直观地向读者展示研究结果。
学术写作技巧与CAD技术结合:1. 图表设计与文字说明的平衡:在论文撰写过程中,合理利用CAD绘制的图表与文字说明相结合,可使论文更具可读性。
图表应简洁明了,可通过CAD技术实现数据的可视化处理;文字说明则需要简洁明了地解释图表的含义和结果。
2. 严谨的学术写作语言:无论使用CAD技术还是其他工具,毕业论文都需要以严谨的学术写作语言来进行表达。
引言:Photoshop作为一款专业级的平面设计软件,在广告、印刷等领域中被广泛应用。
本文将深入探讨Photoshop平面设计的相关内容,包括图像处理、排版设计、色彩管理、特效应用和输出设置等五个大点,每个大点细分为5-9个小点进行详细阐述。
通过本文的阐述,读者将能够全面了解Photoshop平面设计的重要原则和技术应用,提升他们在平面设计领域的能力。
概述:Photoshop平面设计是指使用Adobe Photoshop软件进行平面设计创作的过程。
它包括图像处理、排版设计、色彩管理、特效应用和输出设置等多个方面。
在平面设计中,图像处理是最基础的部分,而排版设计和色彩管理则决定了设计的整体效果。
特效应用可以为设计增添个性和视觉吸引力,输出设置则关系到设计的最终表现形式。
下面将详细介绍这五个大点。
正文内容:一、图像处理1. 图像的导入和导出:包括图像格式的选择、导入图像的处理和导出图像的保存等。
2. 裁剪和调整图像:介绍裁剪和调整图像的方法和技巧,如调整亮度、对比度、色彩平衡等。
3. 图像修复和矫正:介绍图像修复和矫正的工具和方法,如修复划痕、去除噪点等。
4. 图像合成和蒙版:介绍图像合成和蒙版的使用方法,如使用图层蒙版、通道蒙版等。
5. 图像滤镜和特效:介绍常用的图像滤镜和特效的应用,如模糊、锐化、风格化等。
二、排版设计1. 文本处理和字体选择:介绍文本处理和字体选择的原则和技巧,如调整字距、行高、选择合适的字体等。
2. 对齐和间距:介绍排版中的对齐和间距设置,如居中对齐、均匀间距等。
3. 制作文字效果:介绍制作文字效果的方法,如添加阴影、描边、倾斜等。
4. 色彩运用:介绍如何在排版设计中运用色彩,如色彩搭配、色彩表达等。
5. 格式转换和导出:介绍排版设计中的格式转换和导出设置,如保存为PDF、JPG等格式。
三、色彩管理1. 色彩模式和色彩空间:介绍色彩模式和色彩空间的选择和应用,如RGB、CMYK等。
有关计算机绘图的论文(2)有关计算机绘图的论文篇二《计算机辅助设计与AutoCAD绘图研究》摘要:AutoCAD是当前世界上主流的绘图软件,其广泛地应用到机械、航天等各个领域,该文从AutoCAD的应用、AutoCAD系统的构成与实现以及AutoCAD绘图效率提升三个方面对计算机辅助设计和AutoCAD绘图进行了研究。
关键词:计算机辅助设计;AutoCAD;绘图中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2015)06-0195-02AutoCAD能够让绘图设计人员在计算机上完成绘图工作,完成的绘图能够通过绘图仪输出到图纸上,利用AutoCAD,设计人员能够方便的设计、绘制图件,基于以上,本文简要研究了计算机辅助设计与AutoCAD绘图。
1AutoCAD的应用相较于CAD来说,AutoCAD使用起来要更加方便,近年来计算机技术的发展给AutoCAD的发展带来了便利,许多原来要在图形工作站和大型计算机完成的绘图工作有可能在微机上借助AutoCAD来完成。
设计人员在绘图的过程中通常是在基础图纸上进行修改,在AutoCAD为出现之前,人们首先要复印基础图纸,之后通过裁剪、拼接、粘连将所需要的基础图纸合在一起,然后在粘连后的基础图纸上进行相关画线、尺寸标注等绘制,最后由描图员进行描图工[1]。
这种传统的绘图设计方式且不说效率如何,但是质量就难以把握。
AutoCAD设计绘图能够找到原图文件路径,实现了在原图纸上的直接修改,这就大大节省了绘图时间,同时还减少了工作量,保证了绘图质量。
2系统的构成与功能实现2.1 AutoCAD绘图环境设置AutoCAD属于一个CAD的支撑环境,主要是通过图形元素的生成和处理完成在计算机上的绘图,因此对绘图环境的设置是必要的:1)对文字尺寸以及绘图单位的设置;2)尺寸标注的变量设置;3)对于汉字型文件的预定义设置;4)AutoCAD二次开发软件系统中共用图库以及相关符号库的建立和设置;5)AutoCAD中绘图通用菜单以及绘图模板的设置生成[3]。
浙江大学硕士学位论文Abstract基于安卓的绘图软件开发Android是Google于2007年发布的一款开源手机操作系统,由于Android 最近几年的软件和硬件高速发展,越来越多的人开始使用Android并作为娱乐和工作平台。
与此同时随着现代绘图软件的发展,这使得通过数码手段复制自然绘画体验成为可能,传统意义上的纸上作图已经失去优势。
但是,目前Android平台并没有很多具有很好绘图效果的绘画工具应用。
考虑到Android绘图软件的开发价值和很好的应用前景,本文主要研究基于Android移动平台的绘图软件开发。
本文所做的研究工作主要在以下几个方面:将开源绘图软件MyPaint的笔刷引擎以Java语言重写并移植到Android平台,并以此引擎进行本文的Android绘图软件的开发。
将开源视频编码库FFMPEG成功移植到Android平台,利用此库进行用户绘画过程的录制,并生成MP4格式的视频。
分析了Android底层开发的原理和方法,探讨了一种利用JNI机制进行Android底层c/c++开发技术。
4.实现了Android绘图软件的开发。
关键词:Android, MyPaint, FFMPEG, NDK, 绘图软件i浙江大学硕士学位论文AbstractAbstractAndroid is the opensource mobile operation system which release by Google in 2007. In recent years, more and more people begin to use Android devices as entertainment and working platform, because of the high speed development of Android software and hardware. Meanwhile, with the development of modern drawing software, the traditional drawing has lost its advantage, and made it possible copying nature painting experience through digital method. But the Android platform didn't have a lot of application which have good effect of paint. This paper mainly discuss about Android painting software development, considering of the value and good prospect for Android painting software.In this paper, the main research work done in the following aspects:1. Rewrite the MyPaint's brush engine in Java language and transplant it in Android platform.We will use this engine in our painting software development.2. Transplant the FFMPEG to Android platform succeed and using it for recording user's painting process, at last it will generate video file which is MP4 format.3. Analysis the principle and method of low level component development in Android and discusses one of c/c + + development technology by using JNI method.4. Of the painting software for Android development is realized.Key Words:Android,MyPaint, FFMPEG, NDK, Painting Softwareii浙江大学硕士学位论文图目录目录摘要 .............................................................. 错误!未定义书签。
编号本科生毕业设计(论文)题目:绘图软件的设计学院计算机科学与技术专业学号学生姓名指导教师二〇年月摘要摘要随着多媒体技术的普及和发展,绘图软件在生活工作中的使用越来越频繁.现在各类绘图软件数不胜数,但大多要么功能太简单,不能满足画图需要,要么设计太复杂,功能累赘,缺乏易用性.Windows自带的画图软件(开始—附件—画图),是一款简单,易用的画图软件,能满足一些画点、画线、画矩形、画圆等的简单功能.根据所学的计算机图形学的知识,使用Visual Basic 作为开发工具,设计一个画图软件.基本实现windows系统画图软件的所有功能.可以为左右键分别指定颜色,同时使用两种颜色画图.可添加坐标轴及刻度,可以绘制简单函数曲线,可控制各图形的精准位置和尺寸.可以使用纯色或多种材质使用喷枪或填充图形.可以实时截取全屏幕或动态窗口图片加以编辑,保存.可以实现图形的复制、剪切、粘贴、删除,文件的打开和保存.设计有快速启动页,可打开最近文件,提高效率;多窗口操作,界面美观,操作方便.关键词:Visual Basic;随机文件读写;填充;贝塞尔;BresenhamIAbstractABSTRACTWith the popularization and development of multimedia technology, the use of drawing software in the life and work are increasingly frequent.There are numerous of the various types of drawing software, but most of them either function is too simple that can not meet the need of drawing or design is too complex, functional burden, lack of ease of use. Paint software that comes with Windows (Start - Accessories - Paint), is a simple, easy-to-use and meets the simple function of the draw point, draw lines, draw a rectangle, circle, etc.According to the knowledge of the computer graphics, using Visual Basic as a development tool to design a drawing software. Basically all the features of the Microsoft Paint will be included in this drawing software. For the left and right arrow keys to specify a color,you can use both color drawing. Can be added to the axis scale, and can draw the curve of the simple function, and you can control the precise location and size of the graph. You can use a solid color or a variety of materials to use the gun or filled shapes. You can be capture real-time interception of full-screen or dynamic window picture to edit, save. Graphics to copy, cut, paste, delete, open and save files. The design of the Quick Start page to open the file, increase efficiency; multi-window operation, beautiful interface, easy to operate.Keywords: Visual Basic; Random file read and write; fill; Bezier; BresenhamII目录目录第1章绪论 (1)1.1课题背景 (1)1.2目前现状 (1)1.3绘图软件概述 (2)1.3.1 基本介绍 (2)1.3.2 语言简介 (2)1.3.3 研究内容 (2)1.3.4 预期目标 (2)第2章开发技术与环境介绍 (3)2.1 VISUAL BISIC (3)2.1.1 VB语言的特点 (3)2.1.2 属性、方法和事件 (3)2.1.3 对象与类 (4)2.2开发环境介绍 (4)第3章二维图形生成技术 (5)3.1直线扫描转换算法 (5)3.1.1 直线DDA算法 (6)3.1.2 中点画线算法 (7)3.1.3 Bresenham画线算法 (8)3.2圆的扫描转换算法 (10)3.2.1 圆的性质 (10)3.2.2 中点画圆算法 (10)3.2.3 Bresenham画圆算法 (12)3.3填充技术 (13)3.3.1 种子填充算法 (13)3.3.2扫描线填充算法 (14)3.4 BEZIER曲线 (16)3.4.1 Bezier曲线的定义 (16)3.4.2 Bezier曲线的离散生成 (18)第4章界面设计与编码 (19)4.1界面设计 (19)4.1.1 主界面 (19)4.1.2 展示屏幕 (20)i目录4.1.3 快速启动页 (20)4.1.4 新建文档 (21)4.1.5 菜单栏预览 (21)4.1.6 工具选项栏 (22)4.1.7 其他窗体 (23)4.2编码实现 (24)4.2.1 直线--Bresenham画线算法 (24)4.2.2 画圆算法 (25)4.2.3 贝赛尔曲线 (28)4.2.4 填充--扫描线填充算法 (31)4.2.5 更新画布—UpdateArea (33)4.2.6 各类编辑操作 (34)4.2.7 裁剪 (39)4.2.8 图形的翻转 (42)4.2.9 截屏 (44)4.2.10 打开保存 (45)4.2.11 最近打开记录--随机文件读写 (47)4.3成果展示 (51)第5章结论与展望 (55)5.1结论 (55)5.2不足之处及未来展望 (55)参考文献 (57)致谢 (58)ii第1章绪论1.1 课题背景视觉是人类最重要的感觉手段,图形又是视觉的基础,随着多媒体技术的普及和发展,人们对画面的要求越高,对画图工具也提出了更高更全面的要求.对于一个人用户来说,开发一个基本的图形绘制处理系统,为用户提供一些基本的图形绘制功能,可以方便用户的使用.图形和图像有很大的不同,到目前为止,计算机图形学和数字图像处理还是作为两门课程分别讲授的,计算机图形学是将点、线、面、等实体生成物体的模型存放在计算机里,并可以进行修改、处理、操作和显示的一门学科.随着多媒体技术的普及和发展,绘图软件在生活工作中的使用越来越频繁.现在各类绘图软件数不胜数,但大多要么功能太简单,不能满足画图需要,要么设计太复杂,功能累赘,缺乏易用性.Windows自带的画图软件(开始—附件—画图),是一款简单,易用的画图软件,能满足一些画点、画线、画矩形、画圆等的简单功能.所以,开发一个绘图软件,能满足大部分用户的使用需求,方便用户使用,实属必要.该软件通过微软的开发工具Visual Basic结合计算机图形学的知识设计与开发.计算机图形学的基本含义是使用计算机通过算法和程序在显示设备上构造出图形.计算机图形学中的图形是指可以用数学方法描述的并且需要在计算机上显示的图形,也就是说,计算机图形学中的图形是人们通过计算机设计和构造出来的,不是通过如数码相机或扫描仪等设备输入的图像,所设计和构造的图形可以使现实世界中已经存在的物体,也可以是完全虚无的物体.1.2 目前现状随着计算机科学技术的发展,近30年来,计算机图形学得到迅猛发展,人们已经可以通过计算机高速、有效、真实地生成图形,计算机图形学作为利用计算机生成图形的技术,已经越来越广泛地在各个领域等到了应用.计算机图形学应用领域的拓宽和应用水平的提高,使得人们越来越重视对计算机图形学的研究和利用.当今,计算机图形学已经成为了计算机科学技术领域的一个重要研究方向,并被广泛地应用于科学计算、工程设计、医药、工业、艺术、娱乐业、广告业、教育与培训、商业及政府部门等.计算机图形技术是随着计算机技术在图形处理领域中的应用而发展起来的一门新技术,是伴随着电子计算机及其外围设备的发展而产生的,现已成为计算机应用科学中的一个重要分支,在许多行业中起着越来越大的作用.计算机的运算能力的提高,图形处理速度的加快,使得图形学的各个研究方向得到充分发展,大量价格低、简单易用的图形应用程序促使具有图形处理功能的计算机进入家庭.图形学已广泛应用于计算机辅助设计与制造、计算机动画、科学计算可视化、虚拟现实、影视娱乐等各个领域.这必然促使计算机专业人员、广大非计算机专业的应用人员,从计算机图形学的理论高度和计算机绘图的1江南大学学士学位论文实用角度来研究和开发计算机图形的生成技术及软件.1.3 绘图软件概述1.3.1 基本介绍该绘图软件参照Windows系统自带画图,在其基础上,优化界面,添加功能,加以实现,以达到,功能齐全,界面简洁,使用方面的目的1.3.2 语言简介Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言.从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB 的开发者的数量.它源自于BASIC编程语言.VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件.程序员可以轻松的使用VB提供的组件快速建立一个应用程序通过几年的发展,它已成为一种专业化的开发语言和环境.用户可用Visual Basic快速创建Windows程序,现在还可以编写企业水平的客户端/服务器程序及强大的数据库应用程序.VB会吸引更多的赞誉和批评,也会继续为广大的用户和程序员使用.它非常适合用来开发拥有友好界面的程序(比如针对终端的数据),但是不适合开发其它程序(比如联合计算程序).1.3.3 研究内容通过参考现有的各类绘图软件(主要参考了Windows画图的功能)并详细了解绘图的主要功能及应用完成系统的需求分析;根据需求分析完成系统的结构设计图;根据系统的结构设计图完成系统的结构设计,包括系统的界面设计以及功能模块设计;根据设计文档,设计系统界面,完成各模块编码;完成单元测试和系统测试,及功能测试.1.3.4 预期目标软件预期完成以下功能:(1)基本实现windows系统画图软件的所有功能.(2)可以为左右键分别指定颜色,同时使用两种颜色画图.(3)具有基本的图形绘制功能,例如:矩形、圆形、点、线等.(4)可添加坐标轴及刻度,可以绘制简单贝塞尔曲线,可控制各图形的精准位置和尺寸.(5)可以使用纯色或多种材质使用喷枪或填充图形.(6)对于每一种图形的绘制,可以选择不同的颜色,不同的线条.(7)可以实时截取全屏幕或动态窗口图片加以编辑,保存.(8)可以实现图形的复制、剪切、粘贴、删除,文件的打开和存储.(9)设计有快速启动页,可打开最近文件,提高效率;多窗口操作,界面美观,操作方便.2绘图软件的设计第2章开发技术与环境介绍2.1 Visual BisicVisual Basic(简称VB)是近年来在国内外得到迅速推广应用的可视化程序设计语言,具有简单易学,功能强大,软件费用支出低,见效快等特点.它提供了开发Windows应用程序最迅速,最简捷的方法,不但是专业人员得心应手的开发工具,而且易于被非专业人员掌握使用.目前,全世界数以百万计的程序设计人员正在用Visual Basic开发各种类型的软件.2.1.1 VB语言的特点(1)可视化Visual Basic是可视化的程序设计语言,开发人员只需要按照设计要求对屏幕进行布局,用集成开发环境来直接拖和画出各个菜单、按钮、滚动条、窗口等不同类型的对象.(2)面向对象在Visual Basic中,窗体及控件都称为对象,有这些对象构成了用户界面,Visual Basic 是面向对象的程序设计语言,它是将代码和数据结合在每个对象中,用户只需要了解每个对象能完成什么任务,不必知道对象是如何工作的,而程序设计人员只要编写实现程序功能的那部分代码,这样大大提高了程序设计的效率,但是Visual Basic里面没有多态等面向对象的特性,所以有人称Visual Basic是准面向对象程序设计语言.(3)事件驱动Visual Basic通过事件来执行对象的操作,一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应,而各个事件之间却不一定有联系,这样的应用程序代码较短,使程序既易于编写又易于维护.(4)沿用结构化的程序设计的思想Visual Basic具有丰富的数据类型,众多的函数,并采用了结构化的程序设计方法,简单易学.(5)易学易用的集成开发环境Visual basic提供了易学易用的集成开发环境,在该开发环境中,用户可设计用户界面,编写代码,调试程序,直至把应用程序编译成可执行文件使其直接在windows环境下运行(6)Visual Basic支持多种数据库的访问采用了对象的链接与嵌入(OLE,Object linking and embedding)技术可以很方便的开发出集声音、图像、动画、子处理、web等对象于一体的应用程序.2.1.2 属性、方法和事件在Visual Basic中,可以通过属性、方法和事件来说明和衡量一个对象的特征.事件(Event)事件是指发生在某一对象上的事情.事件又可分为鼠标事件和键盘事件.例如,在命令按钮(Command Button)这一对象上可能发生鼠标单击(Click)、鼠标移动(Mouse Move)、3鼠标按下(Mouse Down)等鼠标事件,也可能发生键盘按下(Key Down)等键盘事件.总之,事件指明了对象“什么情况下做?”,常用于定义对象发生某种反映的时机和条件.方法(Method)方法是用来控制对象的功能及操作的内部程序.例如,人具有说话、行走、学习、睡觉等功能,在visual Basic中,对象所能提供的这些功能和操作,就称作“方法”.以窗体为例,它具有显示(show)或隐藏(hide)的方法.总之,方法指明了对象“能做什么?”,常用于定义对象的功能和操作.属性(Property)属性是指用于描述对象的名称、位置、颜色、字体等特征的一些指标.可以通过属性改变对象的特性.有些属性可以在设计时通过属性窗口来设置,不用编写任何代码;而有些属性则必须通过编写代码,在运行程序的同时进行设置.可以在运行时读取和设置取值的属性成为读写属性,只能读取的属性成为只读属性.总之属性指明了对象“是什么样的?”,常用于定义对象的外观.2.1.3 对象与类(1)对象(object)Visual basic 具有“面向对象”的特性,Visual Basic 应用种程序的基本单元是对象,用Visual Basic 编程就是用“对象”组装程序.这种“面向对象”的编程方法与传统的全部用代码编制程序的方法有很大区别,就像用集成电路芯片组装电视机和用三极管,二极管组装电视机的区别一样.显然,“面向对象”的编程方法比传统的编程方法更简单,更方便,并且编写出的程序也更加稳定.因此,“对象”可以被看做Visual Basic 程序设计的核心.在Visual Basic 程序设计中,对象中还可以包含头,手,腿,脚等部位,其中的每个部位又可以单独作为作为被研究的对象.在Visual Basic 程序设计中,整个应用程序就是一个对象,应用程序中又包含着窗体(Frame),命令按钮(Command),菜单(Menu)等对象.(2)类(Class)在Visual Basic 中,对象是由类创建的,因此对象可以说是类的具体实例,这就好比是蛋糕和做蛋糕的模具之间的关系.各种不同的对象分属于各种不同的种类.同一类对象可能具有一些不同的特征(或是说同一类对象不一定具有完全相同的特性);具有某些相同的特性的对象,不一定是同一类对象,这就好比是人和猴子虽然都有身高、性别等特征,但二者之间还存在着智商、语言等特性差异,这两个对象之间的特性相差很多,根本就不能算是同一类对象.而男人和女人,有着性别、生理等方面的差异,但他们绝大部分特性相同,可以算是同一种类.由此,可以归结为一句话:同一类对象的绝大部分特性相同.2.2 开发环境介绍操作系统:Windows XP开发语言:Visual Basic开发工具:Microsoft Visual Basic 6.0 中文版4第3章 二维图形生成技术在显示器上生成一个图形,实质上市往显示器缓存的相应单元中填入数据.将计算机中表示的向量图形在显示器上显示的过程称为图形的扫描转换俗称光栅化.图形扫描转换的关键是寻找合适的算法,利用计算机中图形的向量表示和图形的数学表示,计算出落在或充分接近图形的像素,并以此像素的集合近似代替图形.例如话一条从点(X0,Y0)到点(X1,Y1)的直线,实质上是一个发现最佳逼近直线的像素序列,并按直线的颜色属性填入色彩的过程.由于一个复杂图形是由许多基本的图形构成的,在一个图形中,可能包含成千上万个基本图形,所以要求进行图形扫描转换时应尽可能地高效率、速度快.又由于图形的扫描转换一般是由硬件直接完成的,因此,所涉及的扫描转换算法,应该便于硬件实现.图形的扫描转换首先需要确定图形像素的位置,然后再设置图形的颜色或其他属性.3.1 直线扫描转换算法数学意义上的直线式指没有宽度的、由连续的无数个点构成的集合,因此显示器只能近似地显示直线.对直线进行扫描转换时,需要在显示器的有限像素中,确定最佳逼近该直线的一组像素,对这些像素进行写操作,这个过程称为直线的扫描转换.一下介绍一个像素宽度的3种常用的直线绘制算法,即直线DDA 算法,中点画线算法及Bresenham 画线算法.在介绍这3种常用算法之前,首先介绍直线的直接画线算法.图3-1 直线的表示 如图3-1所示的直线方程为:b kx y += (3-1)其中k 为直线斜率,b 为直线与y 轴的交点.如果已知直线段的两个端点(x 0, y 0)和(x 1, y 1 ),直线也可以用两点式表示:010010x x x x y y y y --=--(3-2) 通过两点式,可以得到直线的斜率是:0101x x y y k --=(3-3) bk x yO利用直线方程,已知直线两个端点(x 0,y 0)和( x 1,y 1 )的直线段,如给出直线上某一点的x 坐标值,可以计算出该点的y 值.这就是直线的直接画图算法.为了便于计算机的计算,我们让x 坐标从x 0变化到x 1 ,每一步递增1,这样可以保证x 坐标落在对应的栅格上,进而计算对应的y 坐标,并舍入取整.用这种方法既直观,又可行,然而效率较低.这是因为每步运算都需要一个浮点乘法与一个舍入运算.直线的浮点运算占用大量的计算机资源,且运算速度慢,所以直线的直接画线算法没有实际的应用价值.3.1.1 直线DDA 算法DDA 是数字微分分析式(Digital Differential Analyzer)的缩写.设直线段的两个端点(x 0, y 0)和(x 1, y 1),直线扫描转换的最简单方法是先算出直线的斜率,然后,从直线的起点开始,确定最佳逼近于直线的y 坐标.图3-2 直线数值微分示意图 假定端点坐标均为整数,表示端点恰在栅格上,让x 从起点变化到终点,每步递增,,利用直线方程可以计算出对应的y 坐标:x k y xk b kx b x x k bkx y i i i i i ∆+=∆++=+∆+=+=++)(11 取=1时,有y i+1 = y i + k ,即当x 每递增1时,y 递增的值是直线斜率k .DDA 算法取直线起点( x 0, y 0 )作为初始坐标,每一步x 递增1,通过上式计算出y 坐标,这样就可以写出直线扫描转换的数值微分算法.用直线微分算法绘制的直线如图3-2. 算法中的变量说明与前面的分析保持一致,算法主体是一个循环,每一次循环中,变量x 递增1,y 递增k .注意上述分析和算法仅适用于︱k ︱≤1的情形.这种情况下,x 每增加1, y 最多增加1,从而保证在迭代循环的过程中,当x 方向递增1时,y 方向不可能有像素的跳跃.如果直线的端点为(100,100)和(101,200),采用上面的算法将只画出了两个像素,显然不能表示出我们要画的一条直线.当直斜率k 的绝对值超过1时,必须把x 、y 在算法中的地位交换,即循环变量改为y ,y 每增加1, x 相应增加 1/k ,算法的实现可以通过前面的︱k ︱≤1情形下的DDA 算法改写.(x i ,round(y i )) (x i , y i ) (x i +1, y i +k )(x i +1, round(y i +k ))(3-4)数值微分算法的本质,是用数值方法解微分方程,通过同时对x 和y 各增加一个小增量,计算下一步的x 、y 值.在一个迭代算法中,如果每一步的x 、y 值是用前一步的值加上一个增量来获得的,那么,这种算法就称为增量算法.因此,DDA 算法是一个增量算法.增量算法通过循环简化了比较复杂的问题,在图形学中有较多的应用.DDA 方法计算像素位置,消除了直线方程中的乘法,在x 和y 方向使用合适的增量来逐步沿直线推出各像素位置,比直接使用直线方程快.但浮点增量误差的连续叠加积累会使长线段所计算的像素位置有所偏离.而且程序中的k 与y 必须用浮点数表示,每一步运算必须对y 进行舍入取整,取整操作和浮点运算十分耗时,不利于在硬件中实现.3.1.2 中点画线算法不失一般性,在对中点画线法的讨论中,假定直线斜率在0、1之间.如图3-3所示,若直线在x 方向上增加一个单位,则在y 方向上的增量只能在0、1之间.假设x 坐标为x i 的与直线最近的像素已经决定为P (x i , y i ), 则下一个与直线最接近的像素只能是正右方的P 1点(x i +1,y i )或右上方P 2点(x i +1,y i +1).图3-3中点画线法中直线与中点、侯选点的关系以M (x i +1,y i +0.5)表示P 1与 P 2 的中点,用Q 表示理想直线与x =x i +1直线的交点.很明显,当M 在Q 的下方,表明P 2离直线更近,应该取P 2 为下一个直线上的点; 当M 在Q 的上方, 表明P 1离直线更近, 应该取P 1 为下一个直线上的点,如果M 与Q 重合,可以任取P 1、P 2中的一点.这就是中点画线的基本思想.中点画线的算法实现,关键是建立判别式判断M 和Q 的位置关系, 以及如何合理方便地利用增量算法计算判别式.假设直线的起点和终点分别是(x 0,y 0)和(x 1,y 1),如果直线方程采用隐式方程表示为:0=++=c by ax F(x,y) (3-5)通过简单计算, 直线隐式方程中的a 、b 、c 分别为:1100110y - x y x c - x x b - y y a ===由于假定直线斜率在0、1之间, 且x 0 <x 1, 所以a<0.依据直线的基本常识, 如果一个点(x ,y )在直线的上面,有F (x ,y )>0; 如果一个点(x ,y )P (x i , y i ) P1 (x i +1 , y i ) P2 (x i +1 , y i +1)MQ在直线的下面,有F (x ,y )<0; 如果一个点(x ,y )在直线上,有F (x ,y )=0;因此,欲判断前述Q 在M 的上方还是下方,只要把M 坐标代入直线方程构造出下面的判别式并判断它的符号.c .y b x a .,y x F M Fd i i i i i i ++++=++==)50()1()501()( (3-6)当d <0时,M 在直线下方(即在Q 的下方),应取右上方的P 2作为下一个像素;当d >0时, M 在直线上方(即在Q 的上方),应取正右方的P 1作为下一个像素;当d =0时,可以随便取一个.约定取正右方的P 1.为了简化判别式的计算, 注意到d i 是x i 和y i 的线性函数, 可以采用增量算法.当d >0,取正右方像素P 1,令再下一个像素的判别式为d 1:ad ac y b x a c.y b x a .,y x F d i i i i i i i i +=+++++=++++=++=+)5.0()1()50()2()502(11此时表示判别式的增量为a .当d <0,取右上方像素P2,令再下一个像素的判别式ba d ba c yb x a c.y b x a .,y x F d i i i i i i i i ++=++++++=++++=++=+)5.0()1()51()2()512(21 此时表示判别式的增量为a+b.直线的最左端是端点(x 0,y 0), 所以d 的初始值计算是: b.a b.a ,y x F b.a c by ax c.y b x a .,y x F d 5050)(50)50()1()501(000000000+=++=++++=++++=++=上式的推导中考虑到了(x 0,y 0)在直线上,所以F (x 0, y 0)=0. 在实际使用中我们只关心d 的符号,又因为a 、b 都是整数,因此在算法实现中以2d 的正负代替d 的正负,这样可以化简掉d 的初始值中得小数,写出仅包含整数运算的算法.中点画线算法中,只包含整数变量和加法运算,不包含浮点数和乘除法,适合硬件实现.3.1.3 Bresenham 画线算法Bresenham 算法是计算机图形学领域使用最广泛的直线扫描转换算法,是一个更好的算法.为了说明简便,仍然假定直线斜率在0到1之间.该方法采用了类似于中点画线算法的思想,用一个判别式的符号决定下一个像素点.算法原理如下:过各行各列像素中心构造一组虚拟网格线.按直线从起点到终点的顺序计算直线与各垂直网格线的交点,然后确(3-7) (3-8)(3-9)定该列像素中与此交点最近的像素.该算法的在采用增量计算的同时,对于每一列,只需检查一个误差项的符号,就可以确定该列的所求像素.图3-4 Bresenham 算法设直线方程为:k y )-x k(x y y i i i i i +=+=++11 (3-10)假设已经确定的像素为P (x i y i ).那么下一个像素如图3-4所示,可选择的像素点为 (x i +1, y i )和(x i +1, y i +1) )两者中的一个,在x =x i +1处直线上点y=k (x i +1)+b,,该点到点到(x i +1, y i )和(x i +1, y i +1)的距离分别令为1和2:bx k y b x k i i i ++-+=++=)1()1(2)1(1δδ 两个距离的差是:122)1(221-+-+=-b y x k i i δδ若此差值为正,则1>2,下一个像素点应取(x i +1, y i +1);若此差值为负,1<2,下一个像素点应取(x i +1, y i );若此差值为零,则l =2,下一个像素点可取两个像素点中的任意一个.为了简化,引入一个新的同正负的判别变量d : c y x x y x d i i i +⋅∆-⋅∆=-∆=22)21(δδ因此c y x x yd i i i +⋅∆-⋅∆=+++11122将上两式做减法得:)(2222221111i i ii i i i i y y x y y x x y y x x y d d -∆-∆=⋅∆+⋅∆-⋅∆-⋅∆=-++++注意到当d i ≥0时,y i+1=y i +1,所以上式可改写为: )22(1x y d d i i ∆-∆+=+当d i ≤0时,y i+1=y i ,所以上式可改写为:y d d i i ∆+=+21 (3-11)确定初始判别量d 0.因为线段上第一个像素点可取起点(x 0, y 0) ,计算求出02d y x =∆-∆ (3-12)归纳后可以得到Bresenham 的画线算法P (x i , y i ) P1 (x i +1 , y i )至此,我们用数学方法推导了Bresenham 算法及判别式的增量递推算法.实际上,Bresenham 算法还可以根据直的直线的简单几何特性,直接通过对图形的分析得到算法,大家可以参考其它文献.3.2 圆的扫描转换算法与直线的扫描转换类似,圆的扫描转换要在光栅网格中挑选出最靠近圆周的像素,为了简便,这里仅讨论位于原点,半径为r 的圆的扫描转换.至于圆心不在远点的圆,可以先将圆心移到原点,然后进行扫描转换,最后再将圆心移回到原来位置.3.2.1 圆的性质与直线的扫描转换类似,圆的扫描转换要在光栅网格中挑选出最靠近圆周的像素.当圆心在圆点时,圆方程为x 2+y 2=r 2,可以得到最直接的扫描转换算法是:令x 以单位步长从0增加至r ,每—步用22x r y -=解出y ,再将y 舍入到最接近的整数,就可以得到1/4圆周.这个算法中有乘方和开方运算,效率不高.并且在x 接近r 时,圆周上计算求得的点间隔较大.也可以让x 以单位步长从0增加至2r,用同样的方法计算y ,就可以得到1/8圆周.图3-5 八个对称点画圆圆心位于原点的圆有四条对称轴 x=0, y =0, x =y 和x=-y .若已知圆弧上一点(x , y ),可以得到其关于四条对称轴的其它7个点,他们分别是:(x, -y )、(-x, y )、(-x, -y )、(y, x )、(y, -x )、(-y, x )和(-y, -x ).这种性质称为八对称性.因此,只要扫描转换八分之一圆弧,就可以求出整个圆弧的像素集.如图3-5.3.2.2 中点画圆算法我们来讨论如何从点(0,R )至)2/2/(R R ,的1/8圆周顺时针地确定最佳逼近于圆弧的像素序列.假定横坐标为x i 的像素中与该圆弧最近者己确定,为P(x i , y i )素只能是正右方点P 1(x i +1, y i )和点P (x i +1, y i +1)中两者之一,如图3-6所示.构造圆函数为:222),(R y x y x F -+= (3-13)。