文档视界 最新最全的文档下载
当前位置:文档视界 › OpenGL在计算机图形学教学中的应用

OpenGL在计算机图形学教学中的应用

OpenGL在计算机图形学教学中的应用
OpenGL在计算机图形学教学中的应用

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

中南大学现代远程教育课程考试模拟复习试题.及参考答案 计算机图形学 一、名词解释 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.当投影中心到投影面的距离为无穷大时,相应的投影即为透视投影。―――――()18.在透视投影中,不平行于投影平面的平行线,经过透视投影后交汇到一个点,该点称为灭点。――――――――――――――――――――――――――――――()19.用DDA算法生成圆周或椭圆不需要用到三角运算,所以运算效率高。――――()20.主灭点的个数正好等于与投影面相交的坐标轴的个数,显然最多有四个主灭点。()21.透视投影按主灭点个数分为一点透视、二点透视和三点透视。―――――――()22.平行投影分为正(射)投影和斜(射)投影。―――――――――――――-()23.在正投影中,投影方向与投影面垂直。――――――――――――――――――()24.在斜投影中,投影线不垂直于投影面。―――――――――――――――――()25.当投影面与x,y和z垂直时所得到的投影分别称为正(主)视图、侧视图和俯视图,统称为三视图。―――――――――――――――――――――――――――()26.在斜投影中,当投影面与三个坐标轴都不垂直时,所形成的投影称为正轴测。-()27.投影面也称为观察平面。―――――――――――――――――――――――()28.观察空间位于前后裁剪面之间的部分称为裁剪空间或视见体。―――――――()29.找出并消除物体中的不可见部分,称为消隐。――――――――――――――()30.经过消隐得到的图形称为消隐图。―――――――――――――――――――() 三、填空 1.图形软件的建立方法包括提供图形程序包、和采用专用高级语言。 2.直线的属性包括线型、和颜色。

计算机图形学OpenGL中绘制太阳_地球_月亮的运动模型源代码

#include static int day = 148; // day的变化:从0到359 void myDisplay(void) { glEnable(GL_DEPTH_TEST); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(75, 1, 1, 400000000); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1); // 红色的“太阳” glColor3f(1.0, 0.0, 0.0); glutSolidSphere(69600000, 100, 100); // 蓝色的“地球” glColor3f(0.0, 0.0, 1.0); glRotatef(day/360.0*360.0, 0.0, 0.0, -1.0); glTranslatef(150000000, 0.0, 0.0); glutSolidSphere(15945000, 100, 100); // 黄色的“月亮” glColor3f(1.0, 1.0, 0.0); glRotatef(day/30.0*360.0 - day/360.0*360.0, 0.0, 0.0, -1.0); glTranslatef(38000000, 0.0, 0.0); glutSolidSphere(4345000, 100, 100); glFlush(); glutSwapBuffers(); } void myIdle(void) { ++day; if( day >= 360 ) day = 0; myDisplay(); } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE); glutInitWindowPosition(100, 100); glutInitWindowSize(450, 450);

研究生计算机图形学课程室内场景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.docsj.com/doc/9a15249873.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)

秋双学位计算机图形学

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

2. 象素图 3. 正投影 4. 纹理 5. 位图 二.单项选择题(1.5×10=15分) ( )1、在TC 环境下编译绘图程序进行图形初始化时,要寻找文件的格式是?______。 A ).DOC B ).CPP C ).C D ).BGI ( )2、图形系统是由四部分组成,分别为 A).应用系统结构;图形应用软件;图形支撑软件;图形设备。 B).计算机;显示器;打印机;图形应用软件。 C).计算机;图形设备;图形支撑软件;图形应用软件。 D).计算机;图形软件;图形设备;应用数据结构。 ( )3、使用下列二维图形变换矩阵: T=???? ??????111020002 将产生变换的结果为______ 。 A )图形放大2倍; B )图形放大2倍,同时沿X 、Y 坐标轴方向各移动1个绘图单位; C )沿X 坐标轴方向各移动2个绘图单位; D )上述答案都不对。 ( )4、图形显示器的工作方式为 A ).文本方式 B ).图形方式 C ).点阵方式 D ).文本与图形方式 ( )5、透视投影中主灭点最多可以有几个? A) 3 B)2 C)1 D)0 ( )6、在用射线法进行点与多边形之间的包含性检测时,下述哪一个操作不正确? A) 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数0次 B) 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数2次 C) 当射线与多边形交于某顶点时且该点的两个邻边在射线的两侧时,计数1次 D) 当射线与多边形的某边重合时,计数1次 ( )7、下列有关平面几何投影的叙述语句中,正确的论述为

