计算机图形学 课程实验报告
实验名称 真实感图形绘制
一、实验目的
1.掌握光照模型的编程应用
2.能够编程模拟实现简单的太阳系
1. 用不同的着色和光照参数绘制茶壶:
i. 线框模型的茶壶
ii. 没有光照的固定颜色的茶壶
iii. 只有环境光,采用单一颜色的茶壶
iv. 只有环境光和漫反射光,采用Gouraud插值着色的茶壶
v. 有环境光、漫反射光和镜面高光,采用Gouraud插值着色的茶壶
vi. 有环境光、漫反射光和镜面高光,采用Phone插值着色的茶壶
2. 模拟简单的太阳系,太阳在中心,地球每365天绕太阳转一周,月球每年绕地球转12周。另外,地球每天24个小时绕它自己的轴旋转。
二、实验环境
1.codeblocks-17.12
2.Windows10 SDK 10.0.17134.0
三、实验内容
1茶壶绘制
1.1问题重述
用不同的着色和光照参数绘制茶壶:
i. 线框模型的茶壶
ii. 没有光照的固定颜色的茶壶
iii. 只有环境光,采用单一颜色的茶壶
iv. 只有环境光和漫反射光,采用Gouraud插值着色的茶壶
v. 有环境光、漫反射光和镜面高光,采用Gouraud插值着色的茶壶
vi. 有环境光、漫反射光和镜面高光,采用Phone插值着色的茶壶
2.2实验结果
i. 线框模型的茶壶
ii. 没有光照的固定颜色的茶壶
iii. 只有环境光,采用单一颜色的茶壶
iv. 只有环境光和漫反射光,采用Gouraud插值着色的茶壶
v. 有环境光、漫反射光和镜面高光,采用Gouraud插值着色的茶壶
vi. 有环境光、漫反射光和镜面高光,采用Phone插值着色的茶壶
2.模拟太阳系
2.1问题重述
模拟简单的太阳系,太阳在中心,地球每365天绕太阳转一周,月球每年绕地球转12周。另外,地球每天24个小时绕它自己的轴旋转。
2.2运行结果
三、源代码
1.
#include<windows.h>
#include <GL/glut.h>
#include <stdio.h>
GLfloat d = 0.1;
GLfloat translateX = 0, translateY = 0;
int halfLength = 20;
GLfloat ratio;
class Point{
public:
GLfloat x, y, z;
Point(GLfloat x = 0.0, GLfloat y = 0.0, GLfloat z = 0.0){
this->x = x;
this->y = y;
this->z = z;
&