计算机图形学(第三版)孙家广课后习题答案

计算机图形学(第三版)孙家广课后习题答案
计算机图形学(第三版)孙家广课后习题答案

第一章:P56

1、列出在你过去学习工作中用过与计算机图形学有关的程序c语言:

#include

main()

{

int graphdriver = VGA, graphmode=VGAHI;

initgraph(&graphdriver,&graphmode,””);

setbkcolor(BLUE);

setcolor(WHITE);

setfillstyle(1,LIGHTRED);

bar3d(100,200,400,350,100,1);

floodfill(450,300,WHITE);

floodfill(250,450,WHITE);

setcolor(LIGHTGREEN);

rectangle(450,400,500,450);

floodfill(470,420,LIGHTGREEN);

getch();

closegraph();

}

JA V A语言:

例1、画点

Import java.io.*;

Class point

{

int ax;

int ay;

int bx;

int by;

public point(int ax, int ay, int bx, int by)

{

float k ; //计算斜率

float b;

k=(by-ay)/(bx-ax);

b=ay-ax*k;

system.out.println(“直线的方程为:y=”+k+”x”+”+”+b);

}

}

例2、画矩形

class DrawPanel extends Jpanel

{ public void paint(Graphics g)

{

super.paint(g);

Graphics2D g2= (Graphics 2D);

Double leftx=200;

Double topy=200;

Double width=300;

Double height=250;

Rectangle2D rect= new Rectangle2D.double(leftx,topy,width,height);

G2.draw(rect);

}

}

2、列出你所用过的窗口系统中与观感有关的元素的功能,如图标、滚动棒、菜单等

使用滚动条

当文档、网页或图片超出窗口大小时,会出现滚动条,可用于查看当前处于视图之外的信息。下面的图片显示滚动条的组成部分。

使用菜单

大多数程序包含几十个甚至几百个使程序运行的命令(操作)。很多这些命令是组织在菜单下面。就像饭馆的菜单一样,程序菜单显示选择列表。为了使屏幕整齐,会隐藏这些菜单,只有在标题栏下的菜单栏中单击菜单标题之后才会显示菜单。例如,单击“画图”菜单栏中

的“图像”可显示“图像”菜单:

3、列出你所用过的图形输入、显示及输出设备的名称、型号、生产厂商、出厂时间及其主要优缺点。

4、比较个人计算机与工作站的图形功能

个人计算机仅限于符合二维,又是单任务操作方式

工作站可处理二、三维,多任务操作方式

区别个人计算机工作站

显示分别率640 X 480 1024 X 900 以上

具有8 个以上位面

显示器尺寸12 ~ 14 英寸16、19、27英寸

图形处理能力符号或二维具有反走样、线和面消隐、

光照模型等处理硬件;同时

还具有丰富的图形生成和

处理软件

主要处理二维或三维图形、

图象

计算机性能主要取决于微处理器的性具有更强的处理功能,在操能作系统、页面虚拟存储器和

主要用途都有所不同

操作方式单任务多任务、多进程

个人计算机的主要功能是字符处理,而工作站不仅有字符处理功能,还有较强的图

形处理功能

个人计算机的显示分辨率较小,一般在640X480 的图形处理符号或二维图形;而工

作站为了满足强大的图形处理,显示分辨率为一般为1024x1024 的二维或三维图形

个人计算机的显示器相对工作站较小

个人计算机的图形系统是由个人计算机加上图形输入输出设备和有关的图形支撑

软件集成起来的系统,其性能取决于个人计算机所采用的微处理器芯片,个人计算

机的图形功能由于受到软件和硬件的限制,只适合处理比较简单的事情;个人计算

机的显示分辨率一般在640X480 的图形处理符号或二维图形

而工作站在处理器、总线设计、存储器、操作系统等多个方面都有比个人计算机优

越的地方,它配有专业的图形输入输出设备,并配有图形处理器以处理大量的复杂

的图形运算;它可以处理多任务进程、处理显示分辨率为1024x1024 的二维或三维

图形、具有高速的科学计算能力、丰富的图形处理、灵活的窗口及网络管理功能的

交互式计算机系统,它的图形功能比个人计算机图形系统强德多,但在造价上远高

于个人计算机。

6、具有相同分辨率的彩色光栅显示器与黑白光栅在结构上有何区别?

彩色:

对于红、绿、蓝的三个原色有三个位面的帧缓存和三个电子枪,每个位面的帧缓

冲对应一个电子枪即对应一种颜色;对每个颜色的电子枪可以通过增加帧缓存位面来提

高颜色种类和灰度级,通过三种原色的组合可以产生不同种类的颜色。

彩色光栅显示器主要是有红、绿、蓝的三个原色所组成,每种原色电子枪有8 个位

面的帧缓存和8 位的数模转换器,每种原色有256种亮度,三种原色组合可为16771216 种颜色,也可以通过颜色查找表查找,故帧缓存位数至少24 位。

黑白:

黑白光栅显示器的帧缓存是一块连续的计算机存储器,每个像素需1 位存储器,每

个存储器只有0 或1两个状态。因此一个位面的帧缓存只能产生黑白图形。可以增加象素点的位面数,通过多个位面显示出多种灰度级。

7、在光栅显示器上显示斜线的45o角时常会发生锯齿状,请考虑减少锯齿状效果的各种方法并说明采用这些方法的代价。

在光栅图形显示器上显示斜线时常会发生锯齿,这是由于直线或多边形边界在光栅图形显示器的对应图形都是由一系列相同亮度的离散象素构成的。这种用离散量表示连续亮引起的失真称为走样,而用于减少或消除这种效果的技术,称为反走样。

一般而言,减少锯齿有三种方法,下面以直线扫描转换为例,分别介绍三种方法:

(1)提高分辨率

假设把显示器的分辨率提高一倍,虽然直线经过2 倍的象素,锯齿也会增加一倍。

但由于每个锯齿在X 方向和Y 方向都只有低分辨率的一半,所以效果看起来会好

一些,这种改进方法是以4 倍的存储器代价和4 倍的扫描转换时间获得的。因此增加分辨率是不经济的方法,它只能减轻,不能消除锯齿。

(2)简单的区域取样

在直线扫描算法假定象素是数学上的一个点,象素的颜色是由对应于象素中心的

图形中一点的颜色决定的。但是,实际上象素不是一个点,而是一个有限区域。

屏幕上所画的直线段不是数学意义上的无宽度的理想线段,而是一个宽度至少为

一个象素单位的线条。因此,把屏幕上的直线看成是长方条形更为合理。在绘制

直线条时,所有与该长方条相交的象素都采用适当的宽度给予显示。这要求显示

器各象素可以用多灰度显示。例,设象素中心是在网格点上的不相交的正方形,

象素的灰度与它落在直线条内的面积成正比。在多灰度黑白显示器上,若一个象

素整个落在线条上,则将它置成前景色。若一个象素与线条部分相交,根据相交

部分的大小来选择不同的灰度,相交部分大的象素前景色成分更多一些,相交部

分小的象素前景色成分更少一些。这种方法将产生模糊的边界,以此来减轻锯齿

效应。在实际应用中,常采用盒式滤波器

(3)加权区域取样

加权区域取样方法采用更为优化的圆锥形滤波器。圆锥的底圆中心在当前象素中

心,底圆半径为一个单位,锥高为1。当直线条经过该象素时,该象素的灰度值是

在二者相交区域上对滤波器进行积分的积分值。用这种圆锥形滤波器有如下特点:

一是接近理想直线的象素将被分配更多的灰度值。二是相邻两个象素的滤波器相

交,所以直线条经过该相交区域时,将对这两个象素分配给适当的灰度值,这有

利于缩小直线条上相邻象素的灰度差。

第二章:P128

1、为什么要制定和采用计算机图形标准?已经ISO批准的计算机图形标准软件有哪些?为了提高计算机图形软件、计算机图形的应用软件以及相关软件的编程人员在不同的计

算机和图形设备之间的可移植性。

已获ISO 批准的计算机图形标准软件有:

计算机图形核心系统(GKS)及其语言联编

程序员层次交互式图形系统(PHIGS)及其语言联编

三维图形核心系统(GKS-3D)及其语言联编

计算机图形元文件(CGM)

计算机图形接口(CGI)

基本图形转换规范(IGES)

产品数据转换规范(STEP)等

2、CGI 标准的主要功能是什么?试用CGI 中的图形输出功能绘制一副机械零件图。CGI 的目的是提供控制图形硬件的一种与设备无关的方法,它可以看成是图形设备驱动

程序的一种标准。CGI 在用户程序和虚拟设备之间,以一种独立于设备的方式提供图形信息

的描述和通信,使有经验的用户最大限度地、灵活地直接控制图形设备。它所提供的功能集包括:

