前言:此文为去年我替人做的一个课题,觉得比较简洁,图形也比较美观,因此放在博文里

数据源我放到了百度云盘高脚杯数据源

有兴趣的可以下载数据,跑程序试一下。也可以单独看看代码,看下实现过程。

  • 主函数
% xls_data=xlsread('data_more.xls');
% x=xls_data(1:3:end);
% y=xls_data(2:3:end+1);
% data=[x,y];
% save('data.mat','data');
clc,clear
load data.mat
x=data(:,2);
y=data(:,1);
yy=smooth(y);
figure
plot(yy,x,'.r');
axis equal
grid on
title('orig data');
%% 拟合
% xx=[min(x):0.1:max(x)]';
% fitsize=4;%拟合次数自己定义
% p=polyfit(x,y,fitsize);
% f=polyval(p,xx);
% figure
% plot(f,xx,'linewidth',2);
% axis equal
% grid on
% title('fit data')
%%
figure
[X,Y,Z] = cylinder(yy(end:-1:1));
[m,n]=size(X);
color=ones(m,n);
h=surf(X,Y,Z);
alpha(0.8)%设定透明度
CM=[1,0,1];
CM=repmat(CM,32,1);
colormap(CM);
lighting gouraud;camlight;shading interp
title('the model')
%%
% figure
% pcolor(X,Y,Z);shading interp%伪彩色图
% figure
% contourf(X,Y,Z) %等高线图
% view(3)
% figure,surf(X,Y,Z)%三维曲面 %% 曲线个数为20 slice图
figure
plot_hor(X,Y,Z,1,10,518,'m');
grid on
plot_hor(X,Y,Z,100,5,400,'m');
title('slice')
%% 骨架图 virtical and horizontal
figure
plot3(X,Y,Z,'linewidth',2,'color','b')
hold on
plot_hor(X,Y,Z,1,5,518,'b');
grid on
title('framework');
  • 被调用函数,用于绘制高脚杯骨架
function plot_hor(x,y,z,First1,Step1,End1,color)

for i=First1:Step1:End1
x_hor=x(i,1:21);y_hor=y(i,1:21);z_hor=z(i,1:21);
plot3(x_hor,y_hor,z_hor,'linewidth',2,'color',color);
hold on
end end
  • 大致结果如下:



Matlab 高脚杯模型切片的更多相关文章

  1. [原创] Matlab 指派问题模型代码

    指派问题的基本内容 一般来说指派问题解决的是如何将任务分配到人,使得任务完成的效益最大化(成本型效益则求最小值,利润型效益则求最大值).上述问题一个 0 - 1 整数规划问题. 问题围绕着任务和人展开 ...

  2. 通过three.js实现简易3D打印模型切片展示

    现在的页面展示要求越来越高,美的展示总能吸引更多的访客.最近在学习3D打印中的切片算法,刚刚入门,发现通过three.js框架可以很好展示出3D切片细节(虽然我做的比较简单). //========= ...

  3. 有关基于模型的设计(MBD)一些概念和理解(zz)

    http://www.matlabsky.com/thread-38774-1-1.html 本文转载于MathWorks中国高级工程师董淑成的帖子内容.为了方便阅读,对原文进行了重新整理编辑. 之前 ...

  4. Matlab的parfor并行编程

    Matlab的parfor并行编程 通常消耗最多计算资源的程序往往是循环. 把循环并行化.或者优化循环体中的代码是最经常使用的加快程序执行速度的思路. Matlab提供了parforkeyword,能 ...

  5. 【Matlab&Mathematica】对三维空间上的点进行椭圆拟合

    问题是这样:比如有一个地心惯性系的轨道,然后从轨道上取了几个点,问能不能根据这几个点把轨道还原了? 当然,如果知道轨道这几个点的速度的情况下,根据轨道六根数也是能计算轨道的,不过真近点角是随时间变动的 ...

  6. simulink创建简单模型

    创建简单模型 您可以使用 Simulink® 对系统建模,然后仿真该系统的动态行为.Simulink 允许您创建模块图,图中的各个连接模块代表系统的各个部分,信号代表这些模块之间的输入/输出关系.Si ...

  7. matlab中的实时音频

    音频系统工具箱™针对实时音频处理进行了优化.audioDeviceReader, audioDeviceWriter, audioPlayerRecorder, dsp.AudioFileReader ...

  8. MATLAB 音响系统工具箱

    音响系统工具箱 设计和测试音频处理系统 发行说明 pdf文档 音频系统工具箱™为音频处理系统的设计,仿真和桌面原型设计提供了算法和工具.它支持低延迟信号流式传输到音频接口,交互式参数调整以及数字音频工 ...

  9. matlab练习程序(水波特效)

    还记得原来写过一个对图像进行波纹扭曲操作的博文. 这次实现的是水波特效,其实就是通过正余弦函数表示波纹中心位置慢慢向外扩散,通过叠加衰减因子使振幅不断减小,进而产生水波的效果. 效果如下: 原图: 波 ...

随机推荐

  1. 01.SQLServer性能优化之----强大的文件组----分盘存储

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...

  2. 【翻译】MongoDB指南/CRUD操作(四)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...

  3. PowerDesigner-VBSrcipt-自动设置主键,外键名等(SQL Server)

    在PowerDesigner中的设计SQL Server 数据表时,要求通过vbScript脚本实现下面的功能: 主键:pk_TableName 外键:fk_TableName_ForeignKeyC ...

  4. CRL快速开发框架系列教程七(使用事务)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  5. VICA 架构设计(1)

    本文记录最近完成的一个通用实时通信客户端的架构.   背景 我们公司是做税务相关的软件,有针对大客户 MIS 系统,也有针对中小客户的 SaaS 平台.这些系统虽然都是 B/S 的,但是也需要使用 A ...

  6. 关键帧动画:@keyframes

    关键帧动画:@keyframes: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  7. Stack Overflow 排错翻译 - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder

    Stack Overflow 排错翻译  - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder 转自:ht ...

  8. T-SQL 拆分使用指定分隔符的字符串(split string)

    比如有一个表,我们需要些一个语句像SELECT OtherID, SplitData WHERE SomeID = 'abcdef-.......' , 然后就能返回分割成单独的行. 原表: | So ...

  9. BRDF 光照模型

    http://blog.csdn.net/liu_lin_xm/article/details/4846144

  10. sublime text 3 + python配置,完整搭建及常用插件安装

    四年的时间,一直使用EmEditor编辑器进行Python开发,之前是做面向过程,只需要将一个单独的py文件维护好即可,用着也挺顺手,但是最近在做面向对象的开发,不同的py文件中相互关联较多,感觉单纯 ...