计算机图形学 实验 利用OpenGL实现图形的平移、旋转、缩放

XXXXXXXX大学(计算机图形学)实验报告 实验名称利用OpenGL实现图形的平移、旋转、缩放 实验时间年月日 专业姓名学号 预习操作座位号 教师签名总评 一、实验目的: 1.了解OpenGL下简单图形的平移、旋转、缩放变换的编程的基本思想; 2.掌握OpenGL下简单图形的平移、旋转、缩放变换的编程的基本步骤; 二、实验原理: 在OpenGL中,可以使用下面三个函数便捷地实现简单图形平移、旋转、缩放变换的功能: glRotatef(theta, vx, vy, vz); glTranslatef(dx, dy, dz); glScalef(sx,sy,sz); 三、实验内容: // 1.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "glut.h" #include "math.h" void display() { glClear( GL_COLOR_BUFFER_BIT); // Clear the frame buffer glColor3f( 0.0, 1.0, 1.0); // Set current color to green glBegin( GL_POLYGON); // Draw the triangle glV ertex2f( 0.0, -0.2); glV ertex2f( 0.2, 0.0); glV ertex2f( 0.0, 0.0); glEnd(); glFlush(); } void dsp()

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

第一章绪论 概念:计算机图形学、图形、图像、点阵法、参数法、 图形的几何要素、非几何要素、数字图像处理; 计算机图形学和计算机视觉的概念及三者之间的关系; 计算机图形系统的功能、计算机图形系统的总体结构。 第二章图形设备 图形输入设备:有哪些。 图形显示设备: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

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

计算机图形学复习题及答 案 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.当投影中心到投影面的距离为无穷大时,相应的投影即为透视投影。―――――()

计算机图形学试验指导一–OpenGL基础

计算机图形学实验指导(一) –OpenGL基础 1.综述 这次试验的目的主要是使大家初步熟悉OpenGL这一图形系统的用法,编程平台是Visual C++,它对OpenGL提供了完备的支持。 尽管OpenGL包括渲染命令,但却独立于任何窗口系统和操作系统。因此,OpenGL并不包括用来打开窗口以及从键盘或鼠标读取事件的命令。在这里,我们应用GLUT库简化Windows窗口操作。 2.准备GLUT库 下载glut压缩包后,解压,把glut32.dll放在Windows的system32目录下,将glut32.lib 放在C:\program files\Microsoft Visual Studio\VC98\Lib目录中,将glut.h放在C:\program files\Microsoft Visual Studio\VC98\Include\GL目录中 2.在VC中新建项目 新建一个项目。 选择菜单File中的New选项,弹出一个分页的对话框,选中页Projects中的Win32 Console Application项,然后填入你自己的Project name,回车即可。VC为你创建一个工作区(WorkSpace),你的项目就放在这个工作区里。 为项目添加文件 为了使用OpenGL,我们需要在项目中加入相关的Lib文件:glut32.lib 选中菜单Project->Settings项,在link选项卡中的Object/Library modules栏中加入glut32.lib。 选择菜单File中的New选项,弹出一个分页的对话框,选中页Files中的C++sourcefile,填入文件名,钩选添加到刚才建的那个工程里,然后就可以开始编程了。 3.一个OpenGL的例子 #include //初始化OpenGL void init(void) { glClearColor(0.0f, 0.0f, 0.0f, 0.0f);//设置背景颜色 glShadeModel(GL_FLAT);//设置明暗处理 } //主要的绘制过程 void display(void) { glClear(GL_COLOR_BUFFER_BIT);//清除颜色缓存 glBegin(GL_LINES);//开始画直线 glColor3f(1.0f, 1.0f, 1.0f);//设置颜色为白色 glVertex2f(30.0f, 30.0f);//第一根线的两个端点 glVertex2f(200.0f, 400.0f);

计算机图形学基础教程习题课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为下一个象素;

计算机图形学考试大纲

