北大网络教育2018年《计算机图形学》第一次答疑ppt

上传人:F****n 文档编号:88195097 上传时间:2019-04-20 格式:PPTX 页数:55 大小:1.24MB
返回 下载 相关 举报
北大网络教育2018年《计算机图形学》第一次答疑ppt_第1页
第1页 / 共55页
北大网络教育2018年《计算机图形学》第一次答疑ppt_第2页
第2页 / 共55页
北大网络教育2018年《计算机图形学》第一次答疑ppt_第3页
第3页 / 共55页
北大网络教育2018年《计算机图形学》第一次答疑ppt_第4页
第4页 / 共55页
北大网络教育2018年《计算机图形学》第一次答疑ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《北大网络教育2018年《计算机图形学》第一次答疑ppt》由会员分享,可在线阅读,更多相关《北大网络教育2018年《计算机图形学》第一次答疑ppt(55页珍藏版)》请在金锄头文库上搜索。

1、计算机图形学课程串讲,北京大学计算中心 龙新征,课程介绍,开设背景 计算机硬件、软件性能的飞速发展、价格的大幅下降以及计算机的广泛应用,使计算机图形技术的发展十分迅速。计算机图形学已成为相当成熟的重要学科,并渗透到各行各业,在各个领域中起着越来越大的作用。 研究对象 研究如何在计算机环境下生成、处理和显示图形的一门学科,也就是研究用计算机进行图形和数据之间相互转换的方法和技术。,课程介绍,先修课程 高等数学、线性代数、数据结构、编程语言 学习形式 网络视频课件、学生自学、语音答疑,课程介绍,考试形式 闭卷考试 课程成绩=平时成绩占30%+期末卷面成绩70% 平时成绩构成:平时表现5%+平时作业

2、20%+语音答疑5%,教材,张彩明 杨兴强 李学庆 等,计算机图形学(第二版),北京,科学出版社,2008,知识体系,一、计算机图形学概述(教材第1章) 二、计算机图形系统及硬件基础(教材第3章) 三、 基本光栅图形生成算法(教材第4章) 四、变换(教材第5、6章) 五、人机交互绘图技术(教材第7章) 六、隐藏线和隐藏面的消除(教材第8章) 七、光照明模型(教材第9章),计算机图形学概述,图形的概念 概念:几何要素、非几何要素; 表现形式:点阵表示像素图、图像;参数表示参数图、图形; 计算机图形学的研究内容 定义:生成、处理、显示; 研究内容:建模、处理、绘制、人机交互; 与相关学科的关联和区

3、别:图形处理、模式识别、计算几何;,计算机图形学概述,计算机图形学的发展史 图形设备和交互技术、计算机图形系统(实体造型、曲面造型)、计算机图形的标准化(官方标准、非官方标准); 计算机图形学的应用领域 计算机辅助设计与制造、地理信息系统、科学计算可视化、计算机动画、计算机艺术、计算机模拟仿真、虚拟现实;,计算机图形系统及硬件基础,计算机图形系统概述 图形设备的功能、组成部分及各部分作用:中央处理器计算、存储;图形输出设备(显示设备、绘制设备)输出;图形输入设备输入; 图形系统的基本功能:计算、存储、输入、输出、交互; 掌握图形处理的基本流程。,计算机图形系统及硬件基础,图形显示原理(CRT显

4、示器) CRT显示器的组成部分及功能:电子枪、聚焦系统、加速系统、偏转系统、荧光屏; 单色CRT显示器的显示原理:电子枪发出电子束,依次经过聚焦系统、加速系统、偏转系统,轰击到荧光屏的不同部位,被其内表面的荧光物质吸收,发光产生可见的图形; 彩色CRT显示器的显示原理:像素、红绿蓝三色荧光点、荫罩、三个电子枪、调节电流强度控制荧光点亮度;,计算机图形系统及硬件基础,图形显示原理(光栅扫描式图形显示器) 扫描转换:逐行扫描(水平回扫,垂直回扫),隔行扫描(奇数场,偶数场,水平回扫,垂直回扫); 基本结构:帧缓冲存储器(位面)、视频控制器、CRT显示屏、颜色查找表; 显示原理:画点设备,按扫描线从