控制功能集

独立于设备的图形对象输出功能集

图段功能集

输入和应答功能集 产生修改、检索和显示以像素数据形式存储的光栅功能集

3、CGM 对文件管理的存储结构是采用何种形式?你认为应用这种结构有什么优缺点?

采用生成多个与设备无关的图形定义,提供随机存取、传送、简洁定义图象的图形生成

元文件的存储结构,它不是应用程序员的标准,而是为系统和系统开发而设计的,与CGI

配套供用户使用。

优点是:它具有通用性,即CGM应能广泛适应各种设备、应用系统。例如同一个文件即可在低分辩率的单色图形终端上输出,也可在高分辨率的多笔绘图仪上输出,或在高性能的光栅图形显示器上输出。

这种结构的缺点是:它只是一个静态的图形生成元文件,即它不能产生和定义图形的动

态效果,例如不能实现动态的几何变换。

4、GKS、PHIGS、GI 在应用程序中起的作用?试比较它们在输入输出功能上的相同和不同之

处?

GKS 在应用程序和图形输入输出设备之间提供了功能接口,包括:控制功能、输出功能、输出属性、变换功能、图段功能、输入功能、询问功能、实用程序、元文件处理和出错处理。PHIGS 向应用程序提供控制图形设备的图形系统接口,能够在系统中高效率地描述应用

模型,迅速地修改图形模型的数据;并能够绘制显示修改后的图形模型。

GL 是工作站或UNIX上广泛应用的一个工业标准图形程序库,和PHIGS同样是提供用户与程序图形系统接口。包括基本图素、坐标变换、设置属性和显示方式、输入/输出处理、真实图形显示。

相同点:

三个都是提供用户与输入输出设备之间的图形系统接口的标准图形程序库。

不同点:

不同的数据结构

可修改性

属性的存储

输出流水线等

具体而言:

GKS 有6 种输入功能和6 种输出图素,在输入功能上可对各种设备初始化,设

定设备工作方式、确定请求采样和事件输入;在输出功能上,可确定输出图形

的类型

PHIGS 的输出流水线有5 个坐标系;具有高度的动态性、输出交互性的三维图

形,可以在系统中高效率地描述应用模型,迅速修改图形模型的数据,并能绘

制显示修改后的图形模型

GL 的输入/输出处理用于启动输入输出设备,并对相应的事件队列进行处理,

提供了更丰富的图元,如各种曲面。

6、GKS-3D与PHIGS的主要区别是什么?用GKS-3D 输出图形的过程是什么?

主要区别:

(1)数据结构

GKS-3D:提供了单层、平面的图形数据结构

其图段用来表示的是图象信息而不是图形的构造信息,其图段数据经过坐标规格化变换后,不再是定义该图段的坐标空间的数

PHIGS:

其结构始终是在造型空间中定义的数据

(2)可修改性

GKS-3D:产生的图段,其内容不能修改,但影响图段整体特征的某些属性,如可

见性、可检测性、图段的几何变换等是可以修改

PHIGS:其任何结构,结构中的任何一部分元素则可以在任何时候进行修改

(3)属性的存储

GKS-3D:把图素属性和图素一起存入图形数据结构中,为了修改某图段中某个图

素的属性,必须去除该图素的旧属性,重新生成一个新属性

PHIGS:只要当遍历一个结构并要显示该结构时,其中的图素才能变成输出图素,

此时,那些属性结构元素是灵活的,图形数据的修改也是容易的。

(4)输出流水线

GKS-3D:采用三种坐标系,用户坐标系、设备坐标系和规格化设备坐标系

PHIGS:采用五种坐标系,造型坐标系、用户坐标系、观察坐标系、规格化的投

影(空间)坐标系、设备坐标系

过程:

图素→规格化变换→图段变换→规格化裁减→视图变换→裁减操作和视图映象→工

作站裁剪和变换→显示输出

10、IGES 和STEP 有什么共同点和不同点?

共同点:

IGES 和STEP 都是与CAD/CAM 系统提供中性产品数据的公共资源和应用模型,它涉及到

土建工程、机械、结构、电气、电子工程及船舶结构等领域,为了解决数据在不同的CAD/CAM

系统之间进行数据传送的问题,定义了一套表示CAD/CAM系统中常用的几何和非几何数据格

式以及相应的文件结构。

不同点:

IGES 是1982 年ANSI 标准,而STEP 是ISO/IEC JTCL 下的SC4 开发的ISO 标准,它克

服了IGES 的一些缺点:

(1)不能精确地完整地转换数据,其原因是不同的CAD/CAM系统之间许多概念不一样,使得某些定义数据像表面定义数据会丢失

(2)不能转换属性信息

(3)层信息常丢失

(4)不能把两个零部件的信息放在一个文件中

(5)产生的数据量太大,以至许多CAD 系统难以处理(无论是时间还是存储容量上都

不适应)

(6)在转换数据的过程发生的错误很难确定,常常需要人工去处理IGES

文件,对此要花费大量的时间和精力。

而STEP 克服了IGES 中存在的问题,扩大了转换CAD/CAM 系统中几何拓扑数据的范围,STEP 即产品模型数据的公共资源和应用模型。STEP的产品模型数据是覆盖产品整个生命

周期的应用而全面定义的产品所有数据元。在STEP 中采用了形状特征信息模型进行各种

品模型定义数据的转换,强调建立能存入数据库中的一个产品模型的完整表示,而不只是它的图形或可视的表示

IGES 采用了对实体单元进行数据描述的文件结构,而STEP 采用了形状特征信息模型

进行各种产品模型定义数据的转换的概念模式;

IGES 的文件格式为目录入口、参数节、整体节、结束节和定义信息5 个节;STEP 的产品信息分为应用层、逻辑层和物理层3个层结构。

第三章:P163

1、你所用的图形软件是属于子程序库、专业语言和交互命令,还是这三种形式的混合形式,或是其他的形式。你认为你所用的图形软件的成功和不足之处是什么?有哪些改进意见?(1)使用的图形软件采用C 语言作为主语言,属于子程序库、专用语言和交互命令混合;(2)成功之处:使用方便、便于扩充、便于用户加入用户自己编写的源程序或目标代码;不足之处是格式随所用主语言格式而定,修改源程序比较麻烦;

(3)实现与其他语言(非主语言)的兼容运行,交互式修改运行结果,而不需要人为地查看、修改源程序。

2、面向应用程序的接口通常有哪几种形式?你认为哪一种形式更方便应用和扩充应用功能?

面向应用程序的接口有子程序库、专用语言和交互命令三种形式;

交互任务是用户最关注的事,交互技术是完成交互任务的手段,故交互命令是用户接口中应用最普遍、效率最高的一种形式,对交互设备、交互任务、交互技术以及控制方式等的综合处理是完成交互命令和实现交互命令的依据。总的来说,交互命令更方便应用和扩充应用功能。

3、请列出你所用的交互系统中所涉及到的交互任务和交互技术,是否有本章书中没有提及的交互任务和交互技术?若有,能否对其进行分解,使之和本章书中介绍的交互任务和交互技术相匹配。

就目前有用过的交互任务和交互技术而言,均在本章范围内;

(1)交互任务:区域选择、文本输入、定路径和控制

(2)交互技术:选择技术、定位技术、定路径技术、文本技术、徒手画技术和拖动技术。

6、常见的交互任务有哪几种?你认为哪一种交互任务最难完成?

常见的交互任务有8种

定位、选择、文本、定向、定路径、定量、三维交互任务、组合交互任务

其中三维交互任务和组合交互任务最难完成,因为三维交互任务涉及定位、选择和旋转,用户难以区分屏幕上游标选择到对象的深度值和其他显示对象的深度值。

组合交互任务主要包含对话框、构造和动态控制三种,其实现前面几种的结合,是动态的,故其完成难度最大。

7、常见的交互技术有哪几种?你认为哪一种交互技术最容易使用?

交互技术指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。它

包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题等。人机交互

技术是计算机用户界面设计中的重要内容之一。它与认知学、人机工程学、心理学等学科领域有密切的联系。

常见的交互技术有:选择技术、定位技术、定向技术、定路径技术、定量技术、文本技术、橡皮筋技术、徒手画技术、拖动技术;其中定量技术最容易使用。

11、交互式用户接口常见的工作方式有几种?你认为哪一种较实用?用户接口工具箱使你能够为你的应用程序建立复杂的用户接口。用户接口可以包括窗口、对

话、菜单条、附件(域、列表框,等等)、标记和公用对话(文件选择对话、信息对话,等等)。用户接口工具箱包括各种公用对话,例如选择一个文件或显示错误信息的对话。为了使用一个公用的对话,只需简单地实例化它,设置合适的参数,以及把它连接到你的应用程序中。

固定域输入输出方式

问答方式

表处理方式

命令语言

菜单方式

图形符号方式

12、请用菜单驱动方式、数据表格驱动方式和事件驱动方式完成同一个实际的交互任务。并比较它们之间的难易程度和工作量。

事件驱动的真实工作过程

数据表格驱动方式:

程序和表格关联,用表格(如EXCEL)的形式将变量传递到程序中进行一系列操作,

或再用表格输出,不同于消息驱动的WINDOWS程序机制。使用表格驱动建立菜单,可以很方便很简单地管理自定义菜单,节约开发与维护成本。

《太平洋保险终端系统》交易界面实现了参数化的配置方式,系统使用屏幕定义文件

和表格定义文件来定义交易屏幕,表格定义文件定义了表格的基本属性和表格的列,屏幕定义文件定义了屏幕的基本属性和屏幕上的栏位和表格的位置。屏幕和表格定义文件都需要引用数据字典里面的栏位定义。

界面驱动包括屏幕驱动和表格驱动,其功能包括设置栏位缺省值和缺省属性(是否可

输入、是否必输入、是否绑定下拉菜单pklist),响应各种系统事件(屏幕前后事件、栏位前后事件、最后栏位后事件等),响应热键(ESC、DEL、PAGEUP、PAGEDOWN、CTRL_XX 等),动态改变屏幕属性(多页显示的翻页、拆分屏幕等),发起二段式交易等等。屏幕驱动和表格驱动是提供给开发人员的统一接口,开发人员通过实现该接口的方式开发功能模块。

事件驱动方式:

1、启动应用程序,装载和显示窗体,产生Form_Load和Form_Show事件

2、窗体或窗体上的控件接收事件,事件可由用户引发(例如键盘或鼠标操作),可由系统引发(例如定时器事件),也可由代码间接引发(例如当代码装载其他窗体时产生的Load 事件)

3、如果在相应的事件过程中存在代码,就执行代码

4、应用程序等待下一次事件

例:.获取和修改计算机名字的方法 1.)插入一个新模块,在其中添加如下代码:

′声明GetComputerName

Declare Function GetComputerName Lib〃kernel 32〃Alias〃GetComputerNameA〃(Byval lpBuffer As

String,nSize As Long)As Long

′声明SetComputerName

Declare Function SetComputerName Lib〃kernel 32〃Alias 〃SetComputerNameA〃(Byval lp ComputerName As String)As Long

′定义一个获取计算机名字的函数

Public Function GetCName (CName) As Boolean

Dim sComputerName As String ?计算机的名字

Dim lComputerName As Long

?计算机名字的长度

Dim lResult As Long

?GetComputerName的返回值

Dim RV As Boolean

′GetCName返回值,若为TRUE 则表示操作成功

lComputerNameLen=256

sComputerName=Space (lComputerNameLen)

lResult=GetComputerName (sComputerName,lCompputerNameLen)

If lResult 〈〉0 Then Cname=Left$(sComputerName,lComputerNameLen)

RV=True

Else RV=False

End If

GetCName=RV

End Function

′定义一个修改计算机名字的函数

Public Function SetCName (CName ) As Boolean

Dim lResult As Long

Dim RV As Boolean

lResult=SetComputerName (CName)

If lResult 〈〉0 Then

RV=True′修改成功

Else RV=False

End If

SetCName=RV

End Function

2).在窗体中添加一命令按钮Command1,双击该按钮并在其中添加如下代码:Sub Command1-Click ()

DIM CN AS String

x=GetCName (CN)

Print 〃This Computer Name is :〃,CN CN=〃MYCOMPUTER〃

x=SetCName (CN )

Print 〃Now the Computer name is :〃,CN

End Sub

1)对于完成同一个实际的任务来说,一般而言菜单驱动方式较数据表格驱动方式和事件驱动方式容易

2)相对于用户的工作量来说,菜单驱动方式较数据表格驱动方式和事件驱动方式的工作量大。

第四章:P215

1、将中点画线算法推广以便能画出任意斜率的直线

算法设计:

(1)输入直线的起点坐标P0(x0,y0)和终点坐标P1(x1,y1).

(2)定义直线当前点坐标x和y,定义中点偏差判别式d、直线斜率k、

像素点颜色rgb

(3)x= x0,y= y0计算d=0.5-k,k=( y1-y0)/(x1-x0), rgb=RGB=(0,0,255).

(4)绘制点(x,y),判断d的符号,若d<0,则(x, y)更新为(x+1,y+1),

d更新为d+1-k,否则(x, y)更新为(x+1,y),d 更新为d-k.