计算机科学与技术学科综合水平全国统一考试大纲及指南 计算机图形学 一、考试大纲 要求掌握设计和使用计算机图形学系统所必须的基本原理,其主要内容包括: 1.基本图形生成算法 2.二维图形显示 3.曲线和曲面的表示 4.三维物体的几何表示和几何变换 5.真实感图形的实现原理和算法 二、复习指南 (-)概述 1.计算机图形学和图形系统基本知识 计算机图形学研究对象及应用领域;图形系统的硬件和软件;图形标准接口。 2.基本图形的属性及生成算法 直线,曲线,填充区域,文字等。 (二)二维图形变换和显示 1.二维几何变换 平移、旋转、缩放及其组合,坐标系变换。 2.二维图形显示 点、线、多边形、曲线及文字的裁剪。 (三)曲线、曲面和三维图形 1.曲线和曲面的参数表示 Bezier曲线和曲面,双三次曲面的表示,B样条,插值,曲面拟合。 2.三维物体的几何表示方法 物体的定义及性质,特征参数法,边界表示法,曲面离散近似表示,实体构造表示法,八叉树表示法。 3.三维形体的输出过程 平面几何投影变换,观察空间,空间转换,三维裁剪。 (四)光学模型及其算法实现 l.简单光反射模型 基本光学原理,简单光反射模型(Phong模型)的导出和实现。 2.增量式光反射模型 双线性光强插值法(Crourand Shading),双线性法向插值法(Phong Shading),加速算法。 3.局部光反射模型 局部光反射模型及其实现。 4.光源模型 光源模型及其光强分布。 5.简单光透射模型 透明效果的模拟方法,Witted光透射模型,Hall光透射模型。 6.光线跟踪显示技术

基本光线跟踪算法,光线与物体求交,光线跟踪中的简单阴影。 (五)消隐显示和阴影生成技术 1.消隐显示技术 深度缓存算法(Z-Buffer),扫描线算法,多边形区域排序算法,列表优先算法。 2.阴影生成技术 阴影扫描线算法,阴影多边形算法,阴影空间算法,阴影深度缓存算法,反走样软影生成算法。 三、思考题 1.计算机图形显示器和绘图设备表示颜色的方法各是什么颜色系统?它们之间的关系如何? 2.简述侦缓存与显示器分辨率的关系。分辨率分别为640 * 480,1280 * 1024,和2560 * 2048的显示器各需要多少字节位平面数为24的帧缓存? 3.画直线的算法有哪几种?圆圆弧的算法有哪几种?写一个画带线宽的虚线的程序。 4.写一个画饼分图的程序,用不同的颜色填充各个区域。 5.写一个显示一串字符的程序。 6.分别写出平移、旋转、缩放及其组合的变换矩阵。 7.如何用几何变换实现坐标系的变换? 8.写出几种线裁剪算法;写出几种多边形裁剪算法。 9.写出Bezier曲线和面片的几种表达形式。 10.写出B样条的矩阵形式和调和函数。为什么使用非均匀有理B样条? 11.简述边界表示法(BREP)实体构造表示法(CSG) 12.写出透视变换矩阵和各种投影(三视图、正轴测和斜投影)变换矩阵。 13.观察空间有哪些参数?其作用是什么?写出从物体空间坐标系到观察空间坐标系转换矩阵。 14.分别写出对于透视投影和平行投影的从裁剪空间到规范化投影空间的转换矩阵。 15.写出从规范化投影空间到图象空间的转换矩阵。 16.写出简单光反射模型近似公式,并说明其适用范围及能产生的光照效果。 17.写出线光源的光强公式及其积分算法。 18.试描述Witted光透射反射模型和Hall光透射模型。 19.写出光线跟踪算法。 20.写出光线与几种常见物体面的求交界法。 21.简述消隐算法的分类。 22.简述深度缓存算法及其特点。 23.简述点与多边形之间的包合性检测算法。 24.描述扫描线算法。 25.简述阴影生成算法的分类及各种算法。 四、考试样卷 请从以下每小题的所给A~D答案中选出一个正确答案: 1.计算机绘图设备一般使用什么颜色模型? A)RGB;B)CMY:C)HSV;D)HLS 2.计算机图形显示器一般使用什么颜色模型? A)RGB;B)CMY;C)HSV;D)HLS 3.分辨率为1024*1024的显示器各需要多少字节位平面数为24的侦级存? A)512KB;B)1MB;C)2MB;D)3MB

计算机图形学期末考试试卷(d卷)

计算机图形学期末考试试卷(D 卷) 一、 填空题(每空1分,共10分) 1. 图形的表示方法有两种: 点阵法 和 参数法 。 2. 目前常用的两个事实图形软件标准是OpenGL 和 DirectX 。 3. 多边形有两种表示方法: 顶点表示法 和点阵表示法。 4. 二维图形基本几何变换包括平移、 比例 、 旋转 等变换。 5. 投影可以分为 平移 投影和 透视 投影。 6. 描述一个物体需要描述其几何信息和 拓扑信息 。 7. 在Z 缓冲器消隐算法中Z 缓冲器每个单元存储的信息是每一个像素点的 深度值 。 二、 判断题(每小题1分,共10分,对的画√,错的画×) 1. 由三个顶点可以决定一段二次B 样条曲线,若三顶点共线时则所得到的曲线褪化为一条直线段。 (v ) 2. DDA (微分方程法)是Bresenham 算法的改进。( x ) 3. 插值得到的函数严格经过所给定的数据点,逼近是在某种意义上的最佳近似。( v ) 4. 齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点。( x ) 5. 若相对于某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或 者旋转变换,然后将原点平移回去。( v ) 6. Phong 算法的计算量要比Gouraud 算法小得多。 ( x ) 7. 将某二维图形整体放大2倍,其变换矩阵可写为???? ??????200010001。( x ) 8. 在种子填充算法中所提到的八连通区域算法同时可填充四连通区域。( v ) 9. 边缘填充算法中是将扫描线与多边形交点左方的所有像素取补。( x ) 10. 计算机图形技术是随着图形硬件设备的发展而发展起来的。( v ) 三、 选择题(每小题1分,共10分) 1.在图形变换中引入齐次坐标的目的是 B 。 A )便于实现缩放变换 B) 统一表示几种基本变换,便于计算 C )便于实现错切变换 D )无特殊目的,一直沿用而已 2. 透视投影中主灭点最多可以有几个? D A ) 0 B )1 C )2 D )3 3. 在简单光照模型中,由物体表面上的点反射到视点的光强是下述哪几项之和? C

计算机图形学考试题目答案

