文档库 最新最全的文档下载
当前位置:文档库 › 计算机图形学实验报告

计算机图形学实验报告

计算机图形学实验报告
计算机图形学实验报告

计算机图形学实验报告

姓名涂楚雨

学号149074205

班级软142

实验二

1、Bresenham算法生成直线

当算法从一个点(Xi,Yi)沿着X方向向前步进到Xi+1时,Y方向的下一个位置只可能是Yi 和Yi+1两种情况,到底是Yi还是Yi+1取决于它们与精确值y的距离d1和d2哪个更小。d1 = y - Yi (等式1)

d2 = Yi+1 - y (等式2)

当d1-d2 > 0时,Y方向的下一个位置将是Yi+1,否则就是Yi。由此可见,Bresenham算法其实和数值微分算法原理是一样的,差别在于Bresenham算法中确定Y方向下一个点的位置的判断条件的计算方式不一样。现在就来分析一下这个判断条件的计算方法,已知直线的斜率k和在y轴的截距b,可推导出Xi+1位置的精确值y如下:

y = k Xi+1 + b (等式3)

将等式1-3带入d1-d2,可得到等式4:

d1-d2 = 2k Xi+1 - Yi - Yi+1 + 2b (等式4)

有因为根据图(2)条件,k = dy / dx,Yi+1 = Yi + 1,Xi+1 = Xi + 1,将此三个关系带入等式4,同时在等式两边乘以dx,整理后可得到等式5:

dx(d1 –d2) = 2dyXi + 2dy - 2dxYi + dx(2b - 1) (等式5)

另pi = dx(d1 –d2),则:

pi = 2dyXi + 2dy - 2dxYi + dx(2b - 1)

设初始值p=-dx

根据Xi+1与Xi,以及Yi+1与Yi的关系,可以推出pi的递推关系:

pi+1 = pi + 2dy - 2dx(yi+1 - yi)

由于yi+1可能是yi,也可能是yi + 1,因此,pi+1就可能是以下两种可能,并且和yi的取值是对应的:

pi+1 = pi + 2dy (Y方向保持原值)

pi+1 = pi + 2(dy –dx) (Y方向向前步进1)

根据上面的推导,当x2 > x1,y2 > y1时Bresenham直线生成算法的计算过程如下:

1、画点(x1, y1); 计算误差初值p1=2dy-dx;

2、求直线的下一点位置:

Xi+1 = Xi+1;

如果pi > 0 则Yi+1 = Yi + 1;

否则Yi+1 = Yi;

画点(Xi+1, Yi+1 );

3、求下一个误差pi+1;

如果pi>0 则pi+1 = pi+2(dy –dx);

否则pi+1 = pi+2dy;

4、如果没有结束,则转到步骤2;否则结束算法。

源代码:

#include

#include

#include

#include

void BresenhamLine(int x0, int y0, int x1, int y1) {

int x, y, dx, dy, i;

int e;

dx = x1 - x0;

dy = y1 - y0;

x = x0, y = y0;

e = 2*dy-dx;

putpixel(x0, y0,150);

for (i = 0; i < dx; i++)

{

putpixel(x, y,150);

x++;

if (e < 0)

{

e += 2*dy;

}

else

{

y++;

e += (2 * dy - 2 * dx);

}

}

}

int main()

{

int gdriver, gmode;

gdriver = DETECT;

initgraph(&gdriver, &gmode, "");

BresenhamLine(15, 47, 400, 600);

_getch();

closegraph();

}

运行结果:

2、Bresenham算法生成圆

现在从A点开始向右下方逐点来寻找弧AB要用的点。如图中点Pi-1是已选中的一个表示圆弧上的点,根据弧AB的走向,下一个点应该从Hi或者Li中选择。显然应选离AB最近的点作为显示弧AB的点。

假设圆的半径为R,显然,当xhi2 + yhi2 -R2 ≥ R2 - (xli2 + yli2)时,应该取Li。否则取Hi。

令di = xhi2 + yhi2 + xli2 + yli2 - 2R2 显然,当di ≥0 时应该取Li。否则取Hi。

剩下的问题是如何快速的计算di。设图中Pi-1的坐标为(xi-1,yi-1),则Hi和Li的坐标为(xi,yi-1)和(xi,yi-1-1 )

di = xi2 + yi-12 + xi2 + (yi-1-1)2 - 2R2

=2xi2 + 2yi-12 - 2yi-1 - 2R2 +1

di+1 = (xi + 1)2 + yi2 + (xi + 1)2 + (yi - 1)2 - 2R2

=2xi2 + 4xi + 2yi2 - 2yi - 2R2 + 3

当d i<0时->取H i ->y i=y i-1,则

d i+1 = d i + 4x i-1 + 2

当d i ≥ 0时->取L i -> y i=y i-1-1,则

d i+1 = d i + 4(x i-1-y i-1) + 6

易知 x0=0,y0=R,x1=x0+1

因此 d0=12 + y02 + 12 +(y0 - 1)2 - 2R2 = 3 - 2y0 = 3 - 2R

我们只需要知道了圆上的一个点的坐标(x, y),利用八对称性,我们马上就能得到另外七个对称点的坐标(x,-y),(y,x),(y,-x),(-x,-y),(-x,y),(-y,-x),(-y,x)

源代码:

void CirclePoints(int a, int b, int x, int y, int color)

{

putpixel(x + a, y + b, color);

putpixel(x + a, -y + b, color);

putpixel(y + a, x + b, color);

putpixel(y + a, -x + b, color);

putpixel(-x + a, -y + b, color);

putpixel(-x + a, y + b, color);

putpixel(-y + a, -x + b, color);

putpixel(-y + a, x + b, color);

}

void BresenhamCircle(int a,int b,int r,int color)

