.
地学分析与三维可视化实习报告一
XX:方志策 班级:064131 学号:20211003574
作业一、
任务一、利用对象图形法创立一个三维立方体,并将各顶点设置为不同的颜色。 IDL代码如下:
oWindow=OBJ_NEW('IDLgrWindow',dimension=[400,400])
;建立一个图像窗口,初始设置图像大小为400*400
oView=OBJ_NEW('IDLgrView',viewPlane_Rect=[-1,-1,3,3],zClip=[3,-3],eye=2)
word版
.
oModel=OBJ_NEW('IDLgrModel') ;创立多边形
oPoly=OBJ_NEW('IDLgrPolygon') oView.add,oModel&oModel.add,oPoly
verts=[[0,0,0],[1,0,0],[1,1,0],[0,1,0],[0,0,1],[1,0,1],[1,1,1],[0,1,1]]
;设置立方体顶点
connect=[4,0,1,2,3,4,0,1,5,4,4,1,2,6,5,4,2,3,7,6,4,3,0,4,7,4,4,5,6,7] ;将一个立方体各个定点依次标明,依次连接八个面构成一个闭合的立方体 oPoly.setproperty,data=verts,polygons=connect,style=1 oModel.rotate,[1,0,1],60 ;设置立体图像显示出来的角度为60度 oWindow.draw,oView
vertscolor=[[0,0,0],[1,0,0],[1,1,0],[0,1,0],[0,0,1],[1,0,1],[1,1,0],[0,1,1]]*255
;用RGB成像依次构造立方体各个部位的不同颜色
oPoly.setproperty,vert_color=vertscolor,style=2,shading=1 oWindow.draw,oView end
运行出来的结果如下列图:
word版
.
任务二、读取head.dat中的数据,进展体数据的显示,并实现切片提取操作。 IDL代码如下:
provolume
device,decomposed = 1
file = filepath('head.dat',subdirectory = ['examples','data']) ;读取体数据到volume数组
volume = read_binary(file,data_dims = [80,100,57]) ;利用XVolume交互显示数据
xvolume,volume,/interpolate
slice = extract_slice(volume,40,40,40,50,28,30,0,0) window,0,xsize = 40,ysize = 40 tv,slice
;显示垂直切片
window,1,xsize = 100,ysize = 57 tv,volume[23,*,*]
window,2,xsize = 80,ysize = 57 tv,volume[*,20,*]
;显示水平切片
window,3,xsize = 80,ysize = 100 tv,volume[*,*,20] end
显示结果如下
word版