欢迎来到天天文库
浏览记录
ID:9299019
大小:848.05 KB
页数:20页
时间:2018-04-27
《opengl所有作业简述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一次——绘制简单图像直线、圆...第二次——基于OpenGL的地图绘制#include头文件#include#include#includeusingnamespacestd;classMapPoint{自己定义的类public:doublelongitude;//经度doublelatitude;//纬度};classPolygon{定义多边形的函数,起容器的作用public:vectorPoints;//多边形的顶点序列};vectorpolys;//多边
2、形集合vectorReadMapData(char*filename)//文件名{intPointCount;//计算点的个数vectorPolygons;ifstreamfs(filename);//寻找filename文件是否为空while(fs.eof()!=true){Polygon*poly=newPolygon;//定点个数fs>>PointCount;//定点个数赋值给fs读入数据cout<3、/地图名fs>>p.longitude>>p.latitude;poly->Points.push_back(p);}Polygons.push_back(poly);}returnPolygons;}voiddisplay(void){glClear(GL_COLOR_BUFFER_BIT);//用蓝色绘制各省边界glColor3f(0.0,0.0,1.0);//设置正面为填充模式glPolygonMode(GL_BACK,GL_LINE);for(inti=0;iPoints=polys[i]->Poi4、nts;绘图函数glBegin(GL_LINE_LOOP);//使用闭合曲线方式绘制各省边界for(intj=0;j5、行单位化glOrtho(108.0,120.0,30.0,38.0,-2.0,2.0);//构造平行投影矩阵,注意坐标的位置}intmain(intargc,char**argv)//主函数{char*filename="F:/HenanCounty.txt";//文件名与文件目录对应polys=ReadMapData(filename);//读定义的文件给ploysglutInit(&argc,argv);//初始化初始化、创建窗口(标题、位置、大小)、指示显示窗口的内容;glutInitDisplayMode(GLUT_RGB6、GLUT_SINGLE);//单存缓和RGB7、glutInitWindowPosition(100,100);//窗口位置glutInitWindowSize(450,450);//窗口大小glutCreateWindow("hello");//窗口标题init();glutDisplayFunc(display);//设置一个函数,当需要画图时,调用该函数glutMainLoop();//进行消息循环return0;}第三次——OpenGL几何变换编程#include#include#includeGLsizeiwinWidth=600,winHeight=608、0;//初始化窗口大小对称坐标系GLfloatywcMin=-200.0,xwcMax=400.0;//设置世界坐标系的显示范围GLfloatxwcMin=-200.0,ywcMax=400.0;voidinit(void)//初始化{glClearColor(1.0,1.0,1.0,0.0);//设置显示窗口的背景颜色为白色}classwcpt3D自己定义的类{public:GLfloatx,y,z;};voidrotate3D(wcpt3DP1,wcpt3Dp2,GLfloatthetaDegree
3、/地图名fs>>p.longitude>>p.latitude;poly->Points.push_back(p);}Polygons.push_back(poly);}returnPolygons;}voiddisplay(void){glClear(GL_COLOR_BUFFER_BIT);//用蓝色绘制各省边界glColor3f(0.0,0.0,1.0);//设置正面为填充模式glPolygonMode(GL_BACK,GL_LINE);for(inti=0;iPoints=polys[i]->Poi
4、nts;绘图函数glBegin(GL_LINE_LOOP);//使用闭合曲线方式绘制各省边界for(intj=0;j5、行单位化glOrtho(108.0,120.0,30.0,38.0,-2.0,2.0);//构造平行投影矩阵,注意坐标的位置}intmain(intargc,char**argv)//主函数{char*filename="F:/HenanCounty.txt";//文件名与文件目录对应polys=ReadMapData(filename);//读定义的文件给ploysglutInit(&argc,argv);//初始化初始化、创建窗口(标题、位置、大小)、指示显示窗口的内容;glutInitDisplayMode(GLUT_RGB6、GLUT_SINGLE);//单存缓和RGB7、glutInitWindowPosition(100,100);//窗口位置glutInitWindowSize(450,450);//窗口大小glutCreateWindow("hello");//窗口标题init();glutDisplayFunc(display);//设置一个函数,当需要画图时,调用该函数glutMainLoop();//进行消息循环return0;}第三次——OpenGL几何变换编程#include#include#includeGLsizeiwinWidth=600,winHeight=608、0;//初始化窗口大小对称坐标系GLfloatywcMin=-200.0,xwcMax=400.0;//设置世界坐标系的显示范围GLfloatxwcMin=-200.0,ywcMax=400.0;voidinit(void)//初始化{glClearColor(1.0,1.0,1.0,0.0);//设置显示窗口的背景颜色为白色}classwcpt3D自己定义的类{public:GLfloatx,y,z;};voidrotate3D(wcpt3DP1,wcpt3Dp2,GLfloatthetaDegree
5、行单位化glOrtho(108.0,120.0,30.0,38.0,-2.0,2.0);//构造平行投影矩阵,注意坐标的位置}intmain(intargc,char**argv)//主函数{char*filename="F:/HenanCounty.txt";//文件名与文件目录对应polys=ReadMapData(filename);//读定义的文件给ploysglutInit(&argc,argv);//初始化初始化、创建窗口(标题、位置、大小)、指示显示窗口的内容;glutInitDisplayMode(GLUT_RGB
6、GLUT_SINGLE);//单存缓和RGB
7、glutInitWindowPosition(100,100);//窗口位置glutInitWindowSize(450,450);//窗口大小glutCreateWindow("hello");//窗口标题init();glutDisplayFunc(display);//设置一个函数,当需要画图时,调用该函数glutMainLoop();//进行消息循环return0;}第三次——OpenGL几何变换编程#include#include#includeGLsizeiwinWidth=600,winHeight=60
8、0;//初始化窗口大小对称坐标系GLfloatywcMin=-200.0,xwcMax=400.0;//设置世界坐标系的显示范围GLfloatxwcMin=-200.0,ywcMax=400.0;voidinit(void)//初始化{glClearColor(1.0,1.0,1.0,0.0);//设置显示窗口的背景颜色为白色}classwcpt3D自己定义的类{public:GLfloatx,y,z;};voidrotate3D(wcpt3DP1,wcpt3Dp2,GLfloatthetaDegree
此文档下载收益归作者所有