{

int x, y;

int d = 3-2*r;

x = 0, y = r;

CirclePoints(a,b,x,r,color);

while(x

{

if (d < 0)

{

d += 4*x + 2;

}

else

{

y--;

d += 4 * x - 4 * y +6;

}

x++;

CirclePoints(a, b, x, y, color);

}

}

运行结果:

3、生成圆弧的正负法

设圆的方程为F(x,y)=X2 + Y2 - R2=0;

假设求得Pi的坐标为(xi,yi);

则当Pi在圆内时-> F(xi,yi)<0 -> 向右-> 向圆外

Pi在圆外时-> F(xi,yi)>0 -> 向下-> 向圆内

即求得P i点后选择下一个象素点P i+1的规则为:

当F(x i,y i) ≤0 取x i+1 = x i+1,y i+1 = y i;

当F(x i,y i) >0 取x i+1 = x i, y i+1 = y i - 1;

这样用于表示圆弧的点均在圆弧附近,且使F(x i,y i) 时正时负,故称正负法。

?若F(x i,y i) 已知,计算F(x i+1,y i+1) 可分两种情况:

?1、F(x i,y i)≤0-> x i+1 = x i+1,y i+1 = y i;

? -> F(x i+1,y i+1)= (x i+1 )2 +(y i+1 )2 -R2

?-> = (x i+1)2+ y i2-R2 = F(x i,y i) +2x i+1

?2、 F(x i,y i)>0-> x i+1 = x i,y i+1 = y i -1;

? -> F(x i+1,y i+1)= (x i+1 )2 +(y i+1 )2 -R2

?-> = x i2+(y i –1)2-R2 = F(x i,y i) - 2y i+1

源码:

void ZhengfuCircle(int a, int b, int r, int color) {

int x, y, f;

x = 0; y = r;

f = 0;

while (x < y)

{

CirclePoints(a, b, x, y, color);

if (f <= 0)

{

f += (2 * x + 1);

x++;

}

else

{

f += (1 - 2*y);

y--;

}

}

}

运行结果:

实验三Bezier曲线

Bezier曲线是参数多项式曲线,它由一组控制多边形折线(控制多边形)的顶点唯一定义,在控制多边形的各顶点中,只有第一个和最后一个顶点在曲线上,其他的顶点则用以定义曲线的导数,阶次和形状

Bezier曲线的数学基础是能够在第一个和最后一个顶点之间进行插值的一个多项式混合函数,对于有n+1个控制点的Bezier曲线段用参数方程表示如下:

式中pk(xk,yk,zk),k=0,1,2…..n是控制多边形的n+1个顶点,BENk,n(t)是Bernstein基函数

下面输入n个点并绘制Bezier曲线

源代码:

#include

#include

#include

#include

#include

#include

#define N 1000

int n;//控制点的个数

struct point//控制点的坐标

{

double x;

double y;

}point[N];

void init() //输入控制点的坐标

{

int i;

printf("please input the number of the points: ");

scanf_s("%d", &n);

printf("please input the location of the points\n");

for (i = 0; i

scanf_s("%lf %lf", &point[i].x, &point[i].y);

}

void sol1() //绘制控制多边形的轮廓

{

int i;

setcolor(RED);

for (i = 0; i

line((int)point[i].x, (int)point[i].y, (int)point[i + 1].x, (int)point[i + 1].y); }

double sol2(int nn, int k) //计算多项式的系数C(nn,k)

{

int i;

double sum = 1;

for (i = 1; i <= nn; i++)

sum *= i;

for (i = 1; i <= k; i++)

sum /= i;

for (i = 1; i <= nn - k; i++)

sum /= i;

return sum;

}

void sol3(double t) //计算Bezier曲线上点的坐标

{

double x = 0, y = 0, Ber;

int k;

for (k = 0; k

{

Ber = sol2(n - 1, k)*pow(t, k)*pow(1 - t, n - 1 - k);

x += point[k].x*Ber;

y += point[k].y*Ber;

}

putpixel((int)x, (int)y, GREEN);

}

void sol4() //根据控制点,求曲线上的m个点

{

int m = 500, i;

for (i = 0; i <= m; i++)

sol3((double)i / (double)m);

}

int main()

{

init();

initgraph(640, 480);

sol1();

sol4();

_getch();

closegraph();

return 0;

}

运行结果:

实验四二维图形变换

1、基本几何变换及变换矩阵

基本几何变换都是相对于坐标原点和坐标轴进行的几何变换,有平移、比例、旋转、反射和错切等。

1.1 平移变换

是指将p点沿直线路径从一个坐标位置移到另一个坐标位置的重定位过程。他是一种不产生变形而移动物体的刚体变换(rigid-body transformation),如下图所示。

图1-1 平移变换

推导:

求得平移变换矩阵如下:

其中Tx,Ty称为平移矢量。

1.2 缩放变换

缩放变换是指对p点相对于坐标原点沿x方向放缩Sx倍,沿y方向放缩Sy倍。其中Sx和Sy称为缩放系数。

图1-2缩放变换(Sx=2,Sy=3)

推导:

矩阵:

缩放变换可改变物体的大小,如下图所示。当Sx=Sy >1时,图形沿两个坐标轴方向等比例放大;当Sx=Sy<1,图形沿两个坐标轴方向等比例缩小;当Sx≠Sy,图形沿两个坐标轴方向作非均匀的比例变换。

图1-3比例变换

(a)Sx与Sy相

(b)Sx与Sy不相等

1.3 旋转变换

二维旋转是指将p点绕坐标原点转动某个角度(逆时针为正,顺时针为负)得到新的点p’的重定位过程。

图1-4旋转变换

推导:利用极坐标方程

逆时针旋转θ角的矩阵如下:

1.4 对称变换

对称变换后的图形是原图形关于某一轴线或原点的镜像。

图1-5对称变换 (1)关于x轴对称

图1-6关于x轴对称(2)关于y轴对称

图1-7关于y轴对称

(3)关于原点对称

图1-8关于原点对称 (4)关于y=x轴对称

图1-9关于y=x轴对称 (5)关于y=-x轴对称

图1-10关于y=-x轴对称

1.5 错切变换

错切变换也称为剪切、错位变换,用于产生弹性物体的变形处理。

图1-11错切变换

错切变换的变换矩阵为:

(1)沿x方向错切:b=0

(2)沿y方向错切:c=0

(3)两个方向错切:b和c都不等于0。

2、复合变换

如果图形要做一次以上的几何变换,那么可以将各个变换矩阵综合起来进行一步到位的变换。复合变换有如下的性质:

1)复合平移

对同一图形做两次平移相当于将两次的平移两加起来:

2)复合缩放

两次连续的缩放相当于将缩放操作相乘:

3)复合旋转

两次连续的旋转相当于将两次的旋转角度相加:

缩放、旋转变换都与参考点有关,上面进行的各种变换都是以原点为参考点的。如果相对某个一般的参考点(x f,y f)作缩放、旋转变换,相当于将该点移到坐标原点处,然后进行缩放、旋转变换,最后将(x f,y f)点移回原来的位置。

4)关于(x f,y f)点的缩放变换

5)绕(x f,y f)点的旋转变换

3、二维图形几何变换的计算

几何变换均可表示成P’=P*T的形式

(1)点的变换:先将点表示为规范化齐次坐标形式,再乘以变换矩阵。

