欢迎您访问云南自考网!  今天是
当前位置: 网站首页 > 串讲笔记 >

冲刺2018年10月云南自考《电脑动画》练习题(4)

2018-10-16 16:06来源:云南自考网
  编程
  1、OpenGL设置材质要求:RGBA值为(0.8,0.0,0.8,1.0)是一种紫色,将材质的环境反射光和漫反射光色设置为紫色。写出实现代码。
  答:
  GLfloat mat_ambient[]={0.8,0.0,0.8,1.0};
  GLfloat mat_diffuse[]={0.8,0.0,0.8,1.0};
  glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);
  glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
  2、OpenGL中,如果程序要设置光源的漫反射光为蓝色,则实现代码应为。
  答:GLfloat light_diffuse[]={0.0,0.0,1.0,1.0};
  glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);
  3、编程实现旋转的茶壶效果,要求写出详细的操作步骤,写出OnDraw和OnTimer函数中的关键代码。
  答:1、操作步骤:
  ①定义全局变量m_angle:float m_angle=0.0f;
  ②在Ondraw函数中画茶壶语句auxWireTeaport(2.0)之前添加旋转变化语句;
  ③在Oncreate函数体内最后“return 0”之前添加SetTimer(1.33,NULL);
  ④在OnDestory函数体内最后添加KillTimer(1);
  ⑤添加OnTimer函数。
  OnDraw函数:
  glRotated(m_angle,0.0,0.0,1.0);
  auxWireTeapot(2.0);
  OnTimer函数:
  m_angle=m_angle+10.0;
  Invalidate();
  5、写出基于颜色的图像插值算法。P116
  输入:原始图像A和目标图像B,以及参数t∈[0,1],要求图像A和B具有相同的宽度和高度。
  输出:参数t所对应的中间帧图像。
  步骤1:对于初始图像A的每一个像素位置,依次执行下面的各个步骤:
  步骤1.1:获取初始图像在该位置的颜色值(R0,G0,B0);
  步骤1.2:获取在目标图像相同对应位置上的颜色值(R1,G1,B1)。
  步骤1.3:将(R0,G0,B0)、(R1,G1,B1)和参数t代入公式R(t)=(1-t)R0+tR1
  G(t)=(1-t)G0+tG1
  B(t)=(1-t)B0+tB1
  得到颜色值(R(t),G(t),B(t));
  步骤1.4:将中间帧图像在相同对应位置上的颜色值设为(R(t),G(t),B(t))。
  步骤2:返回中间帧图像。
上一篇:冲刺2018年10月云南自考《电脑动画》练习题(3)

下一篇:冲刺2018年10月云南自考《电脑动画》练习题(5)