5、左到右、从上到下显示像素; 主要性能参数:分辨率、亮度等级数目和色彩、点距、显示速度;,计算机图形系统及硬件基础,图形显示原理 液晶显示器组成部分:玻璃板、偏光板、电极、背光板; 单色液晶显示器原理:背光板发出光线穿过第一层偏振过滤层后进入液晶层。液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成一个像素。通过电极上电压的改变,改变液晶的扭转状态,相应改变光线的行进方向,从而决定相应像素的亮度。 等离子显示器原理:晶格中的低压气体在高电压的作用下电离解产生具有特征的橙红色辉光;通过改变控制电压,可使等离子板显示不同灰度的图形; 显卡的组成部分:显卡BIOS芯片、图形处理芯片、

6、显示存储器、数模转换器芯片、接口,计算机图形系统及硬件基础,绘图设备 喷墨绘图机的基本结构和工作原理; 激光打印机的基本结构和工作原理:感光鼓、粉盒、打底电晕丝和转移电晕丝; 图形输入设备 常用的图形输入设备:光笔、数字化仪和手写输入板、触摸屏、图形扫描仪、数字墨水、数据手套及三维鼠标;,基本光栅图形生成算法,概述 像素是生成光栅图形的最小单位; 生成基本光栅图形的基本原理:用尽可能靠近图形的像素点的集合来近似表示图形;以像素中心的坐标为该像素的坐标建立坐标系;,基本光栅图形生成算法,直线生成算法 直线的DDA生成算法; 直线Bresenham法;,算法步骤 分别计算X方向和Y方向两个方向上的

7、跨度:= ,=| |; 取=max(,); 在X方向上每次增加 ,在Y方向上每次增加 ; 四舍五入取整; 循环进行3、4步直到= ,= 。,算法实现 void dda(int x1, int x2, int y1, int y2) int k; float x, y, dx, dy; k = Math.abs(x2-x1); if (Math.abs(y2-y1)k) k = Math.abs(y2-y1); dx = (float)(x2-x1)/k; dy = (float)(y2-y1)/k; x=(float)(x1); y=(float)(y1); for (int i=0;ik;i

8、+) gl_point (int)(x+.5f),(int)(y+.5f); x = x+dx; y = y+dy; ,1. DDA算法,算法实现 void bresenham(int xs, int ys, int xe, int ye) dy=ye-ys; dx=xe-xs; e = 2dydx; for(i = 0; i =0) x = x+1;y = y+1;e = e+2dy-2dx; else x = x+1;e = e+2dy; ,算法步骤 输入:直线的两端点A(xs,ys)和B(xe,ye) 算法: 计算初始值:=xe-xs, =ye-ys,误差项e=2 - ; 起始坐标x=x

9、s、y=ys; 绘制点(x,y); 判断误差项e的符号:若e0,则将(x,y)更新为(x+1,y+1),同时将e更新为e+2( - );否则(x,y)更新为(x+1,y),同时将e更新为e+2 ; 当直线没有画完时,重复步骤3和4。否则结束。,2. Bresenham算法,基本光栅图形生成算法,圆弧生成算法 正负法 Bresenham算法 离散生成算法,算法实现 void pnarc(int radius) int x,y,f; x = 0; y = radius; f = 0; while (y 0) gl_point(x, y,); if (f 0) f = f 2*y + 1;y-; e

10、lse f = f + 2*x + 1;x+; if(y = 0) gl_point(x, y); ,算法步骤 输入:圆的半径R 算法: 计算初始值:=0,y=R,f=0;表示从(0,R)点开始画圆; 绘制点(x,y); 判断f的符号:若f0,则先将f更新为f-2y+1,再将(x,y)更新为(x,y-1);否则先将f更新为f+2x+1,再将(x,y)更新为(x+1,y); 当y0时,重复步骤2和3。否则结束。,1. 正负法,算法步骤 输入:圆的半径R 算法: 计算初始值:=0,y=R,d=3-2R;从(0,R)点开始画圆; 绘制点(x,y); 判断d的符号:若dx时,重复步骤2和3。否则结束。