(2)直线的变换:将直线的两个端点表示为规范化齐次坐标形式,再乘以变换矩阵。

(3)多边形的变换:将多边形的顶点表示为规范化齐次坐标形式,再乘以变换矩阵。

(4)曲线的变换:将曲线的每个点表示为规范化齐次坐标形式,再乘以变换矩阵。

4、复合变换的矩阵点乘的先后问题

1)如果采用以下方式计算几何变换的变换矩阵:

如上范例所示,其先执行变换的矩阵放在前面,后执行变换的矩阵放在后面。

2)如果采用以下方式计算几何变换的变换矩阵:

如上范例所示,其先执行变换的矩阵放在后面,后执行变换的矩阵放在前面。这是因为矩阵的特性:

源代码:

#include

#include

#include

研究生计算机图形学课程室内场景OpenGL--实验报告Word版

《高级计算机图形学》实验报告 姓名:学号:班级: 【实验报告要求】 实验名称:高级计算机图形学室内场景 实验目的:掌握使用OpenGL生成真实感复杂对象的方法,进一步熟练掌握构造实体几何表示法、扫描表示法、八叉树法、BSP树法等建模方法。 实验要求:要求利用OpenGL生成一个真实感的复杂对象及其周围场景,并显示观测点变化时的几何变换,要具备在一个纹理复杂的场景中漫游功能。要求使用到光线跟踪算法、 纹理映射技术以及实时绘制技术。 一、实验效果图 图1:正面效果图

图2:背面效果图 图4:背面效果图

图4:室内场景细节效果图 图5:场景角度转换效果图

二、源文件数据代码: 共6个文件,其实现代码如下: 1、DlgAbout.cpp #include "StdAfx.h" #include "DlgAbout.h" CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) END_MESSAGE_MAP() 2、FormCommandView.cpp #include "stdafx.h" #include "Tool.h" #include "MainFrm.h" #include "FormCommandView.h" #include "ToolDoc.h" #include "RenderView.h" // Download by https://www.wendangku.net/doc/848933377.html, #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif // CFormCommandView IMPLEMENT_DYNCREATE(CFormCommandView, CFormView) CFormCommandView::CFormCommandView() : CFormView(CFormCommandView::IDD) { //{{AFX_DATA_INIT(CFormCommandView)

计算机图形学实验报告 (2)

中南大学信息科学与工程学院 实验报告实验名称 实验地点科技楼四楼 实验日期2014年6月 指导教师 学生班级 学生姓名 学生学号 提交日期2014年6月

实验一Window图形编程基础 一、实验类型:验证型实验 二、实验目的 1、熟练使用实验主要开发平台VC6.0; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序; 3、掌握Window图形编程的基本方法; 4、学会使用基本绘图函数和Window GDI对象; 三、实验内容 创建基于MFC的Single Document应用程序(Win32应用程序也可,同学们可根据自己的喜好决定),程序可以实现以下要求: 1、用户可以通过菜单选择绘图颜色; 2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形; 四、实验要求与指导 1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。 2、建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形 其中“曲线”项有级联菜单,包括:圆、椭圆。 3、用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。

