本示例对人体股骨的3D模型进行加载并渲染,展示了MATLAB的一些高级图形处理特点,包括照明和镜面反射。

立体光刻(STL)文件是一种用于存储网格数据的通用格式,STL网格只是三角形面的集合。这种类型的模型非常适合与MATLAB的PATCH图形对象一起使用。

% Import an STL mesh, returning a PATCH-compatible face-vertex structure

fv = stlread(‘femur.stl’);

用PATCH图形对象渲染模型。我们还添加了一些动态照明,并调整材料属性以改变镜面强调照射的效果。

patch(fv,‘FaceColor’, [0.8 0.8 1.0], …

'EdgeColor', 'none', ...

'FaceLighting', 'gouraud', ...

'AmbientStrength', 0.15);

% Add a camera light, and tone down the specular highlighting

camlight(‘headlight’);

material(‘dull’);

% Fix the axes scaling, and set a nice view angle

axis(‘image’);

view([-135 35]);

部分MATLAB代码:

function varargout = stlread(file)

% STLREAD imports geometry from an STL file into MATLAB.

% FV = STLREAD(FILENAME) imports triangular faces from the ASCII or binary

% STL file idicated by FILENAME, and returns the patch struct FV, with fields

% ‘faces’ and ‘vertices’.

%

% [F,V] = STLREAD(FILENAME) returns the faces F and vertices V separately.

%

% [F,V,N] = STLREAD(FILENAME) also returns the face normal vectors.

%

% The faces and vertices are arranged in the format used by the PATCH plot

% object.

% Copyright 2011 The MathWorks, Inc.

if ~exist(file,'file')

error(['File ''%s'' not found. If the file is not on MATLAB''s path' ...

', be sure to specify the full path to the file.'], file);

end

fid = fopen(file,'r');

if ~isempty(ferror(fid))

error(lasterror); %#ok

end

M = fread(fid,inf,'uint8=>uint8');

fclose(fid);

[f,v,n] = stlbinary(M);

完整MATLAB下载地址:

http://page2.dfpan.com/fs/8lcj9221e291b6ce395/

更多精彩文章请关注微信号:

matlab读入stl文件,【源码】二进制立体光刻文件(STL)的MATLAB读取函数stlread相关推荐

  1. java调用第三方dll文件 源码_C++调用python文件(包含第三方库)

    本文内容主要参考以下两篇文章: 武军:C++中调用python(VS2017)​zhuanlan.zhihu.com C++调用python的那些坑(详细教程步骤)_giser_xupf的博客-CSD ...

  2. php下载apk文件源码下载,PHP_php下载文件源代码(强制任意文件格式下载),一个简单的php文件下载源代码 - phpStudy...

    php下载文件源代码(强制任意文件格式下载) 一个简单的php文件下载源代码,虽不支持断点续传等,但是可以满足一些常用的需求了.php下载文件其实用一个a标签就能实现,比如 magento-1.8.1 ...

  3. Matlab制作局部放大图——magnify源码

    Matlab制作局部放大图--magnify源码 写论文时会遇到需要用matlab做局部放大图的问题,好在matlab给出了magnify局部放大函数.下面是我做的一个小例子. 步骤: 1.先将mag ...

  4. Python源码剖析[16] —— Pyc文件解析

    Python源码剖析[16] -- Pyc文件解析 2008-02-28 18:29:55|  分类: Python |举报 |字号 订阅 Python源码剖析 --Pyc文件解析 本文作者: Rob ...

  5. php并发取源码,PHP读取大文件源码示例-Swoole多进程读取大文件

    PHP读取大文件源码示例,通过PHP读取过大.超大型文件的思路及解决方案. 在日常读取文件时,若文件 不是很大,通常使用file_get_contents,将内容一次性载入的变量中,也可以远程加载网页 ...

  6. [转载]MATLAB技术论坛【源码交流】汇总

    原文地址:MATLAB技术论坛[源码交流]汇总 作者:风雪夜归人 过已知三点做圆MATLAB源代码 http://www.matlabsky.com/thread-290-1-1.html 椭圆(圆) ...

  7. matlab 圣诞树,基于matlab编程圣诞树图源码程序

    基于matlab编程圣诞树图源码程序 所属分类:其他 开发工具:matlab 文件大小:147KB 下载次数:3 上传日期:2020-12-22 06:24:11 上 传 者:hlayumi 说明:  ...

  8. 万字长文炸裂!手撕 STL 迭代器源码与 traits 编程技法

    大家好,我是小贺. 1. 前言 天下大事,必作于细. 源码之前,了无秘密. 上一篇,我们剖析了 STL 空间配置器,这一篇文章,我们来学习下 STL 迭代器以及背后的 traits 编程技法. 在 S ...

  9. Hhadoop-2.7.0中HDFS写文件源码分析(二):客户端实现(1)

    一.综述 HDFS写文件是整个Hadoop中最为复杂的流程之一,它涉及到HDFS中NameNode.DataNode.DFSClient等众多角色的分工与合作. 首先上一段代码,客户端是如何写文件的: ...

  10. 汇编 debug调试没有执行对应文件源码指令---》失灵---》正确使用debug第一步

    汇编 debug调试时 没有执行 对应文件源码指令 果然不认真听课就是这样 把调试命令 debug test.exe 错误写成 debug test.asm 并一直使用多达两周时长 我真是个人才Σ( ...

最新文章

  1. Linux安全基础:shell及一些基础命令
  2. Windows下的for
  3. docker_File 执行报错总结
  4. java日历表打印_Java打印日历表
  5. springmvc返回数据中文乱码
  6. list操作 rediscluster_Redis集群批量操作
  7. python list append tuple_Python之list、tuple、dict、set
  8. c语言加花指令,花指令的应用
  9. 易语言 网页用什么编码_Plessey条码用的什么编码方式?
  10. 纯java程序意味着什么_Java到底是不是一种纯面向对象语言?
  11. flash player 11 相关资源
  12. 好险!一入职,就遇到MySQL这么大Bug!差点背锅走人~
  13. 操作系统笔记(含王道计算机考研——操作系统课件)
  14. 外企程序员常用英语单词
  15. 电商系统如何实现订单超时自动取消?
  16. [转载]Word 插入脚注后分节符自动变成分页符解决办法
  17. python 爬取http://www.weather.com.cn/中国主要城市周边城市的天气
  18. [DAX] SUM函数 | SUMX函数
  19. 51单片机智能家居环境检测 烟雾温度GSM短信提示报警器(原理图+程序+仿真+PCB)
  20. 十三、JavaScript ajax请求

热门文章

  1. Kafka学习之broker配置(0.8.1版)(转)
  2. 学以致用------韩顺平老师说(如果不能学以致用,那就是白费。等于没学。贪多嚼不烂。)---无内容...
  3. ABAP 内表(internal table) 标题行(header line) 工作区(work area) 简介 - [SAP]
  4. 5.TCP/IP 详解卷1 ---RARP:逆地址解析协议
  5. E - Alignment
  6. Gin Web框架简单介绍
  7. 数据库事物 jdbc事物 spring事物 隔离级别:脏幻不可重复读
  8. The host '192.168.174.130' is unreachable. the host may be down..............
  9. 【openjudge】字符串排序
  10. 使用jQuery插件filtrify实现的超酷动态标签分类摩托车新款展示