资源描述:
《地学信息三维可视化实习报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、地学信息三维可视化实习报告班级:姓名:学号:上交日期:2016.11.16实习一1.利用对象图形法创建一个三维立方体,并将各顶点设置为不同的颜色对象法是IDL5.0引入面向对象编程概念后出现的,面向对象的基础也就是对象类的使用。对象类允许编程者将数据和方法封装成一个包,称之为对象。一个对象类可以重复利用生成多个对象。IDL的三维坐标系使用的是右手笛卡尔坐标系,与MicrosoftDirect3D的左手坐标系相区别,示意图如下。程序:PROtriangularprismoWindow=OBJ_NEW('IDLgrWindow',dimension=[400
2、,400],retain=2)oView=OBJ_NEW('IDLgrView',viewPlane_Rect=[-1,-1,3,3],zClip=[2,-1],eye=10)oModel=OBJ_NEW('IDLgrModel');创建多边形oPoly=OBJ_NEW('IDLgrPolygon');设置对象层次体系结构oView->add,oModeloModel->add,oPoly;顶点坐标verts=[[0,0,0],[1,0,0],[0,1,0],[0,0,1]];顶点链接顺序connect=[3,0,1,2,3,0,2,3,3,0,1,3,
3、3,1,2,3];设置多边形顶点与链接关系,类型显示为线oPoly->setproperty,data=verts,polygons=connect,style=1;选择45°oModel->rotate,[-1,0,-1],45;绘制显示oWindow->draw,oView;设置立方体顶点颜色vertscolor=fix(randomu(undefinevar,3,4)*255)oPoly->setproperty,vert_color=vertsColoroWindow->draw,oView;设置立方体面显示,并渲染显示颜色oPoly->setp
4、roperty,shading=1,style=2oWindow->draw,oViewEND1.读取head.dat中的数据,进行体数据的显示,并实现切片提取操作iTools是IDL6.0以后版本提供的功能强大的交互式分析工具。IDL初学者可以利用这套智能工具快捷轻松地实现数据读入,数据分析和数据可视化,并且可以输出制作令人眩目的精美图形图像。有经验的IDL程序员使用它,可以减少程序开发工作量,甚至可以在iTools框架的基础上创建全新的可视化应用环境。打开iVolume,在Operations→Volume→ImagePlane中可以选择切片proh
5、eadfile='C:UserssiyuanDesktopIDL实习题第一次课数据head.dat'data=READ_BINARY(file,DATA_DIMS=[80,100,57])IVOLUME,dataend3.读取elev_t.jpg图像以及elevbin.dat中的DEM数据:l利用直接图形法显示DEM曲面l利用对象图形法创建曲面对象和纹理对象并进行叠加显示程序:protestdemfile='C:UserssiyuanDesktopIDL实习题第一次课数据elevbin.dat'dem=read_binary(
6、demfile,data_dims=[64,64])imagefile='C:UserssiyuanDesktopIDL实习题第一次课数据elev_t.jpg'read_jpeg,imagefile,imagedem=congrid(dem,128,128,/interp)device,decomposed=0,retain=2window,0,title='dem',xsize=800,ysize=600shade_surf,demomodel=obj_new('idlgrmodel')oview=obj_new('idlgrview')
7、osurface=obj_new('idlgrsurface',dem,style=2)oimage=obj_new('idlgrimage',image,interleave=0,/interpolate);计算归一化显示比例,并在各个方向平移-0.5,从而使图像居中osurface.getproperty,xrange=xr,yrange=yr,zrange=zrxs=norm_coord(xr)xs[0]=xs[0]-0.5ys=norm_coord(yr)ys[0]=ys[0]-0.5zs=norm_coord(zr)zs[0]=zs[0]-0.
8、5osurface.setproperty,xcoord_conv=xs,yco