五、实验结果: 六、实验主要代码 1、画直线:CClientDC *m_pDC;再在OnDraw函数里给变量初始化m_pDC=new CClientDC(this); 在OnDraw函数中添加: m_pDC=new CClientDC(this); m_pDC->MoveTo(10,10); m_pDC->LineTo(100,100); m_pDC->SetPixel(100,200,RGB(0,0,0)); m_pDC->TextOut(100,100); 2、画圆: void CMyCG::LineDDA2(int xa, int ya, int xb, int yb, CDC *pDC) { int dx = xb - xa; int dy = yb - ya; int Steps, k; float xIncrement,yIncrement; float x = xa,y= ya; if(abs(dx)>abs(dy))

计算机图形学试题附答案完整版

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 1.图形 2.像素图 3.参数图 4.扫描线 5.构造实体几何表示法 6.投影 7.参数向量方程 8.自由曲线 9.曲线拟合 10.曲线插值 11.区域填充 12.扫描转换 三、填空 1.图形软件的建立方法包括提供图形程序包、和采用专用高级语言。 2.直线的属性包括线型、和颜色。 3.颜色通常用红、绿和蓝三原色的含量来表示。对于不具有彩色功能的显示系统,颜色显示为。 4.平面图形在内存中有两种表示方法,即和矢量表示法。 5.字符作为图形有和矢量字符之分。 6.区域的表示有和边界表示两种形式。 7.区域的内点表示法枚举区域内的所有像素,通过来实现内点表示。 8.区域的边界表示法枚举区域边界上的所有像素,通过给赋予同一属性值来实现边界表示。 9.区域填充有和扫描转换填充。 10.区域填充属性包括填充式样、和填充图案。 11.对于图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,

连接新的顶点序列即可产生新的变换后的图形。 12.裁剪的基本目的是判断图形元素是否部分或全部落在之内。 13.字符裁剪方法包括、单个字符裁剪和字符串裁剪。 14.图形变换是指将图形的几何信息经过产生新的图形。 15.从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为。 16.实体的表面具有、有界性、非自交性和闭合性。 17.集合的内点是集合中的点,在该点的内的所有点都是集合中的元素。 18.空间一点的任意邻域内既有集合中的点,又有集合外的点,则称该点为集合的。 19.内点组成的集合称为集合的。 20.边界点组成的集合称为集合的。 21.任意一个实体可以表示为的并集。 22.集合与它的边界的并集称集合的。 23.取集合的内部,再取内部的闭包,所得的集合称为原集合的。 24.如果曲面上任意一点都存在一个充分小的邻域,该邻域与平面上的(开)圆盘同构,即邻域与圆盘之间存在连续的1-1映射,则称该曲面为。 25.对于一个占据有限空间的正则(点)集,如果其表面是,则该正则集为一个实体(有效物体)。 26.通过实体的边界来表示一个实体的方法称为。 27.表面由平面多边形构成的空间三维体称为。 28.扫描表示法的两个关键要素是和扫描轨迹。 29.标量:一个标量表示。 30.向量:一个向量是由若干个标量组成的,其中每个标量称为向量的一个分量。 四、简答题 1. 什么是图像的分辨率?

计算机图形学课程设计报告

一、设计内容与要求 1.1、设计题目 算法实现时钟运动 1.2、总体目标和要求 (1)目标:以图形学算法为目标,深入研究。继而策划、设计并实现一个能够表现计算机图形学算法原理的或完整过程的演示系统,并能从某些方面作出评价和改进意见。通过完成一个完整程序,经历策划、设计、开发、测试、总结和验收各阶段,达到巩固和实践计算机图形学课程中的理论和算法;学习表现计算机图形学算法的技巧;培养认真学习、积极探索的精神。 (2)总体要求:策划、设计并实现一个能够充分表现图形学算法的演示系统,界面要求美观大方,能清楚地演示算法执行的每一个步骤。(3)开发环境:Viusal C++ 6.0 1.3、设计要求 内容: (1)掌握动画基本原理; (2)实现平面几何变换; 功能要求: (1)显示时钟三个时针,实现三根时针间的相互关系;

(2)通过右键菜单切换时钟背景与时针颜色; 1.4设计方案 通过使用OpenGL提供的标准库函数,综合图形学Bresenham画线和画圆的算法,OpenGL颜色模型中颜色表示模式等实现指针式时钟运动,并通过点击右键菜单实习时钟背景与时针颜色的转换。根据Bresenham画线和画圆的算法,画出时钟的指针和表盘。再根据OpenGL颜色模型定义当前颜色。设置当时钟运行时交换的菜单,运行程序时可变换时钟背景与时针的颜色。最后再设置一个恢复菜单恢复开始时表盘与指针的颜色。

二、总体设计 2.1、过程流程图

2.2、椭圆的中点生成算法 1、椭圆对称性质原理: (1)圆是满足x轴对称的,这样只需要计算原来的1/2点的位置;(2)圆是满足y轴对称的,这样只需要计算原来的1/2点的位置; 通过上面分析可以得到实际上我们计算椭圆生成时候,只需要计算1/4个椭圆就可以实现对于所有点的生成了。 2、中点椭圆算法内容: (1)输入椭圆的两个半径r1和r2,并且输入椭圆的圆心。设置初始点(x0,y0)的位置为(0,r2); (2)计算区域1中央决策参数的初始值 p = ry*ry - rx*rx*ry + 1/4*(rx*rx); (3)在区域1中的每个Xn为止,从n = 0 开始,直到|K|(斜率)小于-1时后结束; <1>如果p < 0 ,绘制下一个点(x+1,y),并且计算 p = p + r2*r2*(3+2*x); <2>如果P >=0 ,绘制下一个点(x+1,y-1),并且计算 p = p + r2*r2*(3+2*point.x) - 2*r1*r1*(y-1) (4)设置新的参数初始值; p = ry*ry(X0+1/2)*(X0+1/2) + rx*rx*(Y0-1) - rx*rx*ry*ry; (5)在区域2中的每个Yn为止,从n = 0开始,直到y = 0时结束。 <1>如果P>0的情况下,下一个目标点为(x,y-1),并且计算 p = p - 2rx*rx*(Yn+1) + rx*rx;

计算机图形学实验报告,DOC

欢迎共阅

目录

实验一直线的DDA算法 一、【实验目的】 1.掌握DDA算法的基本原理。 2.掌握 3. 1.利用 2.加强对 四 { glClearColor(1.0f,1.0f,1.0f,1.0f); glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0,200.0,0.0,150.0); } voidDDALine(intx0,inty0,intx1,inty1) { glColor3f(1.0,0.0,0.0); intdx,dy,epsl,k; floatx,y,xIncre,yIncre; dx=x1-x0;dy=y1-y0;

x=x0;y=y0; if(abs(dx)>abs(dy))epsl=abs(dx); elseepsl=abs(dy); xIncre=(float)dx/(float)epsl; yIncre=(float)dy/(float)epsl; for(k=0;k<=epsl;k++) { glPointSize(3); glBegin(GL_POINTS); glEnd(); } } { } { } { glutInitWindowSize(400,300); glutInitWindowPosition(100,120); glutCreateWindow("line"); Initial(); glutDisplayFunc(Display); glutReshapeFunc(winReshapeFcn); glutMainLoop(); return0; }

计算机图形学复习重点

1:简述计算机图像学与数字图像处理和计算几何以及模式识别等学科之间的区别:计算机图形学研究计算机显示图像,即现实世界在计算机中的表示,其逆过程就是计算机视觉;图像处理:对图像进行处理包括图像变换,图像分析,边缘检测,图像分割等。模式识别:对数据的模式分析,涉及数据分析统计学,模式分类等。 2:第一台图像显示器是起源于:1950年麻省理工的旋风一号。 3:I.E萨瑟兰德被誉为计算机图像学之父,1963年他的SKETCHPAD被作为计算机图像学作为一个新学科的出现的标志。 4:列举计算机图像学的应用领域:计算机辅助绘图设计;事务管理中的交互式绘图;科学技术可视化;过程控制;计算机动画及广告;计算机艺术;地形地貌和自然资源的图形显示。5:计算机图形系统包括哪些组成:硬件设备和相应的程序系统(即软件)两部分组成。6:图像系统的基本功能:计算功能;存储功能;输入功能;输出功能;对话功能。 7:图像系统的分类:用于图形工作站的图形系统;以PC为基础的图形系统;小型智能设备上的图形系统 8:显示器的分类:阴极射线管(CRT);液晶显示器(LCD);LED(发光二极管)显示器;等离子显示器。 9:什么是CRT?其组成部分:即阴极射线管。组成有电子枪,加速结构,聚焦系统,偏转系统,荧光屏。 10:彩色阴极射线管生成彩色的方法:射线穿透法。应用:主要用于画线显示器。优点:成本低。缺点:只能产生有限几种颜色;影孔板法。 11:显示器的刷新方式经历了哪几个阶段:随机扫描显示;直视存储管式显示;光栅扫描显示。 12:什么是显示处理器,它与CPU是一回事吗?:显示处理器又称视觉处理器,是一种专门在PC,游戏机和一些移动设备上图像运算工作的微处理器,是显卡中重要组成部分。它的作用是代替CPU完成部分图形处理功能,扫描转换,几何变换,裁剪,光栅操作,纹理映射等。 13:什么是显存,它与内存的区别:显存全称显示内存,即显示卡专用内存。它负责存储显示芯片需要处理的各种数据。电脑的内存是指CPU在进行运算时的一个数据交换的中转站,数据由硬盘调出经过内存条再到CPU。区别:显存是显卡缓冲内存。内存是电脑的内部存储器。是不同的概念。 14:黑白显示器需要1个位平面;256级灰度显示器需要8个,真彩色需要24个位平面。15:OpenGL是什么?它在计算机图形学中的作用?OpenGL是一个工业标准的三维计算机图形软件接口,可以方便的用它开发出高质量的静止或动画三维彩色图形,并有多种特殊视觉效果,如光照,文理,透明度,阴影等。 16:图元:图形元素,可以编辑的最小图形单位。是图形软件用于操作和组织画面的最基本素材,是一组最简单,最通用的几何图形或字符。基本二维图元包括:点,直线,圆弧,多边形,字体符号和位图等。 17:直线的生产算法有:逐点比较法;数值微分法(DDA);中点画线法;Bresenham算法。18:采用哪种平移方法可以使任意二维直线变为第一和第二象限中的直线:逐点比较法。19:交互式图形系统的基本交换任务包括:定位,选择,文字输入,数值输出。定位任务是向应用程序指定一个点的坐标,定位中考虑的基本问题:坐标系统;分辨率;网格;反馈。选择任务是指从一个被选集中挑选出一个元素来。在作图系统中,操作命令、属性值、物种种类、物体等都可能是被选集。被选集可根据其元素的变化程度分为可变集和固定集。可变集的选择技术:指名和拾取。固定集的选择技术:指名技术、功能键、菜单技术、模式识

