一:Dragon绘制实例(三维扫描的绘制)
三维扫描主要用于对物体空间外形结构以及色彩进行扫描,用以获得物体表面的空间坐标,
他的主要意义在于能够将实物的立体信息转换为计算机能够直接处理的数据信号,为实物的数字化提供了相对方便快捷的手段,
因此,三维扫描为工业建模,文物保存,虚拟空间构建都起到了非常重要的作用。
提取文件
import tarfile,os
#读取tar压缩文件
dragon_tar_file= tarfile.open("dragon_recon.tar.gz")try:
os.mkdir("dragon_data")
except:
pass
dragon_tar_file.extractall("dragon_data")
dragon_tar_file.close()
文件路径拼接
import os
dragon_ply_file= os.path.join("dragon_data","dragon_recon","dragon_vrip.ply")
.ply是一个很通用的三维扫描格式Polygon File Format--->也叫作Stanford Triangle Format 用来存储三维扫描结果的三维数值通过多边形面片集合来描述三维物体 分辨率极高
对.ply文件进行三维可视化
import os,shutil,tarfilefrommayavi import mlab
#读取tar压缩文件
dragon_tar_file= tarfile.open("dragon_recon.tar.gz")try:
os.mkdir("dragon_data")
except:
pass
dragon_tar_file.extractall("dragon_data")
dragon_tar_file.close()
dragon_ply_file= os.path.join("dragon_data","dragon_recon","dragon_vrip.ply")
mlab.pipeline.surface(mlab.pipeline.open(dragon_ply_file))
mlab.show()
shutil.rmtree("dragon_data")
二:Canyon地形可视化实例
hgt(height File Format)他是存储在航天,飞机,雷达,地形,测绘任务格式的数据文件,数据中包含空隙,数据丢失部分
import zipfile
import numpyasnpfrommayavi import mlab
hgt= zipfile.ZipFile("N36W113.hgt.zip").read("N36W113.hgt")
#处理地形数据
data= np.fromstring(hgt,">i2") #构建整数型数据,相当于2*8的16位数组