(5)如果当前点x小于(x1,重复步骤(4),否则结束。

程序主要代码:

MidPointLine(x0,y0,x1,y1,color)

{

int a,b,delta1,delta2,d,x,y;

a = y0 – y1;

b = x1 – x0;

d = 2*a – b;

delta1 = 2 * a;

delta2 = 2 * (a+b);

x = x0;

y = y0;

if (a

drawpixel(x, y, color);

else

drawpixel(y,x,color);

while (x > x1) {

If (d<0)

{

x++;

y++;

d+ = delta2;

}

Else

{

X++;

D+=delta1;

}

Putpixel(x,y,color);

}

Else

While (x

{

If (d<0)

{

x--;

y++;

d-=delta3;

}

Else

{

x--;

d-=delta1;

}

Putpixel(x,y,color);

}

}

2、采用整数Bresenham 算法,为一台计算机编制直线扫描转换程序。从键盘敲入两端点坐标,就能在显示器屏幕上画出对应的直线。

V oid DrawLine(int color)

{

int x0,y0,x1,y1,color, I;

scanf( “%d, %d, %d, %d”, &x0, &y0, &x1, &y1);

dx=x1 – x0;

dy=y1 – y0;

e = -dx;

x = x0;

y = y0;

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

putpixel(x, y, color);

x=x+1;

e=e+2*dy;

if (e>=0)

{

y = y + 1;

e = e – 2 * dy;

}

}

}

4、试编写按逆时针方向生成第二个8 分圆的中点算法

算法设计:

(1)输入圆的半径

(2)定义圆当前点坐标x和y、中点偏差判别式d、像素点颜色rgb

(3)计算d=1.25-R,x=0,y=R, rgb=RGB=(0,0,255).

(4)绘制点(x, y),及其在八分圆中的另外7个对称点…

(5)判断d的符号,若d<0,则(x, y)更新为(x+1,y),d更新为d+2x+3,否则(x, y) 更新为(x+1,y-1),d更新为d+2(x-y)+5.

(6)当x 小于等于y,重复步骤(4)和(5),否则结束。

MidpointCircle(r,color) int r, color;

{

float x,y;

float d;

x=0;

y=r;

d=1.25 –r/1.414;

drawpixel(x, y, color);

while (x

{

if (d<0)

{

d+=2*x+3;

x++;

}

else

{

d+=5+2*(x-y);

x++;

y--;

}

drawpixel(x,y,color);

}

}

5、假设圆的圆心不在原点,试编写算法对整个圆进行扫描转换

算法设计:

(1)输入圆的半径r, 圆心坐标为(xc,yc)

(2)定义圆当前点坐标x和y、中点偏差判别式d、像素点颜色rgb

(3)计算d=1.25-R,x=0,y=R, rgb=RGB=(0,0,255).

(4)绘制点(x+xc, y+yc),及其在八分圆中的另外7个对称点…

(5)判断d的符号,若d<0,则(x, y)更新为(x+1,y),d更新为d+2x+3,否则(x, y) 更新为(x+1,y-1),d更新为d+2(x-y)+5.

(6)当x 小于等于y,重复步骤(4)和(5),否则结束。

(1)用bresenham画圆法,设圆心坐标为(xc,yc)

bresenham_circle(r,color)

int r,color;

{

int x,y,delta,delta1,delta2,direction;

x=xc;

y=yc+r; delta=2*(1-r);

while (y>=0)

{

drawpixel(x,y,color);

if (delta<0)

{

delta1=2*(delta+y-b)-1;

if (delta1<=0)

direction=1;

else

direction=2;

}

else if (delta>0)

{

delta2=2*(delta-x+xc)-1;

if (delta2<=0)

direction=2;

else

direction=3;

}

else

direction=2;

switch (direction)

{

case 1:x++;

delta+=2*(x-xc)+1;

break;

case 2:x++;

y++;

delta+=2*(x-a-y+yc+1);

break;

case 3:y--;

delta+=-2*(y-yc)+1;

break;

}

}

}

(2) 采用中点画圆算法

#include

#include

#include MidpointCircle(r,color)

int r, color;

{ float x,y;

float d;

x=0;

y=r;

d=1.25 –r/1.414;

putpixel(xc+x, yc+y, color);

while (x

{

if (d<0)

{

d+=2*x+3;

x++;

}

else

{

d+=5+2*(x-y);

x++;

y--;

}

putpixel(xc+x,yc+y,color);

}

putpixel(x,y,color);

putpixel(xc+yc-y,yc+xc-x,color);

putpixel(xc+yc-y,yc+xc-x,color);

putpixel(x, yc+yc-y,color);

putpixel(xc+xc-x,yc+yc-y,color);

putpixel(xc-yc+y,yc-xc+x,color);

putpixel(xc-yc+y,yc+xc-x,color);

putpixel(xc+xc-x,y,color);

}

void main()

{

int gdriver=DETECT, gmode,xc,yc,r;

initgraph(&gdri ver, &gmode, “”);

printf(“Please enter the xc:”);

scanf(“%d”, &xc);

printf(“Please enter the yc:”);

scanf(“%d”, &yc);

printf(“Please enter the R:”);

scanf(“%d”, &r);

cleardevice(); MidpointCircle(xc,yc, r,RED);

getch();

closegraph();

}

6、试编写可以对一段任意圆弧进行扫描转换的算法

将360度的区域分成8个部分

3 2

4 1

5 8

6 7

编写可以对一段任意圆弧进行扫描转换的算法的关键在于,对这段圆弧的起

点和终点分别判定是否在同一区域

如果起点和终点在同一区域,调用中点画圆算法,但要根据实际情况对参数

进行修正;

如果起点和终点不在同一区域,则要根据实际情况对圆弧段进行分割,分割

的原则是将每一段的起点和终点放在同一区域,然后分别调用中点画圆算法画圆弧,同样在画的过程中,要根据实际情况对参数进行修正及算法进行修正;

设圆弧的起点为(x1,y1),终点为(x2,y2),半径为r

如图

A(x1,y1)

D(x0-r,y0) C (x0,y0)

B(x2,y2)

将整个圆弧分为两段,弧AC和弧CB,分别进行扫描转换,转换过程中利用中点画圆方法进行,代码如下:

midpoint(x1,y1,x2,y2,r,color,k)

{

int x,y;

float d;

x=x1;

y=y1;

d=(x1+1)^2+(y1-0.5)^2-r^2;

putpixel(x,y,color);

while (x<=x2)

{

if (d<0)

{

d+=2*x+3;

x++; }

else

{

d+=2*(x-y)+5;

x++;

y=y+k;

}

}

putpixel(x,y,color);

main()

{

scanf(“%d”,&n);//分割的圆弧数

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

{

scanf(“%d,%d,%d,%d,%d”,&x1,&y1,&x2,&y2,,&k); //要求x1

midpoint(x1,y1,x2,y2,r,color,k);

7、设计一个多边形区域填充算法,使其边界像素具有一个值,而内部的像素具有另一个值。

算法设计:

(1)使用画线语句绘制多边形

(2)计算窗口客户区的水平边界最大值MaxX和垂直边界最大值MaxY

(3)调用系统调色板,设置颜色值FillColor 为调色板上取得的颜色,CBackColor为白色。

(4)对于每一条边,y从ymin开始,执行下面的循环。

(5)x从扫描线和边的交点处开始到窗口客户区右边界,先获得(x, y)位

置的像素颜色,如果是填充色,则置成背景色,否则所有填充色填充。

执行x=x+1/k,计算下一个x起点值。

(6)如果y=ymin,则扫描结束,否则y++,转(5)。

主要代码:

int MaxX,MaxY;

V oid GetMaxX() //求屏幕最大x值

{

CRect rect;

GetClientRect(rect);

MaxX=rect.riht;

}

V oid GetMaxY() //求屏幕最大y值

{

CRect rect; GetClientRect(rect);

MaxX=rect.bottom;

}

V oid Draw() //填充多边形函数

{

COLORREF CBackColor=RGB(255,255,255);//白色

CClientDC dc(this);

int m,n,ymin,ymax;

double x,y,k;

for (int i=0; i<=6; i++)

{

m=i,n=i+1;

if (7==n) n=0;

k=(double (Point [m].x- Point [n].x)/ (Point [m].y- Point [n].y);//计算1/k;

if ((Point [m].y< Point [n].y) //得到每条边y的最大和y最小值

{

ymin= Point [m].y;

ymax= Point [n].y;

x=Point [m].x; //得到x|ymin

}

else

{

ymin= Point [n].y;

ymax= Point [m].y;

x=Point [n].x;

}

For (y=ymin;y

{

For(int j=ROUND(x);j

{

If(dc.GetPixel(j, ROUND(y)==FillColor)//如果像素的颜色是填充色

{

dc.SetPixel(j, ROUND(y),CBackColor);//改为背景色

}

else

{

dc.SetPixel(j, ROUND(y),FillColor);//改为填充色

}

}

x+=k; //计算下一个x起点值

}

} }

DrawPolygon() //绘制多边形函数

{

CClientDC dc(this);

int m,n;

for (int j=0;j<=6;j++)

{

M=j;n=j+1;

If (7==n) n=0;

dc.MoveTo(Point[m]);

dc.LineTo(Point[n]);

}

}

10、试设计一个生成具有宽度的直线条的算法,使得在直线条连接处不出现图示的缺口

对于第一种方案:

c

d

e

a b f

可以把整个线条分成两个部分,

对于左半部分:

先计算出线条的四个顶点,a,b,c,d

再用直线段把相邻角点连接起来,

最后调用多边形填充算法把所得的四边形进行填色

同样,对于右半部分,依法处理

对于第二种方案:

c

e

d f

g

a b h

可以把整个线条分成三个部分,对于左半部分:

先计算出线条的四个顶点,a, b, c, d

再用直线段把相邻角点连接起来,

最后调用多边形填充算法把所得的四边形进行填色

对于中间部分:

先计算出线条的四个顶点,c, d,e,f

再用半径为某个值如R圆弧分别把c, e和d, f连接起来,

最后调用区域填充算法把所得的圆环段c, e, d, f进行填色

同样,对于右半部分,依法处理

先计算出线条的四个顶点,e, f, g, h

再用直线段把相邻角点连接起来,

最后调用多边形填充算法把所得的四边形进行填色

12、为26个英文大写字母设计5X7的字符掩膜矩阵。

13、编写一程序实现线段裁剪的中点分割算法

算法设计:

(1)输入直线段的两端点坐标:P0(x0,y0),P1(x1,y1)绘制坐标为(wxl,

wyt),(wxr,wyb)的窗口

(2)P0点的编码为RC0, P1点的编码为RC1。

(3)若RC0|RC1=0,对直线段应“取”,转步骤(6);否则若RC0|RC1≠0,对直线段应“弃”,转步骤(6)。

(4)如果直线段有一个端点在窗口内,则计算该直线的中点坐标

P[x=(x0+x1)/2,y=(y0+y1)/2],并计算其编码RC。如果中点P 和P0在规定的误差范围内(例如10-6

)不重合,则判断中点是否也在窗口内,如果在,PP0 “取”

之,否则,PP0 “弃”之。将中点P赋给点P1,转步骤(6)。

(5)如果直线段的两个端点都不在窗口内,则必定与窗口相交,求该直线中点坐标P[x=(x0+x1)/2,y=(y0+y1)/2]和其编码RC。当中点P 在窗口外时,如果RC0&RC1=0,则PP1在窗口外,“弃”之;否则PP0在窗口外,“弃”之,直到中点P在窗口内。对于中点在窗口内的直线段PP1和PP0,重复步骤(4)。

(6)输出裁减后的线段。

主要代码:

V oid MidClip(double P0x, double P0y, double P1x, double P1y,BOOL flag) {

Double x,y;

Unsigned int RCT0,RCT1; RCT0=EnCode(P0x,P0y);

RCT1=EnCode(P1x,P1y);

x=( P0x+ P1x)/2;

y=( P0y+ P1y)/2; RCT=EnCode(x,y);

while(abs(x-P0x)>1e-6|| abs(y-P0y)>1e-6)

{

if(RCT==0)//中点也在窗口内,则P=P0

{

P0x=x;

P0y=y;

RCT0= RCT;

}

else //否则舍弃P1点

{

P1x=x;

P1y=y;

RCT1= RCT;

}

x=( P0x+ P1x)/2;

y=( P0y+ P1y)/2; RCT=EnCode(x,y);

}

if(flag==true)

{

Pointx[1]=x;

Pointy[1]=y;

}

else

{

Pointx[0]=x;

Pointy[0]=y;

}

}

14 编写一程序实现逐次多边形裁剪算法

算法设计:

(1)输入第一个顶点坐标:F(x0,y0)

第二个顶点坐标:S(x1,y1)

(2) 当顶点输入完毕,转(7)

计算机图形学习题分析

第一章绪论 1、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。 解:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。计算机图形学研究的是从数据描述到图形生成的过程。例如计算机动画。 图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。例如工业中射线探伤。 模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。 2、举3个例子说明计算机图形学的应用。 解:①事务管理中的交互绘图 应用图形学最多的领域之一是绘制事务管理中的各种图形。通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。 ②地理信息系统 地理信息系统是建立在地理图形基础上的信息管理系统。利用计算机图形生成技术可以绘制地理的、地质的以及其他自然现象的高精度勘探、测量图形。 ③计算机动画 用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。 3、计算机生成图形的方法有哪些? 解:计算机生成图形的方法有两种:矢量法和描点法。 ①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短失线,从而得到一条近似的曲线。尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。 (2)描点法 4.什么叫虚拟现实技术和可视化? 解:虚拟现实技术: 利用计算机生成一种模拟环境,通过多种传感器和设备使用户“投入”到该环境中 ,实现用户和该环境直接进行交互的技术。例如模拟飞机驾驶舱。 可视化技术: 通过对空间数据场构造中间几何因素,或用图形绘制技术在屏幕上产生二维图象。例如分子模型构造。 5.对于分辨绿为1024*1024的光栅系统,若每一像素咏8位和12位二进制来表示存储信息,各需多大光栅存储容量?每一屏幕最多能显示多少颜色?若R,G,B灰度都占8位,其显示颜色的总数是多少? 解: 1) 每一像素用8位二进制来表示存储信息,所需容量为1024*1024*1=220(byte)=1MB

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

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 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答案

一、选择题(20分) 1、计算机绘图设备一般使用什么颜色模型?( B ) 色的简写) C. HSV D. HLS (计算机图形显示器用RGB) 2、在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点.请问哪种情况下输出的顶点是错误的? ( A ) A. S和P均在可见的一侧,则输出S和P. B. S和P均在不可见的一侧,则输出0个顶点. C. S在可见一侧,P在不可见一侧,则输出线段SP与裁剪线的交点. D. S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P. 3、在物体的定义中对边的哪条限制不存在?( C ) A. 边的长度可度量且是有限的 B. 一条边有且只有两个相邻的面 C. 一条边有且只有两个端点 D. 如果一条边是曲线,那么在两个端点之间不允许曲线自相交 4、在三维齐次变换矩阵(右图)中,平移线性变换对应的矩阵元素的最大非零个数是( C ) A. 3 B. 6 C. 7 D. 8 5、下列有关平面几何投影的叙述,错误的是( C ) A. 透视投影又可分为一点透视、二点透视、三点透视; B. 斜

投影又可分为斜等测、斜二测; C. 正轴测又可分为正一测(正等测)、正二测、正三测; D. 正视图又可分为主视图、侧视图、俯视图。 6、在用射线法进行点与多边形之间的包含性检测时,下述哪一个操作不正确? ( D ) A. 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数0次 B. 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数2 次 C. 当射线与多边形交于某顶点时且该点的两个邻边在射线的两侧时,计数1次 D. 当射线与多边形的某边重合时,计数1次 7、在下列叙述语句中,不正确的论述为( C ) A. 在图形文件系统中,点、线、圆等图形元素通常都用其几何特征参数来描述; B. 在图形系统中,图形处理运算的精度不取决于显示器的分辨率; C. 在光栅扫描图形显示器中,所有图形都按矢量直接描绘显示,不存在任何处理; D. 在彩色图形显示器中,使用RGB颜色模型。 8、下列不属于组成平面多面体的基本元素的是( B )。 A. 顶点 B. 环 C. 棱边 D. 面。

计算机图形学教程课后习题参考答案.

第一章 1、试述计算机图形学研究的基本内容? 答:见课本P5-6页的1.1.4节。 2、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。 答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。计算机图形学研究的是从数据描述到图形生成的过程。例如计算机动画制作。 图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。例如工业中的射线探伤。 模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。 3、计算机图形学与CAD、CAM技术关系如何? 答:见课本P4-5页的1.1.3节。 4、举3个例子说明计算机图形学的应用。 答:①事务管理中的交互绘图 应用图形学最多的领域之一是绘制事务管理中的各种图形。通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。 ②地理信息系统 地理信息系统是建立在地理图形基础上的信息管理系统。利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。 ③计算机动画 用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。 5、计算机绘图有哪些特点? 答:见课本P8页的1.3.1节。 6、计算机生成图形的方法有哪些? 答:计算机生成图形的方法有两种:矢量法和描点法。 ①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。 ②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。当像素点具有多种颜色或多种灰度等级时,就可以显示彩色图形或具有不同灰度的图形。 7、当前计算机图形学研究的课题有哪些? 答:见课本P10-11页的1.4节。

秋双学位计算机图形学

2006年秋双学位计算机图形学作业题目 教材计算机图形学(第二版) 第一次P105 3.17 利用中点算法并考虑对称性,推导在区间-10<=x<=10上,对下列曲线进行扫描转换的有效算法:y=(1/12)*x3 3.20 考虑对称性,建立中点算法对形式为y=ax2-b的任意抛物线进行扫描转换,参数a,b及x的范围从输入值获得。 第二次P106 3.34 利用circle函数,编写一个程序,显示具有合适标记的饼图。程序的输入包括:在某些区间上给定数据分布的数据组,饼图的名称和区间的名称。每部分的标记将是显示在饼图边界外靠近对应饼图部分的地方。 第三次10.7 P139 4.20 编写一个程序,使用指定的图案对给定的椭圆内部进行填充。 第四次10.14 P168 5.12 确定对于任何直线y=mx+b的反射变换矩阵的形式。 第四次10.22 比较若干条相对于裁剪窗口的不同方向的线段的Cohen-Sutherland和梁友栋-Barsky裁剪算法的算术运算次数。 第五次10.29 6.18 将梁友栋-Barsky算法改称多边形裁剪算法。 第六次11.4 8.13 设计一个程序,该程序允许用户使用一个笔画设备交互式地画图。 第七次11.11 10.9 建立一个将给定的球、椭球或圆柱体变成多边形网格的一个算法。 第八次11.18 10.20 给出d=5的均匀周期性B-样条曲线的混合函数。 第九次11.25 11.13 设计关于任选平面反射的例程。 第十次 12.8 编写一个将透视投影棱台变换到规则平行六面体的程序。 上机 1.实现Cohen-Sutherland多边形裁剪算法,要求显示多边形被每一条窗口边裁剪后的结果。 2.编写一个程序,允许用户通过一个基本形状菜单并使用一个拾取设备,将每一个选取的 形状拖曳到指定位置,并提供保存和载入的功能。 3.. 写一篇综述性的调研报告,要求不少于3000字,独立完成。内容可以是计算机图形学理论或算法的研究。如:曲线、曲面拟合算法;几何造型方法的研究。如:分形树、分形山、树木、花草、云、瀑布、粒子系统等等。或任何你感兴趣的领域。 4.2006年秋双学位计算机图形学作业参考答案 P105 3.17 利用中点算法并考虑对称性,推导在区间-10<=x<=10上,对下列曲线进行扫描转换的有效算法:y=(1/12)*x3 解答:第一象限和第三象限中心对称

计算机图形学试题1

计算机图形学测试题 (一) 1.能在人的视觉系统中产生视觉印象的客观对象,包括自然景物、拍摄到的图片、用数学方法描述的图形等等,都是计算机(A)学的研究对象。 A.图形B.语言C.技术D.地理 2.刻画对象的轮廓、形状等,构成了图形的(B)要素。 A.化学B.几何C.技术D.语言 3.刻画对象的颜色、材质等,构成了图形的非(C)要素。 A.化学B.技术C.几何D.语言 4.点阵表示法枚举出图形中所有的点,简称为数字(D)。 A.图形B.图元C.像素D.图像 5.参数表示法包括了形状参数和属性参数等,简称为(A)。 A.图形B.图元C.像素D.图像 6.计算机辅助设计、科学计算可视化、计算机艺术、地理信息系统、计算机动画及广告影视创作、电脑游戏、多媒体系统、虚拟现实系统等,都是计算机(B)学的实际应用。 A.图像B.图形C.地理D.技术 7.科学计算可视化(Scientific Visualization)在直接分析大量的测量数据或统计数据有困难时可以实现用(C)表现抽象的数据。 A.技术B.几何C.图形D.像素 8.计算机艺术软件工具PhotoShop、CorelDraw、PaintBrush等具有创作轻松、调色方便等(D),但也有难以容入人的灵感等缺点。 A.历史B.现实C.缺点D.优点 9.3D MAX, MAYA等等都是很好的计算机(A)创作工具。 A.动画B.图形C.图像D.像素 10.电子游戏的实时性、逼真性,蕴含了大量先进的计算机(B)处理技术。 A.金融B.图形C.商业D.交易 11.在计算机控制下,对多种媒体信息进行生成、操作、表现、存储、通信、或集成的处理,总要包括文本、(C)、图像、语音、音频、视频、动画等。 A.文本B.语音C.图形D.动画 12.虚拟现实(Virtual Reality)或称虚拟环境(Virtual Environment)是用(D)技术来生成一个逼真的三维视觉、听觉、触觉或嗅觉等感觉世界。 A.控制B.机械C.物理D.计算机 13.媒体包括“连续媒体”和“离散媒体”,计算机总是要把连续的媒体(A)为离散的信息。 A.转换B.计算C.控制D.组合 14.虚拟现实可以让用户从自己的视点出发,利用自然的技能和某些设备对这一生成的(B)世界客体进行浏览和交互考察。 A.现实B.虚拟C.物理D.历史 (二) 15.电子束轰击荧光屏产生的亮点只能持续极短的时间,为了产生静态的不闪烁的图像,电子束必须周期性地反复扫描所要绘制的图形,这个过程称为(C)。 A.启动B.驱动C.刷新D.更新 16.阴极射线管(CRT)的电子枪发射电子束,经过聚焦系统、加速电极、偏转系统,轰击到荧光屏的不同部位,被其内表面的荧光物质吸收,发光产生可见的(D)。 A.电子B.物质C.光线D.图形 17.像素(Pixel:Picture Cell)是构成屏幕(A)的最小元素。 A.图像B.图框C.线D.点 18.分辨率(Resolution)是指在水平或竖直方向单位长度上能识别的最大(B)个数,单位通常为dpi(dots per inch)。 A.图像B.像素C.线D.圆 19.假定屏幕尺寸一定,常用整个屏幕所能容纳的像素个数描述屏幕的(C),如640*480,800*600,1024*768,1280*1024等等。 A.大小B.容量C.分辨率D.亮度 (三) 20.容器坐标系包括坐标原点、坐标度量单位和坐标轴的长度与(D)。

计算机图形学第三章答案

1. voidLine_Midpoint(int x1, int y1, int x2, int y2, int color) { int x = x1, y = y1; int a = y1 - y2, b = x2 - x1; int cx = (b >= 0 ? 1 : (b = -b, -1)); int cy = (a <= 0 ? 1 : (a = -a, -1)); putpixel(x, y, color); int d, d1, d2; if (-a <= b) // 斜率绝对值 <= 1 { d = 2 * a + b; d1 = 2 * a; d2 = 2 * (a + b); while(x != x2) { if (d < 0) y += cy, d += d2; else d += d1; x += cx; putpixel(x, y, color); } } else // 斜率绝对值 > 1 { d = 2 * b + a; d1 = 2 * b; d2 = 2 * (a + b); while(y != y2) { if(d < 0) d += d1; else x += cx, d += d2; y += cy; putpixel(x, y, color); } } } 7 void Line_Midpoint(int x1, int y1, int x2, int y2, int color, int flag) { intx,y; if(flag==0) { x0=point.x; y0=point.y; flag=1; } else { flag=0; x1=point.x; y1=point.y; a=y0-y1;

计算机图形学第二版课后习题答案

第一章绪论 概念:计算机图形学、图形、图像、点阵法、参数法、 图形的几何要素、非几何要素、数字图像处理; 计算机图形学和计算机视觉的概念及三者之间的关系; 计算机图形系统的功能、计算机图形系统的总体结构。 第二章图形设备 图形输入设备:有哪些。 图形显示设备:CRT的结构、原理和工作方式。 彩色CRT:结构、原理。 随机扫描和光栅扫描的图形显示器的结构和工作原理。 图形显示子系统:分辨率、像素与帧缓存、颜色查找表等基本概念,分辨率的计算 第三章交互式技术 什么是输入模式的问题,有哪几种输入模式。 第四章图形的表示与数据结构 自学,建议至少阅读一遍 第五章基本图形生成算法 概念:点阵字符和矢量字符; 直线和圆的扫描转换算法; 多边形的扫描转换:有效边表算法; 区域填充:4/8连通的边界/泛填充算法;

内外测试:奇偶规则,非零环绕数规则; 反走样:反走样和走样的概念,过取样和区域取样。 5.1.2 中点 Bresenham 算法(P109) 5.1.2 改进 Bresenham 算法(P112) 习题答案

习题5(P144) 5.3 试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。(P111) 解: k<=-1 |△y|/|△x|>=1 y为最大位移方向 故有 构造判别式: 推导d各种情况的方法(设理想直线与y=yi+1的交点为Q): 所以有: y Q-kx Q-b=0 且y M=y Q d=f(x M-kx M-b-(y Q-kx Q-b)=k(x Q-x M) 所以,当k<0, d>0时,M点在Q点右侧(Q在M左),取左点 P l(x i-1,y i+1)。 d<0时,M点在Q点左侧(Q在M右),取右点 Pr(x i,y i+1)。 d=0时,M点与Q点重合(Q在M点),约定取右点 Pr(x i,y i+1) 。 所以有 递推公式的推导: d2=f(x i-1.5,y i+2) 当d>0时, d2=y i+2-k(x i-1.5)-b 增量为1+k =d1+1+k

计算机图形学考题B答案

1.在处理图形时常常涉及的坐标系有模型坐标系(局部坐标系),世界坐标系,观察坐标系,设备坐标系。 2.生成直线的四点要求是:生成的直线要直,直线的终止点要准,直线的粗细要均匀,速度要快。 3.扫描线的连贯性是多边形区域连贯性在一条扫描线上的反映;边的连贯性是多边形区域连贯性在相邻两扫描线上的反映。 4.具有256级灰度、分辨率为1024*1024个象素阵列的光栅扫描式显示器需要1024 KB的缓冲器。 5.计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。 二、选择题(共10分,每题2分) 1.计算机显示设备一般使用的颜色模型是( A ) A)RGB B)HSV C)CMY D)不在A,B,C中出现 2.在计算机图形关于Modeling的物体的描述中,下列是正确的结论有(C) A 一根直线是物体 B 一个空间的点是物体 C 一个立方体是物体 D 三维欧氏空间点的集合是物体 3.以下关于图形变换的论述不正确的是(D) A. 平移变换不改变图形大小和形状,只改变图形位置; B. 拓扑关系不变的几何变换不改变图形的连接关系和平行关系; C.旋转变换后各图形部分间的线性关系和角度关系不变,变换后直线的长度不变 D.错切变换虽然可引起图形角度的改变,但不会发生图形畸变; 4.计算机图形学与计算机图象学的关系是( B )。 A)计算机图形学是基础,计算机图象学是其发展 B)不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分C)同一学科在不同场合的不同称呼而已 D)完全不同的学科,两者毫不相干5.使用下列二维图形变换矩阵: 将产生变换的结果 为(D) A. 图形放大2倍; B. 图形放大2倍,同时沿X、Y坐标轴方向各移动1个绘图单位; C.沿X坐标轴方向各移动2个绘图单位; D.沿X坐标轴方向放大2倍,同时沿X、Y坐标轴方向各平移1个绘图单位。 T =

(完整版)计算机图形学题库及答案

注意:答案仅供参考 第一章 一、名词解释 图形;图像;点阵表示法;参数表示法; 二、选择题: 1. 下面哪个不是国际标准化组织(ISO)批准的图形标准。(D ) A.GKS B.PHIGS C.CGM D.DXF 2. 下面哪一项不属于计算机图形学的应用范围?(B) A. 计算机动画; B. 从遥感图像中识别道路等线划数据; C. QuickTime技术; D. 影视三维动画制作 3. 关于计算机图形标准化的论述,哪个是正确的(B ); A. CGM和CGI是面向图形设备的接口标准; B. GKS、IGES、STEP均是ISO标准; C. IGES和STEP是数据模型和文件格式的标准; D. PHIGS具有模块化的功能结构; 4. 与计算机图形学相关的学科有_ A、C、D___。 A. 图像处理 B. 测量技术 C. 模式识别 D. 计算几何 E. 生命科学 F. 分子生物学 三、判断题: 计算机图形学和图像处理是两个近似互逆的学科。(F) 计算机图形学处理的最基本的图元是线段。(F) 四、简答题: 图形包括哪两方面的要素,在计算机中如何表示它们? 阐述计算机图形学、数字图像处理和计算机视觉学科间的关系。图形学作为一个学科得以确立的标志性事件是什么? 试列举出几种图形学的软件标准?工业界事实上的标准有那些?举例说明计算机图形学有哪些应用范围,解决的问题是什么? 第二章 一、选择题:

1. 触摸屏是一种(C ) A. 输入设备; B. 输出设备; C. 既是输入设备,又是输出设备; D. 两者都不是; 2. 空间球最多能提供(D )个自由度; A. 一个; B. 三个; C. 五个; D. 六个; 3. 等离子显示器属于(C) A. 随机显示器; B. 光栅扫描显示器; C. 平板显示器; D. 液晶显示器; 4. 对于一个1024×1024存储分辨率的设备来说,当有8个位平面时,显示一帧图像所需要的内存为(A、D) A. 1M字节; B. 8M字节; C. 1M比特; D. 8M比特; 5. 分辨率为1024*1024的显示器,其位平面数为24,则帧缓存的字节数应为(A) A. 3MB; B. 2MB; C. 1MB; D. 512KB; 6. 下面对光栅扫描图形显示器描述正确的是:(A) A. 荧光粉涂层均匀离散分布; B. 是一种点画设备; C. 电子束从顶到底扫描; D. 通过控制电子束的强弱实现色彩的强弱; 7. 一个逻辑输入设备可以对应(C)物理输入设备。 A. 仅一个 B. 仅二个 C. 多个 D. 以上都不是 8. 彩色阴极射线管的三基色指得是:(A、C、D) A. 绿色; B. 黄色; C. 蓝色; D. 红色; 9. 计算机显示设备一般使用的颜色模型是(A) A. RGB B. HSV

计算机图形学基础教程习题课1(第二版)(孙家广-胡事民编著)

1.列举计算机图形学的主要研究内容。 计算机中图形的表示方法、图形的计算、图形的处理和图形的显示。 图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。 2.常用的图形输出设备是什么? 显示器(CRT、LCD、等离子)、打印机、绘图仪等。 2.常用的图形输入设备是什么? 键盘、鼠标、跟踪球、空间球、数据手套、光笔、触摸屏、扫描仪等。 3.列出3种图形软件工具。 AutoCAD、SolidWorks、UG、ProEngineer、CorelDraw、Photoshop、PaintShop、Visio、3DMAX、MAYA、Alias、Softimage等。 错误:CAD 4.写出|k|>1的直线Bresenham画线算法。 d d d d 设直线方程为:y=kx+b,即x=(y-b)/k,有x i+1=x i+(y i+1-y i)/k=x i+1/k,其中k=dy/dx。因为直线的起始点在象素中心,所以误差项d的初值d0=0。y下标每增加1,d的值相应递增1/k,即d=d+1/k。一旦d≥1,就把它减去1,这样保证d在0、1之间。 ●当d≥0.5时,最接近于当前象素的右上方象素(xi+1,y i+1),x方向加1,d减 去1; ●而当d<0.5时,更接近于上方象素(x i,yi+1)。

为方便计算,令e=d-0.5,e的初值为-0.5,增量为1/k。 ●当e≥0时,取当前象素(x i,y i)的右上方象素(xi+1,y i+1),e减小1; ●而当e<0时,更接近于上方象素(xi,yi+1)。 voidBresenhamline (int x0,int y0,intx1, inty1,int color) { int x,y,dx,dy; float k,e; dx= x1-x0, dy = y1-y0,k=dy/dx; e=-0.5, x=x0, y=y0; for (i=0; i≤dy; i++) {drawpixel(x, y,color); y=y+1,e=e+1/k; if (e≥0) { x++, e=e-1;} } } 4.写出|k|>1的直线中点画线算法。 构造判别式:d=F(M)=F(xp+0.5,y p+1)=a(x p+0.5)+b(yp+1)+c ●当d<0,M在Q点左侧,取右上方P2为下一个象素; ●当d>0,M在Q点右侧,取上方P1为下一个象素; ●当d=0,选P1或P2均可,约定取P1为下一个象素;

计算机图形学考题

下面哪个函数是OpenGl 的工具函数( ) A.glBegin B.glEnd C. glClear D. gluLookAt Breseham 算法直线算法中,当误差项5.0

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

计算机图形学复习题及答 案 This manuscript was revised on November 28, 2020

中南大学现代远程教育课程考试模拟复习试题.及参考答案 计算机图形学 一、名词解释 1.图形 2.像素图 3.参数图 4.扫描线 5.构造实体几何表示法 6.投影 7.参数向量方程 8.自由曲线 9.曲线拟合 10.曲线插值 11.区域填充 12.扫描转换 二、判断正误(正确写T,错误写F) 1.存储颜色和亮度信息的相应存储器称为帧缓冲存储器,所存储的信息被称为位 图。() 2.光栅扫描显示器的屏幕分为m行扫描线,每行n个点,整个屏幕分为m╳n个点,其中每个点称为一个像 素。―――――――――――――――――――――() 3.点阵字符用一个位图来表示,位图中的0对应点亮的像素,用前景色绘制;位图中的1对应未点亮的像素,用背景色绘 制。――――――――――――――――-() 4.矢量字符表示法用(曲)线段记录字形的边缘轮廓线。―――――――――――() 5.将矢量字符旋转或放大时,显示的结果通常会变得粗糙难看,同样的变换不会改变点阵字符的显示效 果。―――――――――――――――――――――――――()

6.在光栅图形中,区域是由相连的像素组成的集合,这些像素具有相同的属性值或者它们位于某边界线的内 部。―――――――――――――――――――――――() 7.多边形的扫描变换算法不需要预先定义区域内部或边界的像素值。――――――() 8.齐次坐标表示法用n维向量表示一个n+1维向 量。―――――――――――――() 9.实体的边界由平面多边形或空间曲面片组成。―――――――――――――――() 10.平面多面体表面的平面多边形的边最多属于两个多边形,即它的表面具有二维流形的性 质。―――――――――――――――――――――――――――――――() 11.实体几何性质包括位置、长度和大小 等。―――――――――――――――――() 12.实体的拓扑关系表示实体之间的相邻、相离、方位、相交和包含等关系。―――() 13.实体的扫描表示法也称为推移表示法,该表示法用一个物体和该物体的一条移动轨迹来描述一个新的物 体。――――――――――――――――――――――――() 14.如果投影空间为平面,投影线为直线,则称该投影为平面几何投影。――――-() 15.平面几何投影分为两大类:透视投影和平行投影。――――――――――――- () 16.当投影中心到投影面的距离为有限值时,相应的投影为平行投 影。――――――() 17.当投影中心到投影面的距离为无穷大时,相应的投影即为透视投影。―――――()

2006-2007计算机图形学考题B答案

姓名:___________学号:___________班级:_______ 机械学院2006-2007计算机图形学试题(B )开卷 一、填空题(共20分,每空2分) 1.在处理图形时常常涉及的坐标系有模型坐标系(局部坐标系),世界坐标系,观察坐标系,设备坐标系。 2.生成直线的四点要求是:生成的直线要直,直线的终止点要准,直线的粗细要均匀, 速度要快。 3.扫描线的连贯性是多边形区域连贯性在一条扫描线上的反映;边的连贯性是多边形区域连贯性在相邻两扫描线上的反映。 4.具有256级灰度、分辨率为1024*1024个象素阵列的光栅扫描式显示器需要1024 KB 的缓冲器。 5.计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。 二、选择题(共10分,每题2分) 1.计算机显示设备一般使用的颜色模型是 ( A ) A )RG B B )HSV C )CMY D )不在A,B,C 中出现 2.在计算机图形关于Modeling 的物体的描述中,下列是正确的结论有( C ) A 一根直线是物体 B 一个空间的点是物体 C 一个立方体是物体 D 三维欧氏空间点的集合是物体