11、,算法实现 void bresenham_arc(int radius) int x,y,d; x = 0; y = radius; d = 3-2*radius; while (x y) gl_point(x, y); if(d0) d=d+4*x+6; else d=d+4*(x-y)+10; y-; x+; if(x = y) gl_point(x,y); ,2. Bresenham 算法,3. 离散生成算法,离散生成法可以很容易的生成任意的圆弧。 基本思想:将整个圆弧等分成一段段的短直线,用这些短直线形成的折线来逼近圆弧,为了获得这些短直线,只需按一定的方式计算给定圆弧轨迹上一系列顶点

12、,短直线的绘制可采用直线的生成算法,如果将圆弧分割的足够密,则短直线将足够短,形成的折线将可以和圆弧接近到任意程度,因此在允许的误差范围内,可以用显示折线代替显示圆弧。,基本光栅图形生成算法,多边形填充 把多边形的顶点表示转换为点阵表示; 内点判别准则:从测试点引出一条伸向无穷远处的射线,射线与多边形边界的交点个数为奇数,则为内点;若为偶数时,则为外点; 奇点的处理:局部极值点、非极值点;对于局部极值点,应看成两个点,对于非极值点,应看成一个点; 算法:多边形扫描转换的扫描线算法、多边形边缘填充算法、多边形扫描转换的边界标志算法;,1. 多边形填充的扫描线算法,基本思想 先求出扫描线与多边形边

13、的交点,利用扫描线的连续性求出多边形与扫描线相交的连续区域,然后利用多边形边的连续性,求出下一条扫描线与多边形的交点,对所有扫描线由下到上依次处理。 对于每一条扫描线,填充过程可分为以下4步: 计算扫描线与多边形相交的边的交点,设交点个数为n; 把所有的交点按x值递增的顺序进行排列; 将排序后的第1个与第2个交点,第3个与第4个交点,第n-1个与第n个交点配对,每对交点就代表扫描线与多边形的一个相交区间; 把相交区间内的像素置成多边形的颜色,相交区间外的像素置成背景色。,1. 多边形填充的扫描线算法,数据结构 边y筒ET:按照边下端点的纵坐标y对非水平边进行分类的指针数组。下端点的纵坐标y等于

14、i的边归入边y筒的第i类。数组的长度等于扫描线的总数。同一类中,各边按x值(x值相等时,按x的值)递增的顺序排列,水平边不参与分类。 边的活化链表AEL:由与当前扫描线相交的所有多边形的边组成。它记录了多边形边沿扫描线的交点序列。 边y筒ET和边的活化链表AEL中的多边形的边由四个域组成: ymax :边的上端点的y坐标;奇点处理:对于非极值点应该ymax=ymax-1。 x:在ET中为边的下端点的x坐标,在AEL中是边与扫描线交点的x坐标 x:边的斜率的倒数 next:指向下一条边的指针。,1. 多边形填充的扫描线算法,具体步骤 步骤1:(AEL初始化)将边的活化链表AEL设置为空; 步骤2

15、:(y初始化)取扫描线纵坐标y的初始值为ET中非空元素的最小序号; 步骤3:按从下到上的顺序对纵坐标值为y的扫描线(当前扫描线)执行下列步骤,直到边的分类表ET和边的活化链表AEL都变成空为止。 如边y筒ET中的第y类元素非空,则将属于该类的所有边从ET中取出并插入边的活化链表AEL中,AEL中的各边按照x值(当x的值相等时,按x值)递增方向排序; 若相对于当前扫描线,边的活化链表AEL非空,则将AEL中的边两两依次配对,即第1,2边为一对,第3,4边为一对,依此类推。每一对边与当前扫描线的交点所构成的区段位于多边形内,依次对这些区段上的点(象素)按多边形属性着色; 将边的活化链表AEL中满足y=ymax的边删去。 将边的活化链表AEL剩下的每一条边的x域累加x,即x:=x+x。 将当前的扫描线的纵坐标值y累加,即y:=y+1,1. 多边形填充的扫描线算法,特点 数据结构复杂。 充分利用了扫描线和多边形的边两种形式的连续性,避免了反复求交点等大量运算。,2. 边缘填充算法,算法思想 对多边形的每一非水平边上的各像素进行向右求补运算,当相对于所有边的求补运算都完成后,多边形的扫描转换也随之完成。 特点 数据结构和程序结构简单; 执行时需对帧缓存器中的大批元素反复赋值; 对单色图像比较有用。,27,3. 边界标志算法,算法思想 首先用一种特殊的颜色在帧缓冲器中将多边形的边界

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号