当前位置:首页 > 中国矿业大学地学可视化与景观模拟实验报告
实验结果
实验体会
理解图元定义,并基于图元绘制各种复杂图形,理解各种图元定义函数
并能灵活运用。学习到了很多知识,非常不错的一次实验。
实验三/四/五 利用 OpenGL绘制三维地形
实验目的
利用 OpenGL 对给定的 DEM 数据进行三维可视化。
实验内容
分别做如下操作:
1) 用 ARCGIS 将 DEM.tif 转换为 ASCII 格式 2) 使用 C 语言将 DEM 数据读入 3) 显示地形
4) 使用投影变换、几何变换并设置各参数。 5) 通过 gluLookAt 改变默认视点位置 6) 增加光照效果,设置光源。
实验要求
每人提交一份实验报告(封面、实验目的、实验内容、实验步骤、实验结果、实验体会)。
实验步骤
Dem数据转换
编程将转换的数据载入
实验代码
#ifndef GLUT_DISABLE_ATEXIT_HACK #define GLUT_DISABLE_ATEXIT_HACK #endif
#include \#include
#pragma comment(lib,\#pragma comment(lib,\#pragma comment(lib,\void display(void); void init(void);
void reshape(int w, int h);
void keyboard(unsigned char key, int x, int y);
int dx = 0, dy = 0, bigger = 0, smaller = 0, MAX = 0; long ncols; long nrows;
long **data;//定义为全局变量,方便 display
调用
int main(int argc,char*argv[]) {
ifstream ifile(\为原始DEM数据经处理后得到的文本数据,可自己定义路径
data = (long
for (long j = 0; j data[j] = **)malloc(ncols*sizeof(long *)); string temp; double xllcorner, yllcorner, cellsize, ifile >> temp >> ncols; ifile >> temp >> nrows; ifile >> temp >> xllcorner; ifile >> temp >> yllcorner; ifile >> temp >> cellsize; ifile >> temp >> NODATA_value;// 读取 NODATA_value; 头文件数据 (long*)malloc(nrows*sizeof(long)); }//动态二维数组定义
共分享92篇相关文档