3.以下关于图形变换的论述不正确的是(D) A. 平移变换不改变图形大小和形状,只改变图形位置; B. 拓扑关系不变的几何变换不改变图形的连接关系和平行关系; C.旋转变换后各图形部分间的线性关系和角度关系不变,变换后直线的长度不变 D.错切变换虽然可引起图形角度的改变,但不会发生图形畸变; 4.计算机图形学与计算机图象学的关系是( B )。 A)计算机图形学是基础,计算机图象学是其发展 B)不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分C)同一学科在不同场合的不同称呼而已 D)完全不同的学科,两者毫不相干5.使用下列二维图形变换矩阵: 将产生变换的结果 为(D) A. 图形放大2倍; B. 图形放大2倍,同时沿X、Y坐标轴方向各移动1个绘图单位; C.沿X坐标轴方向各移动2个绘图单位; 2倍,同时沿X、Y坐标轴方向各平移1个绘图单位。 三、判断题(共10分,每题1分) 请在括号内填写“T”或“F”。 1.光栅扫描式图形显示器可看作是点阵单元发生器,可直接从单元阵列中的一个可编地址的象素画一条直线到另一个可编地址的象素。( F)2.由三个顶点可以决定一段二次B样条曲线,若三顶点共线时则所得到的曲线褪化为一条直线段。(T)3.四连通的区域同时也是一个八连通的区域,所以,四连通区域填充算法也可以用于填充八连通区域。( F)4.插值得到的函数严格经过所给定的数据点。( T)5.Bezier曲线具有对称性质。(T)6.在光栅扫描图形显示器中,所有图形都按矢量直接描绘显示。(F)7.齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;(F)8.一次Bezier曲线其实就是连接起点到终点的折线段。(F)9.参数曲线的表示有代数形式和几何形式两种。(T)10.光栅图形显示器中,显示一幅图像使用的时间与图像复杂程度无关。 (T) T =