计算机图形学实验二

实验报告 课程名称:计算机图形学 实验项目:区域填充算法 实验仪器:计算机 系别:计算机学院 专业:计算机科学与技术 班级姓名:计科1602/ 学号:2016011 日期:2018-12-8 成绩: 指导教师:

一.实验目的(Objects) 1.实现多边形的扫描线填充算法。 二.实验内容 (Contents) 实现多边形的扫描线填充算法,通过鼠标,交互的画出一个多边形,然后利用种子填充算法,填充指定的区域。不能使用任何自带的填充区域函数,只能使用画点、画线函数或是直接对图像的某个像素进行赋值操作;

三.实验内容 (Your steps or codes, Results) //widget.cpp //2016CYY Cprogramming #include"widget.h" #include #include #include using namespace std; #define H 1080 #define W 1920 int click = 0; //端点数量 QPoint temp; QPoint first; int result = 1; //判断有没有结束 int sign = 1; //2为画线 int length = 5; struct edge { int ymax; float x; float dx; edge *next; }; edge edge_; QVector edges[H]; QVector points;//填充用 bool fin = false; QPoint *Queue = (QPoint *)malloc(length * sizeof(QPoint)); //存放端点的数组 Widget::Widget(QWidget *parent) : QWidget(parent) { } Widget::~Widget() { } void Widget::mouseMoveEvent(QMouseEvent *event) { setMouseTracking(true); if (click > 0 && result != 0) { startPt = temp; endPt =event->pos(); sign = 2; update(); } } void Widget::mouseReleaseEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { } else if (event->button() == Qt::RightButton) { sign = 2;

计算机图形学实验报告记录

计算机图形学实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

计算机图形学实验报告 姓名:___ __________ 学号:_____ ________ 班级:______ _______ 时间:_____2016年12月_________

实验一OpenGL编程与图形绘制 1.实验目的 了解OpenGL编程,并熟悉OpenGL的主要功能、绘制流程和基本语法。学会配置OpenGL环境,并在该环境中编程绘图。 2.实验内容 OpenGL的主要功能:模型绘制、模型观察、颜色模式、光照应用、图像效果增强、位图和图像处理、纹理映射、实时动画和交互技术。 OpenGL的绘制流程分为两个方面:一个完整的窗口系统的OpenGL图形处理系统的结构为:最底层为图形硬件,第二层为操作系统,第三层为窗口系统,第四层为OpenGL,最上面的层为应用软件;OpenGL命令将被放在一个命令缓冲区中,这样命令缓冲区中包含了大量的命令、顶点数据和纹理数据。当缓冲区被清空时,缓冲区中的命令和数据都将传递给流水线的下一个阶段。 OpenGL的基本语法中相关库有:OpenGL核心库:gl、OpenGL实用程序库:glu、OpenG 编程辅助库:aux、OpenGL实用程序工具包(OpenGL utility toolkit,GLUT):glut、Windows 专用库:wgl。 OpenGL的基本语法中命名规则为:OpenGL函数都遵循一个命名约定,即采用以下格式:<库前缀><根命令><可选的参数个数><可选的参数类型>。 了解了上述基础知识后,配置好OpenGL环境,然后在该环境中编程练习图形的绘制,本次实验主要是对点的绘制、直线的绘制和多边形面的绘制。 3.实验代码及结果 3.1点的绘制: #include void Initial(void) { glClearColor(1.0f,1.0f,1.0f,1.0f); //设置窗口背景颜色为白色 glMatrixMode(GL_PROJECTION); //指定设置投影参数 gluOrtho2D(0.0,200.0,0.0,150.0); //设置投影参数 } void Display(void) {

计算机图形学实验指导书1

佛山科学技术学院计算机图形学实验指导书 李晓东编 电信学院计算机系 2011年11月

实验1 直线段的扫描转换 实验类型:设计性 实验类别:专业实验 实验目的 1.通过实验,进一步理解直线段扫描转换的DDA算法、中点bresenham算法及 bresenham算法的基本原理; 2.掌握以上算法生成直线段的基本过程; 3.通过编程,会在C/C++环境下完成用DDA算法、中点bresenham算法及 bresenham算法对任意直线段的扫描转换。 实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用DDA算法中点bresenham算法及bresenham算法实现任意给定两点的直线段的绘制(直线宽度和线型可自定)。 实验步骤: 1、复习有关算法的基本原理,明确实验目的和要求; 2、依据算法思想,绘制程序流程图; 3、设计程序界面,要求操作方便; 4、用C/C++语言编写源程序并调试、执行; 5、分析实验结果 6、对程序设计过程中出现的问题进行分析与总结; 7、打印源程序或把源程序以文件的形式提交; 8、按格式要求完成实验报告。 实验报告要求: 1、各种算法的基本原理; 2、各算法的流程图 3、实验结果及分析(比较三种算法的特点,界面插图并注明实验条件) 4、实验总结(含问题分析及解决方法)

实验2 圆的扫描转换 实验类型:设计性 实验类别:专业实验 实验目的 1、通过实验,进一步理解和掌握中点bresenham画圆算法的基本原理; 2、掌握以上算法生成圆和圆弧的基本过程; 3、掌握在C/C++环境下完成用中点bresenham算法圆或圆弧的绘制方法。实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用中点(Besenham)算法实现圆或圆弧的绘制。 实验步骤 1.复习有关圆的生成算法,明确实验目的和要求; 2.依据算法思想,绘制程序流程图(注意圆弧生成时的输入条件); 3.设计程序界面,要求操作方便; 4.用C/C++语言编写源程序并调试、执行; 5.分析实验结果 6.对程序设计过程中出现的问题进行分析与总结; 7.打印源程序或把源程序以文件的形式提交; 8.按格式要求完成实验报告。 实验报告要求: 1.分析算法的工作原理; 2.画出算法的流程图 3.实验结果及分析(比较圆与圆弧生成算法的不同) 4.实验总结(含问题分析及解决方法)

