第一章:P56 1、列出在你过去学习工作中用过与计算机图形学有关的程序 语言 #include <graphic maino int graphdriver=VGA, graphmode=VGAHI initgraph(&graphdriver, &graphmode setbkcolor(BLUE) setfillstyle(l, LIGHTRED) bar3d(100,200400,350,100,1) floodfill(450, 300, WHITE) floodfill(250, 450, WHITE) setcolor(LIGHTGREEN) rectangle(450,400,500,450); floodfill(470, 420, LIGHTGREEN) closegrap pho JAVA语言 例1、画点 Import java. io. * Class point int ax In int bx. public point(int ax, int ay, int bx, int by) float k;计算斜率 float b = (by-ay )/(bx-ax) =ay-ax*k system. out. printIn(“直线的方程为:y=”+k+”x”+”“+”+b) 例2、画矩形 class DrawPanel extends Jpanel
第一章: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(); } JAVA 语言: 例 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 21 Double leftxe200 Double topy=200 Double width=300 Double height=250 Rectangle2D rect= new Rectangle2D double(left, topy, width, height) G2. draw(rect) 2、列出你所用过的窗口系统中与观感有关的元素的功能,如图标、滚动棒、菜单等 使用滚动条 当文档、网页或图片超出窗口大小时,会出现滚动条,可用于查看当前处于视图之外的信息。下面的图片 显示滚动条的组成部分。 使用菜单 大多数程序包含几十个甚至几百个使程序运行的命令(操作)。很多这些命令是组织在菜单下面。就像饭 馆的菜单一样,程序菜单显示选择列表。为了使屏幕整齐,会隐藏这些菜单,只有在标题栏下的菜单栏中 单击菜单标题之后才会显示菜单。例如,单击“画图”菜单栏中的“图像”可显示“图像”菜单 3、列出你所用过的图形输入、显示及输出设备的名称、型号、生产厂商、出厂时间及其主要优缺点 4、比较个人计算机与工作站的图形功能 个人计算机仅限于符合二维,又是单任务操作方式 工作站可处理二、三维,多任务操作方式 区别 个人计算机 工作站 「显示分别率 640X480 1024X900以上 具有8个以上位面 显示器尺寸 12~14英寸 16、19、27英寸 图形处理能力 符号或二维 具有反走样、线和面消隐 光照模型等处理硬件;同时 还具有丰富的图形生成和 处理软件 主要处理二维或三维图形 图象 计算机性能 主要取决于微处理器的性具有更强的处理功能,在操 作系统、页面虚拟存储器和 主要用途都有所不同
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、在光栅显示器上显示斜线的45°角时常会发生锯齿状,请考虑减少锯齿状效果的各种方法并说明采用这 些方法的代价。 在光栅图形显示器上显示斜线时常会发生锯齿,这是由于直线或多边形边界在光栅图形显示器的对应图 形都是由一系列相同亮度的离散象素构成的。这种用离散量表示连续亮引起的失真称为走样,而用于减少 或消除这种效果的技术,称为反走样。 一般而言,减少锯齿有三种方法,下面以直线扫描转换为例,分别介绍三种方法 1)提高分辨率 假设把显示器的分辨率提高一倍,虽然直线经过2倍的象素,锯齿也会增加一倍。但由于每个锯 齿在X方向和Y方向都只有低分辨率的一半,所以效果看起来会好一些,这种改进方法是以4倍 的存储器代价和4倍的扫描转换时间获得的。因此增加分辨率是不经济的方法,它只能减轻,不 能消除锯齿 (2)简单的区域取样 在直线扫描算法假定象素是数学上的一个点,象素的颜色是由对应于象素中心的图形中一点的颜 色决定的。但是,实际上象素不是一个点,而是一个有限区域。屏幕上所画的直线段不是数学意
操作方式 单任务 多任务、多进程 ⚫ 个人计算机的主要功能是字符处理,而工作站不仅有字符处理功能,还有较强的图形处理功能 ⚫ 个人计算机的显示分辨率较小,一般在 640X480 的图形处理符号或二维图形;而工作站为了满足 强大的图形处理,显示分辨率为一般为 1024x1024 的二维或三维图形 ⚫ 个人计算机的显示器相对工作站较小 ⚫ 个人计算机的图形系统是由个人计算机加上图形输入输出设备和有关的图形支撑软件集成起来的 系统,其性能取决于个人计算机所采用的微处理器芯片,个人计算机的图形功能由于受到软件和硬 件的限制,只适合处理比较简单的事情;个人计算机的显示分辨率一般在 640X480 的图形处理符 号或二维图形 ⚫ 而工作站在处理器、总线设计、存储器、操作系统等多个方面都有比个人计算机优越的地方,它配 有专业的图形输入输出设备,并配有图形处理器以处理大量的复杂的图形运算;它可以处理多任务 进程、处理显示分辨率为 1024x1024 的二维或三维图形、具有高速的科学计算能力、丰富的图形处 理、灵活的窗口及网络管理功能的交互式计算机系统,它的图形功能比个人计算机图形系统强德多, 但在造价上远高于个人计算机。 6、具有相同分辨率的彩色光栅显示器与黑白光栅在结构上有何区别? 彩色: 对于红、绿、蓝的三个原色有三个位面的帧缓存和三个电子枪,每个位面的帧缓冲对应一个电子 枪即对应一种颜色;对每个颜色的电子枪可以通过增加帧缓存位面来提高颜色种类和灰度级,通过三种 原色的组合可以产生不同种类的颜色。 彩色光栅显示器主要是有红、绿、蓝的三个原色所组成,每种原色电子枪有 8 个位面的帧缓存和 8 位的数模转换器,每种原色有 256 种亮度,三种原色组合可为 16771216 种颜色,也可以通过颜色查找 表查找,故帧缓存位数至少 24 位。 黑白: 黑白光栅显示器的帧缓存是一块连续的计算机存储器,每个像素需 1 位存储器,每个存储器只有 0 或 1 两个状态。因此一个位面的帧缓存只能产生黑白图形。可以增加象素点的位面数,通过多个位面显 示出多种灰度级。 7、在光栅显示器上显示斜线的 45º角时常会发生锯齿状,请考虑减少锯齿状效果的各种方法并说明采用这 些方法的代价。 在光栅图形显示器上显示斜线时常会发生锯齿,这是由于直线或多边形边界在光栅图形显示器的对应图 形都是由一系列相同亮度的离散象素构成的。这种用离散量表示连续亮引起的失真称为走样,而用于减少 或消除这种效果的技术,称为反走样。 一般而言,减少锯齿有三种方法,下面以直线扫描转换为例,分别介绍三种方法: (1) 提高分辨率 假设把显示器的分辨率提高一倍,虽然直线经过 2 倍的象素,锯齿也会增加一倍。但由于每个锯 齿在 X 方向和 Y 方向都只有低分辨率的一半,所以效果看起来会好一些,这种改进方法是以 4 倍 的存储器代价和 4 倍的扫描转换时间获得的。因此增加分辨率是不经济的方法,它只能减轻,不 能消除锯齿。 (2) 简单的区域取样 在直线扫描算法假定象素是数学上的一个点,象素的颜色是由对应于象素中心的图形中一点的颜 色决定的。但是,实际上象素不是一个点,而是一个有限区域。屏幕上所画的直线段不是数学意
义上的无宽度的理想线段,而是一个宽度至少为一个象素单位的线条。因此,把屏幕上的直线看 成是长方条形更为合理。在绘制直线条时,所有与该长方条相交的象素都采用适当的宽度给予显 示。这要求显示器各象素可以用多灰度显示。例,设象素中心是在网格点上的不相交的正方形 象素的灰度与它落在直线条内的面积成正比。在多灰度黑白显示器上,若一个象素整个落在线条 上,则将它置成前景色。若一个象素与线条部分相交,根据相交部分的大小来选择不同的灰度, 相交部分大的象素前景色成分更多一些,相交部分小的象素前景色成分更少一些。这种方法将产 生模糊的边界,以此来减轻锯齿效应。在实际应用中,常采用盒式滤波器 (3)加权区域取样 加权区域取样方法采用更为优化的圆锥形滤波器。圆锥的底圆中心在当前象素中心,底圆半径为 一个单位,锥高为1。当直线条经过该象素时,该象素的灰度值是在二者相交区域上对滤波器进 行积分的积分值。用这种圆锥形滤波器有如下特点:一是接近理想直线的象素将被分配更多的灰 度值。二是相邻两个象素的滤波器相交,所以直线条经过该相交区域时,将对这两个象素分配给 适当的灰度值,这有利于缩小直线条上相邻象素的灰度差
义上的无宽度的理想线段,而是一个宽度至少为一个象素单位的线条。因此,把屏幕上的直线看 成是长方条形更为合理。在绘制直线条时,所有与该长方条相交的象素都采用适当的宽度给予显 示。这要求显示器各象素可以用多灰度显示。例,设象素中心是在网格点上的不相交的正方形, 象素的灰度与它落在直线条内的面积成正比。在多灰度黑白显示器上,若一个象素整个落在线条 上,则将它置成前景色。若一个象素与线条部分相交,根据相交部分的大小来选择不同的灰度, 相交部分大的象素前景色成分更多一些,相交部分小的象素前景色成分更少一些。这种方法将产 生模糊的边界,以此来减轻锯齿效应。在实际应用中,常采用盒式滤波器 (3) 加权区域取样 加权区域取样方法采用更为优化的圆锥形滤波器。圆锥的底圆中心在当前象素中心,底圆半径为 一个单位,锥高为 1。当直线条经过该象素时,该象素的灰度值是在二者相交区域上对滤波器进 行积分的积分值。用这种圆锥形滤波器有如下特点:一是接近理想直线的象素将被分配更多的灰 度值。二是相邻两个象素的滤波器相交,所以直线条经过该相交区域时,将对这两个象素分配给 适当的灰度值,这有利于缩小直线条上相邻象素的灰度差