计算机图形学课后习题答案

第三章习题答案 3.1 计算机图形系统的主要功能是什么? 答:一个计算机图形系统应具有计算、存储、输入、输出、交互等基本功能,它们相互协作,完成图形数据的处理过程。 1. 计算功能 计算功能包括: 1)图形的描述、分析和设计;2)图形的平移、旋转、投影、透视等几何变换; 3)曲线、曲面的生成;4)图形之间相互关系的检测等。 2. 存储功能 使用图形数据库可以存放各种图形的几何数据及图形之间的相互关系,并能快速方便地实现对图形的删除、增加、修改等操作。 3. 输入功能 通过图形输入设备可将基本的图形数据(如点、线等)和各种绘图命令输入到计算机中,从而构造更复杂的几何图形。 4. 输出功能 图形数据经过计算后可在显示器上显示当前的状态以及经过图形编辑后的结果,同时还能通过绘图仪、打印机等设备实现硬拷贝输出,以便长期保存。 5. 交互功能 设计人员可通过显示器或其他人机交互设备直接进行人机通信,对计算结果和图形利用定位、拾取等手段进行修改,同时对设计者或操作员输入的错误给以必要的提示和帮助。 3.2 阴极射线管由哪些部分组成?它们的功能分别是什么? 答:CRT主要由阴极、电平控制器(即控制极)、聚焦系统、加速系统、偏转系统和阳极荧光粉涂层组成,这六部分都在真空管内。 阴极(带负电荷)被灯丝加热后,发出电子并形成发散的电子云。这些电子被电子聚集透镜聚焦成很细的电子束,在带正高压的阳极(实际为与加速极连通的CRT屏幕内侧的石墨粉涂层,从高压入口引入阳极高电压)吸引下轰击荧光粉涂层,而形成亮点。亮点维持发光的时间一般为20~40mS。 电平控制器是用来控制电子束的强弱的,当加上正电压时,电子束就会大量通过,在屏幕上形成较亮的点,当控制电平加上负电压时,依据所加电压的大小,电子束被部分或全部阻截,通过的电子很少,屏幕上的点也就比较暗。所以改变阴极和 控制电平之间的电位差,就可调节电子 束的电流密度,改变所形成亮点的明暗 程度。 利用偏转系统(包括水平方向和 垂直方向的偏转板)可将电子束精确定 位在屏幕的任意位置上。只要根据图形 的几何坐标产生适当的水平和垂直偏转磁场(或水平和垂直偏转板静电场),图 2.2CRT原理图

