matlab读取 .wrl 三维图像文件

1. wrl 文件

  • wrl(虚拟现实语言): wrl文件是一种虚拟现实文本格式文件。也是VRML的场景模型文件的扩展名。
  • wrl文件是纯ASCII文件,所以可以用文本编辑器打开和编辑。虽然这样,但是对于大型的3D文件。用纯手工的方法是不可取的。应该选择用三维软件(maya,max等)进行场景建模和输出。
  • 可通过SolidWorks制作导出
  • 可通过matlab打开可视化

例如scene.wrl 文件,其内容如下:

#VRML V2.0 utf8
Transform {children [DEF model1 Transform {children [DEF body1 Transform {translation -1 0 0children [DEF shape1 Shape {appearance Appearance {material Material {diffuseColor 1.0 1.0 0.0}}geometry Box {size 1.5 1.5 1.5}}]}]}DEF model2 Transform {children [DEF body2 Transform {translation 1 0 0children [DEF shape2 Shape {appearance Appearance {material Material {diffuseColor 1.0 1.0 0.0}}geometry Box {size 1.5 1.5 1.5}}]}]}]
}

2. matlab打开.wrl文件

%********************打开.wrl文件*************
vrsetpref('DefaultViewer', 'internalv5')
w = vrworld('scene.wrl');
open(w);
view(w);

3. matlab绘制wrl内的三维坐标点

txt格式打开.wrl文件,直接复制点集坐标到matlab代码中,并在每行坐标后边添加...

%绘制三维点
%%base_link
P=[ -0.075000 -0.100000 0.000000, -0.075000 -0.100000 0.570000, -0.075000 -0.075000 0.436008, -0.075000 -0.073559 0.421376, -0.075000 -0.073559 0.450639,...-0.075000 -0.069291 0.407306, -0.075000 -0.069291 0.464709, -0.075000 -0.062360 0.394340, -0.075000 -0.062360 0.477675, -0.075000 -0.053033 0.382975,...-0.075000 -0.053033 0.489041, -0.075000 -0.041668 0.373647, -0.075000 -0.041668 0.498368, -0.075000 -0.028701 0.366717, -0.075000 -0.028701 0.505299,...-0.075000 -0.014632 0.362449, -0.075000 -0.014632 0.509567, -0.075000 0.000000 0.361008, -0.075000 0.000000 0.511008, -0.075000 0.014632 0.362449,...-0.075000 0.014632 0.509567, -0.075000 0.028701 0.366717, -0.075000 0.028701 0.505299, -0.075000 0.041668 0.373647, -0.075000 0.041668 0.498368,...-0.075000 0.053033 0.382975, -0.075000 0.053033 0.489041, -0.075000 0.062360 0.394340, -0.075000 0.062360 0.477675, -0.075000 0.069291 0.407306,...-0.075000 0.069291 0.464709, -0.075000 0.073559 0.421376, -0.075000 0.073559 0.450639, -0.075000 0.075000 0.436008, -0.075000 0.100000 0.000000,...-0.075000 0.100000 0.570000, -0.025000 -0.075000 0.436008, -0.025000 -0.073559 0.421376, -0.025000 -0.073559 0.450639, -0.025000 -0.069291 0.407306,...-0.025000 -0.069291 0.464709, -0.025000 -0.062360 0.394340, -0.025000 -0.062360 0.477675, -0.025000 -0.053033 0.382975, -0.025000 -0.053033 0.489041,...-0.025000 -0.041668 0.373647, -0.025000 -0.041668 0.498368, -0.025000 -0.028701 0.366717, -0.025000 -0.028701 0.505299, -0.025000 -0.014632 0.362449,...-0.025000 -0.014632 0.509567, -0.025000 0.000000 0.361008, -0.025000 0.000000 0.436008, -0.025000 -0.000000 0.511008, -0.025000 0.014632 0.362449,...-0.025000 0.014632 0.509567, -0.025000 0.028701 0.366717, -0.025000 0.028701 0.505299, -0.025000 0.041668 0.373647, -0.025000 0.041668 0.498368,...-0.025000 0.053033 0.382975, -0.025000 0.053033 0.489041, -0.025000 0.062360 0.394340, -0.025000 0.062360 0.477675, -0.025000 0.069291 0.407306,...-0.025000 0.069291 0.464709, -0.025000 0.073559 0.421376, -0.025000 0.073559 0.450639, -0.025000 0.075000 0.436008, 0.075000 -0.100000 0.000000,...0.075000 -0.100000 0.570000, 0.075000 0.100000 0.000000, 0.075000 0.100000 0.570000 ]i=1
while i<length(P)scatter3(P(i),P(i+1),P(i+2));hold oni=i+3;
end

4. 对三维点进行空间旋转变换

%旋转矩阵:
%绕x\y\z轴旋转,输入弧度
function [R]=getR(a,flg)R=[]if(flg==0)R=[ 1  0  0;0  cos(a) -sin(a);0  sin(a)  cos(a)];elseif(flg==1)R=[ cos(a)  0  sin(a);0  1  0 ;-sin(a)  0  cos(a)];elseif(flg==2)R=[ cos(a) -sin(a)  0;sin(a)  cos(a)  0  ;0  0  1];end
end

