计算机图形学第1章_第1页
计算机图形学第1章_第2页
计算机图形学第1章_第3页
计算机图形学第1章_第4页
计算机图形学第1章_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机图形学计算机图形学教程教程清华大学计算机基础教育课程系列教材清华大学计算机基础教育课程系列教材 陆润民陆润民 编著编著绪论绪论一、课程说明一、课程说明1.图形学概述图形学概述“图形”是人类最早的文明体现。它 和文字、声音等一样,是承载信息进 行交流的重要媒体。是一切设计工作 的核心内容之一。图形学作为一门科 学,历来是人们重要的学习和研究内 容。 计算机图形学是研究通过计算机将数据转换为图形,并在专用设备上显示的原理、方法和技术的学科。 通俗地讲,就是应用计算机技术进 行图形的生成、处理和输出。 计算机技术的不断完善以及计算机 图形学这门新兴学科的发展,为利用 计算机来进行设计和图形处理

2、开创了 新纪元。 计算机图形学的历史并不长,但对现 代科学技术的影响很大。可以说,任 何一个设计及图形领域都不可缺少计 算机图形技术。它是唯一能帮助人们 进行高速度、高精度、高难度的设计 及图形表现工作的一种技术。 工程界普遍认为:计算机图形学是 现代设计方法的核心内容之一。2. 计算机图形学包含的主要内容计算机图形学包含的主要内容图形系统(硬、软、标准化)基本图形生成图形变换图形典型算法曲线曲面造型计算机动画真实感图形图形学的应用 3.计算机图形学与计算机辅助设计计算机图形学与计算机辅助设计计算机图形学是计算机辅助设计的重 要组成部分和核心内容。(1)设计工作的最后结果一般都要以图的形式来表

3、达;(2)计算机图形技术是实现先进的 计算机辅助设计技术的重要基础。 要掌握计算机辅助设计技术,首先必 须掌握计算机图形技术。4. 计算机图形学的应用计算机图形学的应用近 30 年来, “ 计算机图形学 ”得到了广泛的应用和飞速的发展。目前,其主要的应用领域有:( 1 ) 计算机辅助设计计算机辅助设计( CAD )和和辅助制造辅助制造 ( CAM )这是一个计算机图形学应用最广泛、最活跃和发展最快的领域。它被用来进行建筑工程、机械结构和部件等的设计,绘制加工图纸;汽车、飞机、船舶的外形数学建模,曲线、曲面拟合与光顺,并绘出图纸;大规模集成电路的设计与绘图等。( 2 )动画与系统模拟动画与系统模

4、拟动画片、广告;模拟各种反应过程,如化学反应、核反应;碰撞、地震等过程模拟;以及各种各样的运动和训练模拟。这样做,不仅安全,还可以取得极大的经济效益。( 3 )绘制勘探、测量的图形绘制勘探、测量的图形处理勘探和测量所得的数据,可以绘制成地理图、地形图、矿藏分布图、气象图,在微观中的电场、电荷分布图等。( 4 )办公自动化办公自动化可以用来绘制数学的或经济的各类信息二、三维图表。如统计用的直方图、扇形图,以及各类进程管理图表等。这些图可以用简明的方式提供形象化的数据和变化趋势,以增加对复杂现象的了解,并协助作出决策。( 5 )计算机辅助教学计算机辅助教学由于计算机图形技术能生成丰富的图形,可用于

5、辅助教学,使教学过程变得形象、直观和生动,有助于提高学生的学习兴趣和注意力,增强教学效果。5.教学安排教学安排(1)总学时)总学时48。(2)每周一次讲课;上机)每周一次讲课;上机20学时。学时。 (20机时课内、课外各10个。)(3)教学基本要求)教学基本要求 了解计算机图形学所包含的基本 内容; 能用C语言编写图形程序; 能利用典型的图形软件来实现自 己的设计思想(较简单的); 能用C程序来实现一些典型的图 形算法。二、二、C语言图形功能语言图形功能一些高级语言都扩充了图形功能,这使得用户可以不需配备专门的图形软件,就能在计算机上进行图形工作。Turbo C 2.0包含有460多个库函数,

6、其中有 70 多个图形函数,这些函数包括了绘图、处理图象及图素、屏幕及视图区控制、颜色及线型设置、状态查询和出错处理等,这使得 Turbo具有很强的图形功能。.图形显示器的工作方式图形显示器的工作方式IBM PC 机的显示器可以在两种基本视频方式下工作:一种是文本方式;另一种是图形方式。( 1 )文本方式文本方式在文本方式下,屏幕上可以显示的最小单位是字符,字符在屏幕上以行、列排列,即我们通常见到的情况。文本方式不同,屏幕上所显示字符的行数和列数也不一样,颜色也会有所区别。Turbo C 支持 6 种不同的文本显示方式。( 2 )图形方式图形方式在图形方式下,屏幕上可以控制的最小单元称作像素