《计算机图形学》复习试题

计算机图形学模拟试卷 计算机图形学课程试卷(卷) 注意:1、本课程为必修(表明必修或选修),学时为 51 ,学分为 3 2、本试卷共 3 页;考试时间 120 分钟;出卷时间:年 12 月 3、姓名、学号等必须写在指定地方;考试时间:年 1 月 11 日 4、本考卷适用专业年级:任课教师: (以上内容为教师填写) 专业年级班级 学号姓名 一、名词解释(15分) 1.国际标准化组织(ISO)对计算机图形学的定义

2.象素图 3.正投影 4.纹理 5.位图 二、写出下列述语的全称及中文含义。 1、GKS (Graphics Kernel System):图形核心系统 2、PHIGS(Programmer's Hierarchical Interactive Graphics System):程序员级分层结构交互图形系统 (Programmer's Hierarchical Interactive Graphics Stander):面向程序员的层次交互图形标准 3、CAD (Computer Assistant Design):计算机辅助设计 4、CAM (computer Aided Manufacturing):计算机辅助制造 5、CAGD (Computer Aided Geometric Design):计算机辅助几何设计 6、CIMS (Computer Integrated Manufacturing Systems):计算机集成制造系统 7、API (Application Programming Interface):应用程序编程接口 8、DPI (Dot Per Inch):指在每英寸长度内的点数。 9、CPU (Central Processing Unit):中央处理器 10、DPU (Distributed Processor Unit):数据保护单元 11、MBR (Minimum Bounding Rectangle) :最小外包矩形 12、CRT (Cathode Ray Tube):阴极射线管 13、LED (Light Emitting Diode):发光二极管