计算机图形学复习题带答案

一.判断题(请在后面括号中打T或F)1.阴极射线管的技术指标主要是分辨率和显示速度 ; ( Y ) 2.光栅扫描式图形显示器可看作是点阵单元发生器,可直接从单元阵列中的一个可编地址的象素画一条直线到另一个可编地址的象素 ; ( N )3.计算机图形学标准通常是指数据文件格式标准和子程序界面标准; ( Y )4.在种子填充算法中所提到的八向连通区域算法同时可填充四向连通区 ; ( Y )5.边填充算法中是将扫描线与多边形交点左方的所有象素取补; ( N )6.插值得到的函数严格经过所给定的数据点;逼近是在某种意义上的最佳近似;( Y )7.齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;( N )8.若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或旋转变换,然后在将原点平移回去;( Y )9.显式方程和参数曲线均可以表示封闭曲线或多值曲线;( N ) 10. 凡满足G'连续的曲线同时满足C'连续条件,反之则不成立;( N ) 11.计算机图形生成的基本单位是线段。( F ) 12.一个逻辑输入设备可以对应多个物理输入设备。( T ) 13.DDA(微分方程法)是Bresenham算法的改进。( F ) 14.光的强度计算公式通常表示为: I = 0.59I + 0.30I + 0.11I ( T ) 15.Bezier曲线具有对称性质。( T ) 16.Gourand光照模型能够即使出高光部位的亮度。( F ) 17. NURBS曲线方法不能够提供标准解析曲线和自由曲线的统一数学 表达。( F ) 18.Phong算法的计算量要比Gourand算法小得多。( F ) 19.齐次坐标系不能表达图形中的无穷远点。( F ) 20.欧拉公式 v – e + f = 2 也适用于三维形体中的相关信息描述。( T ) 二.单选题 1.下面关于反走样的论述哪个是错误的?( D ) A.提高分辨率; B.把象素当作平面区域进行采样; C.采用锥形滤波器进行加权区域采样; D.增强图象的显示亮度; 2.多边形填充时,下述哪个论述是错误的?( C ) A.多边形被两条扫描线分割成许多梯形,梯形的底边在扫描线上,腰在多边形的边 上,并且相间排列;

计算机图形学课程参考文献

