地学可视化与景观拟实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
地学可视化与景观拟实验报告 1、实验内容 首先利用OpenGL对给定的DEM数据进行三维可视化。然后在此实 验的基础上,实现利用键盘控制三维地形围绕地形的中心旋转,同时 实现按键缩放与平移。最后在此实验基础上,增加光源、材质等光照 效果,从而完成整个实验。 实验目的 如何转化并读入数据,了解OpenGL几何变换基本原理,掌握OpenGL 基本变换编程技能。了解光照基本原理与知识;练习使用OpenGL光 照函数,如glLight,glMaterial,glColorMaterial等函数。 2、 实验代码与分析 #pragma comment( lib,glu32.lib) #pragma comment( lib,glut32.lib) #pragma comment( lib,opengl32.lib) #define GLUT DISABLE ATEXIT HACK #includeGL/glut .h1/ 引入OpenGL工具库, glut .h头文件 #include stdlib .hI/调用stdlib .h ,该文件包含了的C语言标准库函 数的定义 #include stdio.h//提供有关标准输入输出的信息的信息 #include fstream//定义输入与输出流 #include string1/字符串变量 using namespace std; void init(void): void reshape(int w, int h); void display(void); void ReadData(char* fileName); void keyboard (unsigned char key, int x, int y); void DrawDEM(); #define NROW 473 #define NCOL 569 extern float xllcorner=0.0; extern float yllcorner=0.0; float DEMdata[NROW][NCOL]; float cellsize; int i j; static int angle=0; int a=0,b=0,z=1; int main(int argc, char** argv)//主函数 glutInit(argc,argv);//对GLUT进行初始化,处理所有命令行参数 glutInitDisplayMode(GLUT DOUBLEIGLUT RGB);//设定窗口 模式:双缓冲窗口IRGBA模式 glutInitWindowSize(800,600);//指定窗口大小 glutInitWindowPosition(0,0);//指定窗口左上角的屏幕位置 glutCreateWindow(argv[0]);//声明创建一个支持渲染的窗口 init();// 自定义初始化函数Init ReadData(dem.txt);//从d:\ldem.txt读取数据 glutDisplayFunc(display);//设置一个display 函数当需要进行画图 时就调用display 函数 glutReshapeFunc(reshape);//设置一个reshape 函数当初次建立窗口 或者窗口发生变化时就调用reshape函数 glutKeyboardFunc(keyboard);//调用键盘函数 glutMainLoop();//实际显示创建的那个窗口,启动程序(事件循环 函数) return 0; void init(void){ gIClearColor(0 .0,0 .0,0 .0,0 .0);//将窗口清为黑色 glShadeModel(GL SMOOTH);//设置平滑着色模式 GLfloat light position[]={0 .0,0 .0,1 .0,0 .0 };//设置光源位置 GLfloat light ambient[]={0 . 1,0 . 1,0 . 1,1 .0 };//设置材质的环境颜 色 GLfloat light diffuse[]={0 . 8,0 . 8,0 .0,1 .0 };//设置材质的散射颜色 GLfloat light specular[]={ 0 .2,0 .2,0 .2,1 .0 };//设置材质的镜面反 射颜色 GLfloat lmodel ambient[]={0. 1,0. 1,0. 1,1.0};/1全局环境光 glLightfv(GL LIGHTO,GL POSITION,light position); glLightfv(GL LIGHTO,GL AMBIENT,light ambient);

文档评论(0)

人生风雪客 + 关注
实名认证
文档贡献者

如果有遇到文件不清或断篇的或者需要转换文件格式的情况请联系我,会在第一时间帮你完成完整的文档。文档如有侵权,请及时告知,本人将尽快予以删除,谢谢啦。

1亿VIP精品文档

相关文档