7、( pixel ) ,它是组成图形的基本元素,一般叫作“点”。通常把屏幕上所包含像素的个数叫做分辨率。分辨率越高,显示的图形越细致、质量越好,这是显而易见的。在图形方式下,屏幕上每个像素的显示位置用点坐标系来描述。在该坐标系中,屏幕左上角为坐标系的原点,坐标值为 ( 0 , 0 ) ; 水平方向为轴,自左向右;垂直方向为轴,自上向下。见下图。点坐标系中坐标值的范围决定于所用显示器的分辨率。分辨率不同,水平方向上和垂直方向上的点数也不同,即其 maxx 、maxy 的数值不同。就我们常用的 VGA 显示器来说,它通常所用的分辨率为 640480 ,即它的 maxx 值为 639 , maxy 的

8、值为 479。. 图形函数及其用法图形函数及其用法Turbo C 的图形函数均在一个头文件“ graphics.h” 中定义。所以,凡是在程序中要调用这些图形函数,都必须在源程序的开头写上文件包含命令:# include ( 1 ) 图形系统管理图形系统管理在一般默认情况下,显示器处于文本方式下。在文本方式下,所有的图形函数均不能应用。因此在调用图形函数绘图之前,必须先将显示器设置为图形模式,这就是通常所说的图形方式初始化。在图形工作完毕之后,又要使显示器回到文本方式,以便进行程序文件等的编辑工作。图形方式初始化图形方式初始化图形方式初始化通过函数 initgraph 来实现,它的功能是通过从

9、磁盘上装入一个图形驱动程序来初始化图形系统,并将系统设置为图形模式。其调用格式为:initgraph ( gdriver, gmode, path ) ;调用该函数需用的三个参数含义为:调用该函数需用的三个参数含义为:gdriver :是一个整型值,用来指定装入的驱动程序名。gmode :是一个整型值,用来设置图形显示模式。path :是一个字符串,用来指明驱动程序所在的路径。举例:假设使用 VGA 显示器,图形显示模式为 VGAHI ,即高分辨率图形模式,分辨率为 640480 。则初始化调用方式如下:int gdriver = VGA , gmode = VGAHI ;initgraph

10、(&gdriver , &gmode , “c: tc”);关闭图形模式关闭图形模式在运行图形程序结束后,应及时关闭图形模式,回到文本方式,以进行其他工作。关闭图形模式用函数 closegraph , 其调用方法为:closegraph ( ) ;(该函数不需参数)( 2 ) 绘图函数绘图函数从理论上来说,用像素点几乎可以画出任何图形,但毕竟是效率太低。为此,Turbo C 的 BGI 提供了一些基本的绘图函数,以方便图形设计。所有绘图函数调用时的参数,其类型均为整型,因此填入参数表的参数,应为整数或整型变量。LINE 函数:在指定两点之间画直线。如:line ( x1 , y

11、1 , x2 , y2 ) ;LINETO 函数:从当前点画线到指定点。如:lineto ( x , y ) ;MOVETO 函数:把当前点移到指定点(不画线)。如:moveto ( x , y ) ;CIRCLE 函数:指定圆心和半径画圆。如:circle ( xc , yc , r ) ;ARC 函数:画一段圆弧。要求指定圆弧所在圆的圆心、半径,以及圆弧的起始角和终止角。如:arc ( xc , yc , angs , ange , r ) ;RECTANGLE 函数:指定矩形的两对角点画一个矩形。如:rectangle ( x1 , y1 , x2 , y2 ) ;DRAWPOLY 函数

12、:画一条任意多边折线。如:drawpoly ( nps , xy ) ;其中,nps 为多边折线的顶点数;xy 为存放顶点坐标值的数组名。如果首尾两点重合,则可以绘制一个任意多边形。( ) 图形属性控制图形属性控制图形的属性指颜色和线型,颜色又有背景色和前景色之分。背景色指的是屏幕的颜色,即底色;前景色指的是绘图用的颜色。任何绘图函数都是在当前颜色(背景色和前景色)和线型的状态下作图的。系统的默认值为:背景色为黑色;前景色为白色;线型为实线。SETBKCOLOR 函数:设置背景颜色。如:setbkcolor ( COLORNAME ) ;SETCOLOR 函数:设置前景颜色。(用法同上)SETLINESTYLE 函数:设置线型。如:setlinestyle ( LSTY , 0 , WIDTH ) ;()绘图程序简例()绘图程序简

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论