《计算机图形学》课程参考文献 [1 Kenneth R. Castleman, “Digital Image Processing”, Prentice-Hall International,Inc, 1996 [2] James Sharman. The Marching Cubes Algorithm[EB]. https://www.wendangku.net/doc/848933377.html,/. [3] William E. Lorensen, Harvey E. Cline. Marching Cubes: A High Resolution 3D Surface Construction Algrorithm[J].Computer Graphics, 1987, 21(4). [4] Jan Horn. Metaballs程序[CP]. http://www.sulaco.co.za. [5] 唐泽圣,等.三维数据场可视化[M].北京:清华大学出版社,1999.177-179. [6] 白燕斌,史惠康,等.OpenGL三维图形库编程指南[M].北京:机械工业出版社,1998. [7] 费广正,芦丽丹,陈立新.可视化OpenGL程序设计[M].北京:清华大学出版社,2001. [8] 田捷,包尚联,周明全.医学影像处理与分析[M].北京:电子工业出版社,2003. [9] 三维表面模型的重构、化简、压缩及其在计算机骨科手术模拟中的应用[R]. https://www.wendangku.net/doc/848933377.html,/~yike/uthesis.pdf ; [10] 首套中国数字化可视人体二维图像[DB]. http://www.chinesevisiblehuman. com/ pic/pictype.asp [11] 季雪岗,王晓辉,张宏林,等.Delphi编程疑难详解[M].北京:人民邮电出版社,2000. [12] 郑启华.PASCAL程序设计(第二版)[M].北京:清华大学出版社,1996. [13] 涂晓斌,谢平,陈海雷,蒋先刚.实用微机工程绘图实验教程[M].西南交通大学出版社,2004,4. [14] David F.Rogers.计算机图形学算法基础[M].北京:电子工业出版社,2002. [15] 李信真,车刚明,欧阳洁,封建湖.计算方法[M].西安:西北工业大学出版社,2000. [16] Paul Bourke Polygonising a scalar field [CP]. http://astronomy. https://www.wendangku.net/doc/848933377.html,.au/ ~pbourke/ modelling/polygonise/ [17] 刘骏.Delphi数字图像处理及高级应用[M].北京:科学出版社,2003. [18] 李弼程,彭天强,彭波,等.智能图像处理技术[M].北京:电子工业出版社,2004. [19] Kenneth R.Castleman著,朱志刚,石定机,等译.数字图像处理[M].北京:电子工业出版社,2002. [20] Milan Sonka, Vaclav Hlavac, Roger Boyle.Image Processing, Analysis, and Machine Vision [M].北京:人民邮电出版社,2003. [21] 阮秋奇.数字图像处理学[M]. 北京:电子工业出版社, 2001. [22] 刘宏昆,等.Delphi应用技巧与常见问题[M]. 北京:机械工业出版社, 2003. [23] 张增强,李鲲程,等.专家门诊—Delphi开发答疑300问[M].北京:人民邮电出版社,2003.6.

计算机图形学完整复习资料

计算机图形学 第一章 1.计算机图形学(Computer Graphics) 计算机图形学是研究怎样利用计算机来生成、处理和显示图形的原理、方法和技术的一门学科。 2.计算机图形学的研究对象——图形 通常意义下的图形: 能够在人的视觉系统中形成视觉印象的客观对象都称为图形。 计算机图形学中所研究的图形 从客观世界物体中抽象出来的带有颜色及形状信息的图和形。 3. 图形的表示 点阵法是用具有颜色信息的点阵来表示图形的一种方法,它强调图形由哪些点组成,并具有什么灰度或色彩。 参数法是以计算机中所记录图形的形状参数与属性参数来表示图形的一种方法。 通常把参数法描述的图形叫做图形(Graphics) 把点阵法描述的图形叫做图象(Image) 4.与计算机图形学相关的学科 计算机图形学试图从非图象形式的数据描述来生成(逼真的)图象。数字图象处理旨在对图象进行各种加工以改善图象的视觉效果。 计算机视觉是研究用计算机来模拟生物外显或宏观视觉功能的科学和技术。

图1-1 图形图象处理相关学科间的关系5. 酝酿期(50年代)阴极射线管(CRT) 萌芽期(60年代)首次使用了“Computer Graphics”发展期(70年代) 普及期(80年代)光栅图形显示器 提高增强期(90年代至今) 图形显示设备 60年代中期,随机扫描的显示器 60年代后期,存储管式显示器 70年代中期,光栅扫描的图形显示器。 图形硬拷贝设备 打印机 绘图仪 图形输入设备 二维图形输入设备 三维图形输入设备

6.图形软件标准 与设备无关、与应用无关、具有较高性能 7.计算机图形学的应用 1、计算机辅助设计与制造(CAD/CAM ) 2、计算机辅助绘图 3、计算机辅助教学(CAI ) 4、办公自动化和电子出版技术(Electronic Publication) 5、计算机艺术 6、在工业控制及交通方面的应用 7、在医疗卫生方面的应用 8、图形用户界面 8.计算机图形系统的功能 9.图1-2 图形系统基本功能框图 10.计算机图形系统的结构 图形硬件图形软件 图形应用数据结构 图形应用软件图形支撑软件图形计算机平台 图形设备 图 形 系 统图1-3 计算机图形系统的结构 11.人机交互

一种基于计算几何方法的最小包容圆求解算法.kdh

2007年 工 程 图 学 学 报2007 第3期 JOURNAL OF ENGINEERING GRAPHICS No.3一种基于计算几何方法的最小包容圆求解算法 张 勇, 陈 强 (清华大学机械工程系先进成形制造重点实验室,北京 100084) 摘要:为实现点集最小包容圆(最小外接圆)的求解,将计算几何中的α-壳的概 念应用到最小包容圆的计算过程,提出了一种精确有效的最小包容圆求解算法。根据α-壳定 义及最小包容圆性质,证明当1/α等于最小包容圆半径时点集的α-壳顶点共圆,1/α小于最小 包容圆半径时α-壳不存在,1/α大于最小包容圆半径时随着1/α减小α-壳顶点数逐渐减小的规 律。将α-壳顶点数目作为搜索最小包容圆半径的依据,实现了最小包容圆半径的搜索和最小包容圆的求解。 关键词:计算机应用;优化算法;计算几何;最小包容圆;α-壳 中图分类号:TP 391 文献标识码:A 文章编号:1003-0158(2007)03-0097-05 Algorithm for Minimum Circumscribed Circle Detection Based on Computational Geometry Technique ZHANG Yong, CHEN Qiang ( Key Laboratory for Advanced Manufacturing by Materials Processing Technology, Department of Mechanical Engineering, Tsinghua University, Beijing 100084, China ) Abstract: α-hulls are applied to calculate the minimum circumscribed circle (MCC) of point set and an accurate and effective method for MCC detection is established through finding the least squares circle of the point set and iteratively approaching the MCC with recursive subdivision. Several theorems concerning the properties of α-hulls are presented. If 1/α is equal to the radius of points’ MCC, all vertices of the α-hull will be on the same circle. When 1/α is larger than the MCC’s radius, the number of vertices of α-hulls will decrease with decreasing of 1/α, and the number of vertices’ number will reach zero when 1/α is smaller than MCC’s radius. From the above rules, an algorithm for detecting MCC is developed, and experimental results show this algorithm is reliable. Key words: computer application; optimized algorithm; computational geometry; minimum circumscribed circle; α-hull 收稿日期:2005-12-20 基金项目:国家自然科学基金资助项目(50275083);高校博士点基金资助项目(20020003053)

计算机图形学课程设计报告简单图形的绘制-

《计算机图形学》课程设计 报告 学生姓名:学号: 学院: 班级: 题目: 简单图形的绘制 职称2015年7月1日

目录 目录............................................................................................... I 一、选题背景 (1) 二、算法设计 (2) 2.1 绘制直线、圆、椭圆、抛物线 (2) 2.1.1 绘制直线 (2) 2.1.2 绘制圆 (2) 2.1.3 绘制椭圆 (2) 2.1.4 绘制抛物线 (2) 2.2 三维几何变换 (2) 三、程序及功能说明 (5) 3.1 绘制直线、圆、椭圆、抛物线...... (5) 3.1.1 绘制直线 (5) 3.1.2 绘制圆 (5) 3.1.3 绘制椭圆 (5) 3.1.4 绘制抛物线 (6) 3.2 图形的平移 (6) 3.3 图形的旋转 (6) 3.4 图形的缩放 (7) 四、结果分析 (7) 4.1 绘制直线、圆、椭圆、抛物线 (7) 4.1.1 直线 (7) 4.1.2 圆 (8)

4.1.3 椭圆 (8) 4.1.4 抛物线 (8) 4.2 图形的平移 (9) 4.3 图形的旋转 (10) 4.4 图形的缩放 (11) 五、总结 (10) 六、课程设计心得体会 (14) 参考文献 (15) 源程序 (16)

一、选题背景

二、算法设计 2.1 绘制直线、圆、椭圆、抛物线 2.1.1 绘制直线 通过两个点的坐标来绘制直线。计算机图形学中二维图形在显示输出之前需要扫描转换,生成直线的算法一般有DDA 算法和中点算法。 2.1.2 绘制圆 通过运用圆的参数方程cos ;sin x a r y b r θθ=+=+来绘制圆的图形,其中[0,2]θπ∈, (a,b )为圆心,r 为半径,运用参数方程,只需要确定半径的长度和圆心的位置,即可绘制出圆。 2.1.3 绘制椭圆 通过运用椭圆的参数方程cos ;sin x a y b θθ==来绘制椭圆的图形,其中 [0,2]θπ∈,是已知的变量,a ,b 分别为长半轴,短半轴,当确定a 和b 后,通过参数方程即可得到这个椭圆的方程。 2.1.4 绘制抛物线 根据点绘制抛物线图像是通过拟合完成,根据三个点的坐标,通过数据拟合,得到经过这三个点的函数关系式,从而再根据这个函数关系式绘制出抛物线上其他的点,形成一条连续的抛物线;或直接根据已知函数绘制图像是通过已知函数画出图像。 2.2 三维几何变换 三维几何变换是二维几何变换的推广。二维几何变换在齐次坐标空间中 可用3?3的变换矩阵表示,类似的,三维几何变换在齐次坐标空间中可用4?4的变换矩阵表示。三维空间中的点(),,x y z 的齐次坐标定义为(),,h h h x y z ,其中,h 为不等与零的任意常数,h x hx =,h y hy =,h z hz =。亦即点(),,x y z 对应4维齐次坐标空间的一条直线:

计算机图形学上机实验指导

计算机图形学上机实验指导 指导教师:张加万老师 助教:张怡 2009-10-10

目录 1.计算机图形学实验(一) – OPENGL基础 ..................................... - 1 - 1.1综述 (1) 1.2在VC中新建项目 (1) 1.3一个O PEN GL的例子及说明 (1) 2.计算机图形学实验(二) – OPENGL变换 ..................................... - 5 - 2.1变换 (5) 3.计算机图形学实验(三) - 画线、画圆算法的实现....................... - 9 - 3.1MFC简介 (9) 3.2VC6的界面 (10) 3.3示例的说明 (11) 4.计算机图形学实验(四)- 高级OPENGL实验...................... - 14 - 4.1光照效果 (14) 4.2雾化处理 (16) 5.计算机图形学实验(五)- 高级OPENGL实验........................ - 20 - 5.1纹理映射 (20) 5.2反走样 (24) 6.计算机图形学实验(六) – OPENGL IN MS-WINDOWS .......... - 27 - 6.1 实验目标: (27) 6.2分形 (28)

1.计算机图形学实验(一) – OpenGL基础 1.1综述 这次试验的目的主要是使大家初步熟悉OpenGL这一图形系统的用法,编程平台是Visual C++,它对OpenGL提供了完备的支持。 OpenGL提供了一系列的辅助函数,用于简化Windows操作系统的窗口操作,使我们能把注意力集中到图形编程上,这次试验的程序就采用这些辅助函数。 本次实验不涉及面向对象编程,不涉及MFC。 1.2在VC中新建项目 1.2.1新建一个项目 选择菜单File中的New选项,弹出一个分页的对话框,选中页Projects中的Win32 Console Application项,然后填入你自己的Project name,如Test,回车即可。VC为你创建一个工作区(WorkSpace),你的项目Test就放在这个工作区里。 1.2.2为项目添加文件 为了使用OpenGL,我们需要在项目中加入三个相关的Lib文件:glu32.lib、glaux.lib、opengl32.lib,这三个文件位于c:\program files\microsoft visual studio\vc98\lib目录中。 选中菜单Project->Add To Project->Files项(或用鼠标右键),把这三个文件加入项目,在FileView中会有显示。这三个文件请务必加入,否则编译时会出错。或者将这三个文件名添加到Project->Setting->Link->Object/library Modules 即可。 点击工具条中New Text File按钮,新建一个文本文件,存盘为Test.c作为你的源程序文件,再把它加入到项目中,然后就可以开始编程了。 1.3一个OpenGL的例子及说明 1.3.1源程序 请将下面的程序写入源文件Test.c,这个程序很简单,只是在屏幕上画两根线。 #include

计算机图形学考试整理

第一章:1.什么是计算机图形学,它主要研究内容? 答:是一门研究用计算机将数据转换成图形,并在专用设备上显示和处理的学科,它着重研究图形生成和处理的原理、方法和技术,是一门多学科综合应用的新技术。 研究内容分为九个方向:1)基于设备的基本图形生成算法,如直线、圆弧等;2)图形元素的裁剪和几何变换技术;3)曲线和曲面的处理技术:插值、拟合、拼接和分解4)三维几何造型技术;5)三维形体的实时显示和图形的并行处理技术6)真实感图形生成技术和仿真模拟系统;7)随机形体或模糊景物的模拟生成技术;8)虚拟现实环境的生成和控制技术9)三维或高维数据场的可视化技术。 2.图形的构成要素和表示方法? 答:图形的构成要素:几何要素:刻画对象的轮廓、形状等;非几何要素:刻画对象的颜色、材质等。图形的表示方法:点阵表示:是用具有颜色信息的点阵来表示图形的一种方法,它强调图形由哪些点组成,并具有什么灰度或色彩把点阵法描述的图形叫做图象;参数表示:是以计算机中所记录图形的形状参数与属性参数来表示图形的一种方法。通常把参数法描述的图形叫做图形 第二章 1.计算机图形系统由哪几部分组成,各自实现什么功能? 答:作为一个图形系统,至少应具有计算、存储、输入、输出、对话等五个方面的基本功能。计算机硬件+图形输入输出设备+计算机系统软件+图形软件。图像硬件设备通常由图形处理器、图形输入设备和输出设备构成 图形硬件包括高性能的图形计算机系统和图形设备。图形设备由图形输入设备、图形显示设备和图形硬拷贝输出设备组成。图形软件由图形应用数据结构、图形应用软件和图形支撑软件组成。图形输入设备是指可以完成定位、描画、定值、选择、拾取、字符逻辑输入功能的一类物理设备。键盘、鼠标、数字化仪、触摸屏、图像扫描仪、光笔图形显示设备:光栅扫描显示器(CRT)、液晶显示器(LCD)、等离子显示器 2.常用的图形输入、输出设备有哪些?各有何特点? 图形输入设备 1 键盘和鼠标2 跟踪球和空间球3 光笔4 数字化仪5 触摸板6 扫描仪图形输出设备显示器 1 阴极射线管显示器2 液晶显示器(LCD)3 发光二极管显示器4 等离子显示器5 等离子显示器6发光聚合物技术 3.图形软件分为几层?各个层有什么特点? 计算机图形软件的分类:通用编程软件包和专业应用图形软件包几何造型平台:ACIS和Parasolid ; 4.熟悉光栅扫描显示系统的结构。 光栅扫描的图形显示器图形显示子系统主要由三个部件组成:帧缓冲存储器(帧缓存);显示控制器; ROM BIOS。 5.了解分辨率、帧缓存、像素、像距等常用词语的含义。 像素是用来计算数码影像的一种单位,一个像素通常被视为图像的最小的完整采样。 帧缓冲存储器(Frame Buffer):简称帧缓存或显存,它是屏幕所显示画面的一个直接映象,又称为位映射图(Bit Map)或光栅。帧缓存的每一存储单元对应屏幕上的一个像素,整个帧缓存对应一帧图像。 分辨率:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目 第三章:1.直线的常用生成算法有几种? 2.写出DDA画线算法的原理。 最基本思想:从x的左端点x0开始,向x右端点步进,步长=1(个像素)。X步进后,用y=kx+b计算相应的y坐标。最后取像素点(x, 取整round(y))作为当前点的坐标。即当x每递增1,y递增k。PS:实际代码时用Y+0.5替代取整。PS2:当|k|>1时,必须把x,y

相关文档
相关文档 最新文档