下载后可任意编辑 C 语言游戏模型(飞机)编程实现 用 C 语言编写一个有关飞机的小游戏,首先要解决游戏中主要元素:飞机模型的屏幕绘图。是绘二维平面图还是绘三维立体图?下面用三维立体图绘制它,如下图所示: 图 1、飞机模型图 图 2、飞机模型图上面两幅图是在 VC6 中用 OpenGL 函数绘制的屏幕三维飞机模型,它的表面数据用双二次 Nurbs 曲面生成。-、光(光照)在屏幕上绘制的三维图形,要用光照亮它同而产生明暗变化,才能使绘制的图形更能真实地再现要生成的物体。在 OpenGL 函数里有专门用于光照的函数,只要调用它们就能还原一个真实的模似三维世界。下载后可任意编辑二、Nurbs 曲面 生成曲面的一种算法,这里主要用的是双二次曲面。程序中飞机机身的设计基本上是一个圆柱体。用 7 个顶点表示的一个正方形利用 NURBS 二次圆弧构成一个整圆,描绘圆柱体的外形数据。下面是一个双二次 NURBS 曲面和曲线的算法源程序:#include "gl\gl.h"#include "math.h"//*-*-*-*-*-*-*-*-*-*-*-*-*-*-* B 样条基函数计算部分*-*-*-*-*-*-*-*-*-*-*-*-*-*//计算所有非零 B 样条基函数并返回其值//i 为参数 u 所在的节点区间下标void BasisFunction(int i,int p,float u,float U[],float N[]){ int j,di,dp,k;float tul,tur,left,right;float tmpN[50][50];for(k=0;k<=p;k++){dp=0;for(di=i+p-k;di>=i-k;di--){if(u>=U[di]&&u