1.用于减少或克服在“光栅图形显示器上绘制直线、多边形等连续图形时,由离散量表示连续量引起的失真”技术叫(反走样),常用方法有(提高分辨率方法),(非加权区域采样),(加权区域采样)。 2.三维对象建模类型分为(线框模型),(表面模型),(实体模型) 3.阴极管(CRT)的(聚焦系统)通过电场和磁场控制“交细….”保证…..提高分辨率。 5.圆的中点生成算法中,通常把圆分为(八)个部分。假定当前取点为(Xi,Yi),那么下一点只能是正右方的A(Xi+1,Yi)或右下方B (Xi+1,Yi‐1)设M为中点,F(M)<0.取(正右)方。 7.在光栅显示器上显示任何一种图形,实际上都是一些具有一种或多种颜色的像素集合,确立最佳逼近的像素集合,并用指定属性写像素的过程称为(光栅化)。 8.消隐算法根据算法实现时所在的坐标系或空间进行分类,可分为(物体空间的消隐算法)(图像空间的消隐算法)(物体空间和图像空间的消隐算法)三类。 9.增量算法的目的是:(加快扫描转换)。11.纹理是物体表面的细小结构,根据纹理的表现形式可分为(图像纹理)(几何纹理)(过程纹理)三类。 12.凹凸纹理是通过对(物体的表面几何性质)进行扰动来产生凹凸不平的视觉效果。13.penGL的工作方式是一种(状态机制),可以进行各种状态或技术设置。 14.画家算法原理是先把屏幕置成背景色,再把物体的各个面按其离视点远近进行排序,远者在表头近者在表尾,构成一张(深度优先)表。 1.光栅显示系统的优点是刷新率一定与图形的复杂度无关,但会产生走样。(对) 2.若要对某点进行比例、旋转交换、首先需要把坐标原点平移至该点,在新的坐标下作比例或旋转变换,然后将原点平移回去。(错) 3.光线跟踪算法与光传播方向是相同的,是视线跟踪。(错) 4.将线段两端的分区编码的逐位取逻辑“与”,若结果为零,则该线相对于裁剪窗口必为完全不见。(错) 5.Phong 明暗处理算法先计算出曲面在各多边形顶点 处的光强,然后再采用双曲线插值法确定在扫描线上每个像素处的光强值,得到多边形的光 滑颜色分布。(错)6.阴影由两部分组成,本影 和半影,位于中间全黑的轮廓分明的部分称为 半影。(错)7.非理想镜面反射中,镜面反 射指数n模拟镜面反射光在空间的汇聚程度, n越大,表面越粗糙。(错)8.用光线跟踪法渲 染,自然完成物体消隐,不用事先消隐。(对) 9.环境映射的效果比光线跟踪好,计算量也小 很多。(错)10.利用连贯性和包围盒等技术可 以提高消隐算法的效率。(对)11.(不掌 握)OpenGL是一个与硬件无关的软件接口, 可在不同操作平台之间移植。(对)12.利用不 在同一直线上的多边形3个顶点求得两个矢 量,这两个矢量的点积垂直于多边行。(错)(叉 积垂直于多边形)13.(不掌握)OpenGL中的 视图交换是将视见体内投影的物体显示在二 维的视口平面上。(对)14.在Z缓冲器消隐算 法中,第一次消隐后,阴影缓冲器保存的是距 光源最近的物体表面上的深度值。(对) 1.灰度等级为16级,分辨率为1024×1024的 显示器,至少需要的帧缓存(A.512) 2.使用下面二维图形交换矩阵,产生交换结果 为(C.以Y=X作对称轴图形) 0 1 0 A.绕原点顺时针转90° T= 1 0 0 B.绕原点逆时针转90° 0 0 1 C.以Y=X作对称轴图形 D.以Y=‐X作对称轴图形 3.下述绕坐标原点逆时针转a角的坐标交换阵 阵错的是(A.‐cosa)|A B| A.‐cosa B.‐sina C.sina D.cosa |C D| 4.在多边形逐边裁剪法中,对于某多边形的边 (其方向是S‐>P)与某条裁剪线(即窗口的 一条边),比较有四种情况,分别输出一些顶 点,错误的是(C) A. s和p均在可视一侧,输出p B. s和p均 在不可见一侧,输出0个顶点 C. s在 可见,p在不可见,则输出s和sp的交点 D. s 在不可见,p可见,则输出sp和裁剪线的交点 和p 5.透视投影中,灭点最多(D.3) 8.关于平面几何投影,正确的论述为(B.平行 几何投影中能真实反应精确的尺寸和形状。) 9.关于深度缓存消隐算法(Z-Buffer)哪一条不 正确(C) A.需要开辟两个与图像大小相等的缓存数组 B.不能用于处理对透明物体的消隐 C.不能处理空间多边形的相贯与交叉重叠 D.不需要对多边形排序 10.在扫描转换多边形中,扫描线与多边形交点 计数(C) A.扫描线与多边形交于某顶点时,且为局部最 高点,计数2次。 B.扫描线与多边形交于某 顶点时,且为局部最高点,该点两个相邻边在 扫描线一侧,计0次C.扫描线与多边形交 于某顶点时,且为局部最高点,该点两个相邻 边在扫描线两侧,计1. D.扫描线与多边形 交于某顶点时,且为局部最低点,计2 11.关于光照模型,错误的论述为(B) A.光线跟踪算法是简单的光照模型 B.全光照 模型不仅考虑了直接光源且间接光源 C.简单 光照模型,不考虑直接和间接光源,忽略了光 在环境中传递 D.简单光照模型中,对于物体间 的光反射作用,只用一个环境光变量做近似 12.种子填充算中,正确的是(C) A.按扫描线的顺序进行像素点的填充 B.四连接算法可填八连接区域 C.最简单的……由于多重递归,费时,….效 率不高。 D.八连接算法不能填四连接区域 13.齐次坐标和坐标系,错误的是(A) A.齐次坐标的引入使交换具有统一模式,便于 交换合成。 B.齐次坐标的引入,增加实现难 度,不适合便件实现 C.使用局部齐次坐标, 简化了图形对象的描述 14.光线跟踪,下列哪一种情况不再跟踪(C) A.光线的光强度对于视点光强贡献很小 B.深度小于一定值。 C.遇到某一物体 D.未遇到背景。 15.画家算法,错误的是(C) A.原理最简单B.能处理相互序适面 C.属于物体空间和图像空间的消隐算法 D.关键是对物体按深度排序,建立优先级表 1. 叙述cohen‐sutherland裁剪算法的基本 思想。Cohen_Sutherland裁剪算法的基本思 想是:对于线段P1P2分为三种情况处理。(1) 若P1P2完全在窗口内,显示线段P1P2即“取” 该线段;(2)若P1P2明显在窗口外,丢弃该 线段P1P2;(3)若线段P1P2不满足上述两条 件,则把线段P1P2分为两部分,其中一段完