计算机图形学试题及答案

计算机图形学试题及答 案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

一、判断题(10x1=10分) 1、0阶参数连续性和0阶几何连续性的定义是相同的。(正确) 2、Bezier曲线可做局部调整。(错误) 3、字符的图形表示分为点阵和矢量两种形式。(正确) 4、LCD表示(液晶显示器)发光二极管显示器。(错误) 5、使用齐次坐标可以将n维空间的一个点向量唯一的映射到n+1维空间中。(错误) 二、填空题(15x2=30分) 1、常用坐标系一般可以分为:建模坐标系、用户坐标系、(6观察坐标系、(7)规格化设备坐标系、(8)设备坐标系。 2、在多边形的扫描转换过程中,主要是通过确定穿越多边形区域的扫描线的覆盖区间来填充,而区域填充则是从(9)给定的位置开始涂描直到(10)指定的边界条件为止。 3、一个交互式计算机图形系统应具有(11)计算、(12)存储、(13)对话、(14)输入和输出等五个方面的功能。 三、简答题(5x6=30分) 1、什么叫做走样什么叫做反走样反走样技术包括那些 答:走样指的是用离散量表示连续量引起的失真。 为了提高图形的显示质量。需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样。 其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。 2、试说明一致缩放(s x=s y)和旋转形成可交换的操作对。

答:???? ? ???? ?-=??????????-???????????=10 00cos sin 0sin cos 10 0cos sin 0sin cos 10 00 001θθθθ θθθθ y y x x y x s s s s s s T 因为s x =s y ,故有T 1=T 2,所以一致缩放(s x =s y )和旋转可以形成可交换的操作对。 5、用参数方程形式描述曲线曲面有什么优点? 答:①点动成线;②可以满足几何不变性的要求;③可以避免斜率带来的问题; ④易于定界;⑤可以节省工作量;⑥参数变化对各因变量的影响明显。 四、 利用中点Bresenham 画圆算法的原理推导第一象限从y=x 到x=0圆弧段的扫描转换算法(要求写清原 理、误差函数、递推公式)。(10分) 解:x 方向为最大走步方向,x i+1=x i -1,y i+1由d 确定 d i =F(x m ,y m )=(x i -1)2+(y i +2-R 2 ⑴ d i <0时,点在圆内,x i+1=x i -1, y i+1= y i + d i+1=F(x m ,y m )= (x i -2)2+(y i +2-R 2 =x i 2-4x i +4+y i 2+3y i + =(x i -1)2-2x i +3+(y i +2+2y i +2-R 2 = d i -2x i +2y i +5 = d i +2(y i -x i )+5 ⑵ di ≥0时,点在圆外,x i+1=x i -1,y i+1=y i d i+1=F(x m ,y m )=(x i -2)2+(y i +2-R 2 =x i 2-4x i +4+(y i +2-R 2 = di -2xi+3 五、 如下图所示多边形,若采用改进的有效边表算法进行填充,试写出该多边形的ET 表和当扫描线 Y=4时的AET 表。(本题10分) 解:ET 表: 六、假设在观察坐标系下窗口区的左下角坐标为(wxl=10,wyb=10),右上角坐标为(wxr=50, wyt=50)。设备坐标系中视区的左下角坐标为(vxl=10,vyb=30), 右上角坐标为(vxr=50,vyt=90)。已知在窗口内有一点p(20,30),要将点p 映射 到视区内的点p`,请问p`点在设备坐标系中的坐标是多少(本题10分) 解:○ 1将窗口左下角点(10,10)平移至观察坐标系的坐标原点,平移矢量为(-10,-10)。 ○ 2针对坐标原点进行比例变换,使窗口的大小和视区相等。比例因子为: S x =(50-10)/(50-10)=1; S y =(90-30)/(50-10)=。 ○ 3将窗口内的点映射到设备坐标系的视区中,再进行反平移,将视区的左下角点移回到设备坐标系中原来的位置(10,30),平移矢量为(10,30)。 p`点在设备坐标系中的坐标是(20,60)。

相关文档
最新文档