Mathematica中文论坛-非官方

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 9965|回复: 0
打印 上一主题 下一主题

豆粑粑,matab 我画你个饼 ,3D等值面

[复制链接]

532

主题

602

帖子

3027

积分

论坛元老

Rank: 8Rank: 8

积分
3027
跳转到指定楼层
楼主
发表于 2018-1-16 14:02:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 meatball1982 于 2018-1-16 14:04 编辑

之前,陌生女人的提问,
解答过程中觉得思路还不错(当时是在车上,临时的一个小程序。
今天,突然想到可以用patch的方法画各个3D的等值面。
效果,还不错。



  1. clear all
  2. clc
  3. clf

  4. %% outline
  5. % plot BING
  6. % contact meatball1982@163.com
  7. % if u really, really got problem with this m file.


  8. %% main
  9. % generate data
  10. [x,y,z]=peaks(100);
  11. % get the contour line
  12. [C,h]=contour(x,y,z,18);

  13. % get the structure, close the contour
  14. S=contourdata(C);
  15. clf


  16. %% plot BING
  17. for i = 1: length(S)
  18.     s_lev(i,1)=S(i).level;
  19. end

  20. tm_s = unique(s_lev);
  21. n_col = length(tm_s);
  22. [loca,locb]=ismember(s_lev,tm_s); % get the lin color position in col_mm
  23. col_mm=jet(n_col);

  24. %% outplut
  25. % the normal one
  26. subplot(1,2,1)
  27. surf(x,y,z,'edgecolor','none')
  28. colormap(col_mm)
  29. view(-20,20)
  30. axis tight
  31. colorbar
  32. % grace BING plot
  33. subplot(1,2,2)
  34. hold on
  35. for i = 1:length(S)
  36.     x_lin = S(i).xdata;
  37.     y_lin = S(i).ydata;
  38.     z_va  = S(i).level;
  39.     z_lin = z_va.*ones(size(x_lin));
  40.     alp_va = abs(z_va./max(abs(z(:))))/2+0.5;
  41. %     h=patch(x_lin,y_lin,z_lin,col_mm(locb(i),:),...
  42. %                                          'edgecolor',col_mm(locb(i),:)); % no transpancy
  43.     h=patch(x_lin,y_lin,z_lin,col_mm(locb(i),:),...
  44.                                           'edgecolor',col_mm(locb(i),:),...
  45.                                           'facealpha',alp_va); % transpancy
  46. end
  47. axis tight
  48. view(-20,20)
  49. grid on
复制代码



work_plot_BING.tar.gz

1.31 KB, 下载次数: 4

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Mathematica中文论坛-非官方 ( 辽ICP备16001491号-1

GMT+8, 2024-4-24 09:50 , Processed in 0.128034 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表