武汉大学计算机图形学复习整理

计算机图形学复习整理qfj_2011.1.16 一、图形设备、系统和应用 1、图形系统的组成 图形系统可定义为是计算机硬件、图形输入输出设备、计算机系统软件和图形软件的集合。 一个计算机图形系统起码应具有计算、存储、对话、输入、输出等5个功能。 2、颜色查找表P16 为避免帧缓存的增加,采用颜色查找表来提高灰度级别。帧缓存中数据为颜色查找的索引,颜色查找表必须有2N项,每一项具有W位字宽。当W大于N时,可有2W灰度等级,但每次只有2N个不同灰度等级可用。若要使用2N种以外的灰度等级,需改变颜色查找表中的内容。 1、标准化的作用(1)方便不同系统间的数据交换;(2)方便程序移植;(3)硬件隔离,实现图形 系统的硬件无关性。 2、图形标准的组成、分类 (1)面向图形设备标准:计算机图形元文件(CGM) ,(CRT,绘图仪,打印机,…);计算机图形接口(CGI) ,(设备驱动程序) (2)面向图形软件标准:官方标准(标准组织制定的标准):GKS(Graphical Kernel System) ,PHIGS(Programmer’s Hierarchical Interactive Graphics System) ,其它数据标准 工业标准(事实上的标准):SGI 等公司的OpenGL ,微软公司的DirectX ,Adobe 公司的PostScript 等等 (3)文件格式标准:基本图形转换规范(IGES );产品数据转换规范(STEP ) 1、用户接口的常用形式P130 (1)子程序库:这种形式的基本思想是选择一种合适的高级程序设计语言(如C,C++,Fortran等)作为主语言,用此主语言扩展一系列的过程或函数调用,用以实现有关的图形设计和处理。 GKS ,OpenGL 等 优点:使用方便、便于扩充、便于将用户自己编写的源程序或目标代码加入相应的子程序中,并且可以充分利用高级语言本身具有的功能。 不足:但需要用户熟悉某种通用程序设计语言,修改麻烦,不形象直观。 (2)专用语言:一般为解释性的语言。PostScript ,VRML 等 (3)交互命令:图形界面或命令行方式,进行人机交互。常用操作:增、删、改操作(常用三表结构实现) 2、输入控制 (1)请求方式(程序初始化设备,即输入设备的初始化是在应用程序中设置的。) 缺点:效率低,不能同时工作。 (2)取样方式(程序和设备同时工作) 优点:该模式不像请求模式那样要求用户有一明显的动作,它对连续的信息流输入比较方便,也可同时处理多个输入设备的输入信息。 缺点:当处理某一种输入耗费的时间较长时,可能会失掉某些输入信息。 (3)事件方式(设备初始化程序):输入设备和程序独立运行。 2、区域填充(边界的处理应注意的问题,活化边表算法,种子点,连通区域的 概念及其边界条件) (1)边界的处理应注意的问题

计算机图形学 opengl 文字显示

#include #include #include #pragma comment(linker, "/subsystem:console") using namespace std; void myReshape(GLsizei w,GLsizei h) { glViewport(0,0,w,h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); if(w<=h) glOrtho(-20.0,20.0,-20.0*(GLfloat)h/(GLfloat)w, 20.0*(GLfloat)h/(GLfloat)w,-50.0,50.0); else glOrtho(-20.0*(GLfloat)h/(GLfloat)w, 20.0*(GLfloat)h/(GLfloat)w,-20.0,20.0,-50.0,50.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void drawCNString(const char* str) { int len=0, i; wchar_t* wstring; HDC hDC = wglGetCurrentDC(); GLuint list = glGenLists(1); for(i=0; str[i]!='\0'; ++i) { if( IsDBCSLeadByte(str[i]) ) ++i; ++len; } wstring = (wchar_t*)malloc((len+1) * sizeof(wchar_t)); MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, str, -1, wstring, len); wstring[len] = L'\0'; for(i=0; i

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