接标题3中的点集格式如下计算:

rx=getR(-pi/2,0);
points0=points*rxry=getR(-pi/2,1);
points1=points*ryrz=getR(-pi/2,2)
points2=point*rz

【三维重建】之 matlab读取 .wrl 三维图像文件相关推荐

  1. 【三维人脸识别】matlab读取.wrl三维图像文件

    1.在matlab上读取.wrl文件的步骤: (并不需要额外安装工具) vrsetpref('DefaultViewer', 'internalv5') w = vrworld('xxx.wrl'); ...

  2. matlab读取grib三维数据,matlab读取grib2文件

    用matlab读取nc文件是简单的.但气象局的很多数据存储文件是grib2格式的.该如何读取呢?看了网上的众多方法,nctoolbox,read_grib都没有成功.最后投机取巧,用了36计中的瞒天过 ...

  3. matlab读取grib三维数据,Grib格式数据处理

    上次我们说到了如何,这次我们说一下如何使用python处理grib格式数据. Grib格式是一种应用于气象领域的简明数据格式,由世界气象组织进行标准化.通常用来存储历史气象数据.当前有3个版本的gri ...

  4. matlab读取医学图像MetaImage类型的.mha和.mhd文件

    0.简单说明: matlab读取DICOM医学图像文件的方式很简单直接,matlab自带dicomread函数. >> help dicomread dicomread - Read DI ...

  5. MATLAB读取TECPLOT笛卡尔网格三维流场数据

    基于笛卡尔网格的三维流动数值模拟,其流场信息可以通过tecplot格式进行输出,方便tecplot对流场进行可视化处理,但对数据进行在加工时,还是导入matlab中比较方便,那么对于一个tecplot ...

  6. matlab怎么输出图像文件夹,Matlab读取图片 显示和保存图像的相关操作

    当前有部份朋友还不清楚Matlab读取图片 显示和保存图像的操作,所以下面绿软吧就带来Matlab读取图片 显示和保存图像的相关操作,一起来看看吧! Matlab读取图片 显示和保存图像的相关操作 打 ...

  7. matlab读取/播放视频的函数(2)

    1.用matlab读取avi 视频(只能读一定压缩各式的avi 电影,这是因为avi视频文件的编码 有很多,而matlab只支持部分编码格式.可见 http://blog.csdn.net/IdoIw ...

  8. (医学三维重建)MATLAB体绘制算法:多层面重建(MPR)

    (医学三维重建)MATLAB体绘制算法:多层面重建(MPR) 算法原理 代码实现 测试结果 其他 by HPC_ZY 算法原理 体绘制中比较特殊的一种,因为它的输出是各种切面. 就好比用刀切开一个物体 ...

  9. (医学三维重建)MATLAB体绘制算法:最大密度投影(MIP)

    (医学三维重建)MATLAB体绘制算法:最大密度投影(MIP) 算法原理 代码实现 实验结果 其他 by HPC_ZY 算法原理 体绘制原理(大多数) 用一矩形屏幕正对三维模型,从屏幕投射出M*N条平 ...

最新文章

  1. 局部响应归一化LRN(Local Response Normalization)
  2. 和我一起学Windows Workflow Foundation(1)-----创建和调试一个WF实例(转)
  3. 信息系统项目管理师论文范文-干系人管理
  4. laravel+php+支付功能,laravel+微信支付源码
  5. 接口中也可以有方法了
  6. 为什么要使用React Hooks?(5分钟实例)
  7. 多个相同参数表单提交
  8. 存放在外存上的数据关机后_小鑫话题 | 惊了!关机后SSD会丢数据?
  9. Linux远程桌面服务VNC/XRDP/Xdmcp/SSH+X11转发及其在树莓派上的使用
  10. Java基础---接口的使用
  11. 如何快速看懂一家公司,判断出公司的价值?投资和创业的必备基础知识
  12. mock如何为空_如何 mock 数据
  13. java中的this.id_Java this关键字
  14. Emacs一个键绑定多个命令
  15. python用模块读取xml文件_Python之xml文档及配置文件处理(ElementTree模块、ConfigParser模块)...
  16. Linux下编写GT911触摸驱动
  17. 黑客突破防火墙常用的几种技术(转)
  18. 宏基掠夺者圣盾5000、圣盾3000 评测
  19. Jenkins-LADP认证管理员密码修改后导致Jenkins没法登陆
  20. 从零开始学USB(二十一、USB接口HID类设备(三)_报表描述符Global类)

热门文章

  1. 开放原子开源基金会副秘书长刘京娟:中国开源发展现状及趋势思考
  2. ubuntu9.04安装xmms
  3. 江苏大学 计算机网络 期末/考研复试 复习
  4. 学画画要什么地方开始学起?零基础的人!
  5. P2P担保的法律探析
  6. W51 - 999、电影评价数据的采集
  7. bootstrap调整Glyphicons图标大小
  8. win10系统无法连接xp工作组计算机,win10如何访问xp共享文件|win10访问xp共享文件的设置方法...
  9. 数据结构(C语言)多项式加减
  10. msgbox函数和msgbox语句