计算机图形学 总结.docx
- 文档编号:1339213
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:10
- 大小:33.18KB
计算机图形学 总结.docx
《计算机图形学 总结.docx》由会员分享,可在线阅读,更多相关《计算机图形学 总结.docx(10页珍藏版)》请在冰豆网上搜索。
计算机图形学总结
第一章绪论
计算机图形学的基本概念
计算机图形学:
是研究怎样用数字计算机生成、处理和显示图形的一门学科。
图形:
计算机图形学的研究对象。
构成图形的要素:
几何要素——几何属性(点、线、面、体)
非几何要素——视觉属性(明暗、灰度、色彩、纹理、透明性、线型、线宽)
表示图形的方法:
点阵表示;参数表示
研究内容
计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法,构成了计算机图形学的主要研究内容。
图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。
计算机图形学的应用
图形用户界面;计算机辅助设计与制造(CAD/CAM);4科学计算的可视化:
CT;
真实感图形实时绘制与自然景物仿真;地理信息系统(GIS);VirtualReality(虚拟现实、灵境);事务和商务数据的图形显示;地形地貌和自然资源的图形显示
过程控制及系统环境模拟;电子出版及办公自动化;计算机动画及广告
计算机艺术;科学计算的可视化;工业模拟;计算机辅助教学
当前研究热点:
1.真实感图形实时绘制2.野外自然景物的模拟3与计算机网络技术的紧密结合
4计算机动画5用户接口6计算机艺术7并行图形处理
所熟悉的图形软件包
图形软件的标准
KGKS(GraphicsKernelSystem)(第一个官方标准,1977)
KPHIGS(Programmer’sHerarchicalIuteractiveGraphicssystem)
K一些非官方图形软件,广泛应用于工业界,成为事实上的标准
KDirectX(MS)
KXlib(X-Window系统)
KOpenGL(SGI)
KAdobe公司Postscript
CAGD(ComputerAidedGeometricDesign)
图形系统的功能1.计算功能2.存储功能3.对话功能4.输入功能5.输出功能
图形输入设备
1键盘和鼠标2跟踪球和空间球3光笔4数字化仪5触摸板6扫描仪
图形输出设备
显示器
1阴极射线管显示器2液晶显示器(LCD)3发光二极管显示器4等离子显示器
5等离子显示器6发光聚合物技术
图形绘制设备
针式打印机喷墨打印机激光打印机静电绘图仪笔式绘图仪
3章多边形
3.4多边形的扫描转换与区域填充
☐多边形扫描转换与区域填充可以统称区域填充,就是如何用颜色或图案来填充一个二维区域。
填充主要做两件工作:
一是确定需要填充的范围,二是确定填充的内容。
一般区域填充指的是已知区域内一个种子,然后由种子向周围蔓延填充规定区域。
☐方法:
⏹扫描线法:
x-扫描线法-〉有序边表法,边填充算法
⏹种子填充算法(区域填充)
多边形扫描转换与区域填充方法比较:
联系:
都是光栅图形面着色,用于真实感图形显示。
可相互转换。
多边形的扫描转换转化为区域填充问题:
当给定多边形内一点为种子点,并用Bresenham或DDA算法将多边形的边界表示成八连通区域后,则多边形的扫描转换转化为区域填充。
区域填充转化为多边形的扫描转换;若已知给定多边形的顶点,则区域填充转化为多边形的扫描转换。
不同点:
1.基本思想不同;前者是顶点表示转换成点阵表示,后者只改变区域内填充颜色,没有改变表示方法。
2.对边界的要求不同
前者只要求扫描线与多边形边界交点个数为偶数。
后者:
区域封闭,防止递归填充跨界。
3.基本的条件不同
前者:
从边界顶点信息出发。
后者:
区域内种子点。
3.7反走样
☐用于减少或消除这种效果的技术,称为反走样(antialiasing)。
方法:
☐提高分辨率:
提高分辨率、简单取样、加权取样(过取样(supersampling),或后滤波)
☐区域取样(areasampling),或前滤波
5章:
裁剪
5.3二维图形裁剪
5.4投影变换
5.1坐标系统及其变换-坐标系
造型坐标系
用户坐标系直角坐标系、仿射坐标系、圆柱坐标系、球坐标系、极坐标系
观察坐标系
规格化的设备坐标系
设备坐标系
5.4投影变换
投影分类
☐平面几何投影
对平面几何投影,按照投影线角度的不同,有两种基本投影方法:
1平行投影(parallelprojection)。
它使用一组平行投影将三维对象投影到投影平面上去。
2透视投影(perspectiveprojection)。
它使用一组由投影中心产生的放射投影线,将三维对象投影到投影平面上去。
(一)三视图
三视图:
正视图、侧视图和俯视图
5.4.2透视投影
灭点
☐不平行于投影面的平行线的投影会汇聚到一个点,这个点称为灭点(VanishingPoint)。
☐坐标轴方向的平行线在投影面上形成的灭点称作主灭点。
☐一点透视有一个主灭点,即投影面与一个坐标轴正交,与另外两个坐标轴平行。
☐两点透视有两个主灭点,即投影面与两个坐标轴相交,与另一个坐标轴平行。
☐三点透视有三个主灭点,即投影面与三个坐标轴都相交。
☐观察投影
7章图形的几何变换
从应用角度讲,图形变换可分为两种:
☐几何变换(geometricaltransformation):
几何变换是指坐标系不动,形体相对于坐标系在移动,如图形的缩放、平移、变形等。
☐视像变换(viewingtransformation):
也称观察变换或者取景变换,是指形体不动,而所处的坐标系在变换。
图形变换是计算机图形学基础内容之一,其作用为:
☐把用户坐标系与设备坐标系联系起来;
☐可由简单图形生成复杂图形;
☐可用二维图形表示三维形体;
☐动态显示
综合题4道
一:
2章:
基本图形生成技术
3.1直线段的扫描转换算法
☐DDA算法
☐中点画线法
☐Bresenham画线算法
数值微分(DDA)法:
voidDDALine(intx0,inty0,intx1,inty1,intcolor)
{
CDC*pDC=GetDC();
intx;
floatdx,dy,y,k;
dy=y1-y0;dx=x1-x0;
k=dy/dx;
y=y0;
for(x=x0;x<=x1;x++)
{pDC->SetPixel(x,int(y+0.5),color);
y=y+k;
}
}
二、中点画线法
voidMidpointLine(intx0,inty0,intx1,inty1,intcolor)
{CDC*pDC=GetDC();
inta,b,d1,d2,d,x,y;
a=y0-y1;b=x1-x0;d=2*a+b;
d1=2*a;d2=2*(a+b);
x=x0;y=y0;
pDC->SetPixe(x,y,color);
while(x {if(d<0){x++;y++;d+=d2;} else{x++;d+=d1;} pDC->SetPixe(x,y,color); } } 三、Bresenham画线算法 算法步骤 ☐1.输入直线的两端点P0(x0,y0)和P1(x1,y1)。 ☐2.计算初始值dx、dy、e=-dx、x=x0、y=y0。 ☐3.绘制点(x,y)。 ☐4.e更新为e+2dy,判断e的符号。 若e>0,则(x,y)更新为(x+1,y+1),同时将e更新为e-2dx;否则(x,y)更新为(x+1,y)。 ☐5.当直线没有画完时,重复步骤3和4。 否则结束。 ☐Bresenhamline(intx0,inty0,intx1,inty1,intcolor) ☐{CDC*pDC=GetDC(); ☐intx,y,dx,dy,e; ☐Dx=x1-x0; ☐Dy=y1-y0; ☐e=-dx;x=x0;y=y0; ☐While(x<=x1) ☐{pDC->SetPixe(x,y,color); ☐X++; ☐e=e+2*dy; ☐If(e>0) ☐{y++; ☐e=e-2*dx; ☐} ☐} ☐} 4章: 圆的扫描转换算法 圆的扫描转换 ⏹角度DDA法 ⏹中点画圆法 ⏹Bresenham画圆算法 ⏹生成圆弧的正负法 ⏹圆的内接正多边形逼近法 3.2.2中点画圆法: MidpointCircle(intr,intcolor) {CDC*pDC=GetDC(); intx,y; floatd; x=0;y=r;d=1-r; pDC->SetPixe(x,y,color); while(x if(d<0){d+=2*x+3;x++} else{d+=2*(x-y)+5;x++;y--;} pDC->SetPixe(x,y,color); } } 3.2.3Bresenham画圆算法 OnBresenhamcircle(intr,intc) { CDC*pDC=GetDC(); intx,y,p,k; x=0,y=r,p=3-2*r; while(x { pDC->SetPixel(x,y,c); if(p<0) p=p+4*x+6; else { p=p+4*(x-y)+10; y-=1; } x+=1; } if(x==y) pDC->SetPixel(x,y,c); ReleaseDC(pDC); } 二: 扫描线填充算法: (综合题) (1)初始化: 堆栈置空。 将种子点(x,y)入栈。 (2)出栈: 若栈空则结束。 否则取栈顶元素(x,y),以y作为当前扫描线。 (3)填充并确定种子点所在区段: 从种子点(x,y)出发,沿当前扫描线向左、右两个方向填充,直到边界。 分别标记区段的左、右端点坐标为xl和xr。 (4)并确定新的种子点: 在区间[xl,xr]中检查与当前扫描线y上、下相邻的两条扫描线上的象素。 若存在非边界、未填充的象素,则把每一区间的最右象素作为种子点压入堆栈,返回第 (2)步。 上述算法对于每一个待填充区段,只需压栈一次;因此,扫描线填充算法提高了区域填充的效率。 三: 四: Cohen-Sutherland算法 如图所示,叙述对线段p1p2进行Cohen-Sutherland(编码法)法裁剪的过程 ⏹1)如图: 求直线段所在区号: code1=0001,code2=0100. ⏹ (2)短线段p1,p2做简单测试,code1∪code2≠0,code1∩code2=0,属于第三种情况,即不能简单接受,也不能简单裁剪掉 ⏹(3)由code1=0001可知p1在窗口左边,计算p1p2与窗口左边界的交点p3,并求p3所在区号,code3=0000,说明p3在窗口内,而p1p3必在窗口外,应舍弃。 对线段p3p2重复上述处理 ⏹(4)对线段p3p2,code2∪code3≠0,且code2∩code3=0,仍属于情况三 ⏹(5)由code2=0100知,p2在窗口下方,计算p3p2与窗口下边界的交点p4,并求p4所在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机图形学 总结 计算机 图形学