动漫设计开发师试题.docx
《动漫设计开发师试题.docx》由会员分享,可在线阅读,更多相关《动漫设计开发师试题.docx(8页珍藏版)》请在冰点文库上搜索。
动漫设计开发师
[填空题]1简述图形界面的Windows框架
参考答案:
Windows框架是我们在Windows系统下运行的程序必须的架构,由三个函数构成:
WinMain()程序入口,功能为定义一个Windows窗口的样式、大小等,并建立这个窗口;
MsgProc()窗口调用函数,在整个运行周期中随时对回调的函数所定义的外部事件(鼠标移动、点击窗口变化、键盘和其他函数发出的消息)做出反应;
GameLoop()消息循环,利用Windows的消息机制做成的主循环函数,它被程序反复执行,作用是侦听消息,有消息是返回Windows的消息链,没有消息时就执行OpenGL的图形处理Render()。
[填空题]2简述OpenGL的程序框架
参考答案:
OpenGL的基本框架由四个函数组成:
SetupPixelFormat(HDChDC)检测安装OpenGLInit(intWidth,intHeight)OpenGL视口进行变换CleanUp()清楚OpenGL的连接Render()OpenGL图形处理
[填空题]3简述OpenGL的构图形式
参考答案:
OpenGL的构图形式为,在函数对glBegin(TYPE),glEnd()之间给出图形的顶点坐标集。
连接定点的方式由glBegin中的类型决定。
基本形式如下:
GlBegin(TYPE);//连接各顶点的方式//图形的定点坐标集;
G.lEnd()
[填空题]4至少列举8种OpenGL构图类型
参考答案:
GL_POINTS单个顶点集GL_LINES多组双顶点线段GL_LINE_STRIP不闭合折线GL_LINE_LOOP闭合折线GL_POLYGON单个简单填充凸多边形
GL_TRAINGLES多组独立填充三角形
GL_QUADS
多组独立填充四边形
GL_TRAINGLE_STRIP线性连续填充三角形串
GL_TRANGLE_FAN扇形连续填充三角形串
GL_QUAD_STRIP连续填充四边形串
[填空题]5简述OpenGL中glPushMatrix()和glPopMatrix()函数的应用
参考答案:
GlPushMatrix()函数:
使用此函数就是要让OpenGL记住空间中当前的这个位置,以便经过一些变换后还能快速方便地回到此处位置。
GlPopMatrix()函数:
此函数通知OpenGL在访问过空间的其他位置之后,返回到原先记住的位置。
[填空题]6简述OpenGL中坐标变换的三个函数应用
参考答案:
平移:
glTranslatef(floatx,floaty,floatz);将该函数以下的图形在三维坐标中移动(x,y,z)旋转:
glRotatef(floatangle,floata,floaty,floatz);将该函数以下的图形在指定轴上旋转angle度缩放:
glScalef(floatx,floaty,floatz);x,y,z是沿三个轴向缩放的比例因子
[填空题]7OpenGL中,顶点在最终被绘制到屏幕上之前要经过哪3种类型的变换
参考答案:
视图变换:
设定视点的位置模型变换:
在场景中移动物体投影变换:
定义视体和裁剪平面
[填空题]8OpenGL试图通过哪4种光的组合来模拟真实世界的光照
参考答案:
环境光、散射光、镜面反射光、发射光
[填空题]10简述OpenGL中纹理映射的技术原理
参考答案:
纹理映射是一项技术,其能够将3D图形从一堆有颜色的三角形变成可以像照片一样具有真实感的场景。
究其本质,纹理就是些图案。
当纹理映射到一个多边形上时,纹理就随着多边形的变换而进行相应的变换。
[填空题]11解释纹理坐标的应用
参考答案:
如果对一个2D纹理加上一个坐标系,那么就可以确定其上的每一个点并对其进行操作,每一个点叫一个纹理坐标,通常以点(s,t)的形式表示。
当纹理映射应用于表面时,使用参数坐标(u,v)来定义其纹理在表面上的方向,u和v的取值在(0,1)的区间内,对于所进行纹理映射的表面,其上的坐标u和v的最大值和最小值决定了纹理映射的范围。
[填空题]12简述OpenGL中实现天空体常用的方法
参考答案:
天空盒:
用一个矩形方盒作为天空远景贴图的载体半球形天空模型
[填空题]13简述MD2关键帧动画模型的原理
参考答案:
MD2是一种关键帧关键帧动画模型。
所谓关键帧动画模型,就是构成模型的各个结构组件,按一定的时间序列进行位置移动、旋转,形成模型的整个动作变化序列。
[填空题]14简述MDL骨骼动画模型的原理
参考答案:
骨骼动画模型是形象模型为蒙皮,动作架构为骨骼而有机组成的3D动画。
其优势在于用线段代表动物的骨骼关节,动物的一切复杂动作是用数据量极小的线段在空间位置的变换来表示。
真正的优势还在于骨骼和形象模型是可以分离和重新组合的。
[填空题]15简述粒子系统的原理
参考答案:
基本原理是用大量的粒子对仿真对象的流体力学原理进行模拟。
粒子系统是多个独立元素或粒子的一个集合,每个粒子具有独立的属性,比如速度、颜色和生命周期等。
每个粒子主要以其自主的方式进行运动,在一个给定的粒子系统中的粒子通常共享一组公用的属性。
[填空题]16简述基于位置框的碰撞检测的基本原理
参考答案:
任何一个物体在场景中都有一个确定的位置、大小,可用一个位置框来表示。
当一个运行物体的位置框与另一个物体的位置框相遇或相交时,我们就说这两个物体发生了碰撞。
[填空题]17简述OpenGL颜色立方体模型
参考答案:
[填空题]18简述OpenGL状态机的概念
参考答案:
OpenGL状态机由几百个设置项组成,在要做的每一件与OpenGL有关的事件中都会发生作用,其影响着绘制的方方面面,有众多的状态函数用以控制状态机:
如glGet()函数用于查询状态机当前的设置。
[填空题]19OpenGL中如何实现点画线段
参考答案:
可以指定一个点画模式来绘制线段。
点画模式定义了一个掩膜,用以确定线段的哪些部分该绘制而哪些部分不绘制。
使用点画模式之前,需要调用带有GL_LINE_STRIPPLE参数的GlEnable()函数来启用此项性能。
然后,调用glLineStipple()函数设置点画模式,此函数定义如下:
VoidglLineStipple(Glintfactor,GLushortpattern);
Factor参数的默认值为1,其取值范围是1~256.他决定了点画模式中每一位在开始绘制下一位之前应该被重复绘制的次数。
Pattern参数指定了一个16bit的模式。
其中对于被设置为1的位,其相应的像素被绘制;而那些为0的,将不被绘制。
应该注意的是这些位是按照逆序来应用的,所以绘制线段时低位先被应用,然后依次应用较高的位。
[填空题]20简述OpenGL的两种投影变换
参考答案:
平行投影:
投影时所有物体无论它们相对于投影平面的距离远近,其在投影平面上的投影的大小比例保持不变。
投影平面可以被认为是对着3D世界的摄像镜头,所有可见的3D点都要投射到这个2D平面上。
可以分两步来完成:
第一步先要将投影平面变换到3D空间的xy平面上,第二步除去所有可见点的z项坐标信息。
透视投影:
基于物体相对于投影平面的距离来确定其投影大小的,其投影时,3D空间中物体的所有投射光线会聚于观察者的眼睛这一点。
其主要的思路就是确定反射光线与投影平面交点的位置,可以借助于一个透视变换矩阵来完成。
[填空题]21OpenGL三维场景中的二维平面树怎么实现
参考答案:
在一个矩形平面上贴一个树木的图片,让树的背景呈透明状态,并让这些平面树在我们旋转场景时也跟着一起旋转,使我们看到的都是看到的平面树的正面。
更多内容请访问《睦霖题库》微信公众号
[填空题]22简述基本图元的绘制
参考答案:
[填空题]23简单组合图形的绘制
参考答案:
用OpenGL基本图元和坐标变换来构造组合图形
[填空题]24坐标变换有哪些?
参考答案:
旋转:
glRotatef(floatangle,floatx,floatz);缩放:
glScalef(floatx,floaty,floatz);平移:
glTranslatef(floatx,floaty,floatz);
y,float
[填空题]25简述关于纹理映射
参考答案:
[填空题]26简述位图字符
参考答案:
a.设置显示列表的基准ID,因此要创建一个变量listBase:
[填空题]27简述关于灯光
参考答案:
[填空题]28简述显示列表
参考答案:
[填空题]29详细阐述基于非控制台的windows窗口界面应用程序框架包含框架中每一部分的功能,用到的数据结构,函数等。
参考答案:
[填空题]30详细描述OpenGL三维场景中添加光照效果的程序流程结构
参考答案:
[填空题]31地球自转、绕太阳公转的三维场景效果流程、关键代码
参考答案:
[填空题]32简述轮廓字体的程序流程结构
参考答案:
[填空题]33关于顶点数组
参考答案: