查看: 342|回復: 5|關注: 0
打印 上一主題 下一主題

奇迹觉醒v5炼狱祭坛: [已解決] mesh繪圖顏色設置與曲面交點顯示

[復制鏈接]

新手

9 麥片

財富積分


奇迹觉醒女神之光 www.mhotr.icu 050


3

主題

9

帖子

0

最佳答案
  • 關注者: 1
跳轉到指定樓層
1#
我需要把三個mesh繪圖俺的曲面放在一個坐標系內,并且將三個曲面分別設置為三個不同三個的純色顯示,然后在圖中標記出曲面的交點,請大家幫我看看怎么做。貼上源程序。
np=0:100;nd=0:100;ca=5;
[np,nd]=meshgrid(np,nd);
Pp2=1000+1.1.*nd+0.8.*(np-1);
Pd2=1000+np+0.6.*(nd-1);
Pp1=(2078.88+120+1106.6/6-(31/30).*np+0.62.*nd)./2;
Pd1=(2125.4+200+2991/55-0.775.*nd+(31/55).*np)./2;

Ua1=Pp1.*np-ca.*(np+nd);
Ua2=Pd1.*nd-ca.*(np+nd);
Ua3=(Pp2-ca).*np+(Pd2-ca).*nd;
mesh(np,nd,Ua1,'FaceColor',[1,1,0]);
>> hold on;
>> mesh(np,nd,Ua2,'FaceColor',[1,0,0]);
>> hold on;
>>mesh(np,nd,Ua3,'FaceColor',[0,0,1]);

新手

9 麥片

財富積分


050


3

主題

9

帖子

0

最佳答案
  • 關注者: 1
2#
 樓主| 發表于 2019-5-26 15:08:30 | 只看該作者
顏色我已經設置好了,但是還是不會標記交點,還望賜教

論壇優秀回答者

5

主題

1462

帖子

409

最佳答案
  • 關注者: 121
3#
發表于 2019-5-26 15:50:35 | 只看該作者 |此回復為最佳答案

交線參考我以前的回復
  1. www.ilovematlab.cn/thread-548359-1-1.html
復制代碼



  1. h1 = surf(np,nd,Ua1,'FaceColor',[1,1,0],'FaceAlpha',1,'FaceAlpha',0.7,'MeshStyle','default','EdgeColor','k','EdgeAlpha',0.6,...
  2.     'AlignVertexCenters','on','LineStyle','-','LineWidth',0.8); hold on;
  3. h2 = surf(np,nd,Ua2,'FaceColor',[1,0,0],'FaceAlpha',1,'FaceAlpha',0.7,'MeshStyle','default','EdgeColor','k','EdgeAlpha',0.6,...
  4.     'AlignVertexCenters','on','LineStyle','-','LineWidth',0.8); hold on;
  5. h3 = surf(np,nd,Ua3,'FaceColor',[0,0,1],'FaceAlpha',1,'FaceAlpha',0.7,'MeshStyle','default','EdgeColor','k','EdgeAlpha',0.6,...
  6.     'AlignVertexCenters','on','LineStyle','-','LineWidth',0.8);
  7. zdiff01 = Ua1 - Ua2;
  8. C01 = contours(np,nd,zdiff01,[0 0]);
  9. xline01 = C01(1,2:end);
  10. yline01 = C01(2,2:end);
  11. zline01 = interp2(np,nd,Ua1,xline01,yline01);
  12. zdiff02 = Ua1 - Ua3;
  13. C02 = contours(np,nd,zdiff02,[0 0]);
  14. xline02 = C02(1,2:end);
  15. yline02 = C02(2,2:end);
  16. zline02 = interp2(np,nd,Ua1,xline02,yline02);
  17. zdiff03 = Ua2 - Ua3;
  18. C03 = contours(np,nd,zdiff03,[0 0]);
  19. xline03 = C03(1,2:end);
  20. yline03 = C03(2,2:end);
  21. zline03 = interp2(np,nd,Ua2,xline03,yline03);
  22. l1 = plot3(xline01,yline01,zline01,'g-','LineWidth',3);
  23. l2 = plot3(xline02,yline02,zline02,'c-','LineWidth',3);
  24. l3 = plot3(xline03,yline03,zline03,'k-','LineWidth',3);
  25. legend([h1 h2 h3 l1 l2 l3],{'Surface01','Surface02','Surface03','Intersection01','Intersection02','Intersection03'},'Location','SoutheastOutside');
復制代碼




新手

9 麥片

財富積分


050


3

主題

9

帖子

0

最佳答案
  • 關注者: 1
4#
 樓主| 發表于 2019-5-26 15:52:20 | 只看該作者
收到,感謝您的回復,認真學習一下,非常感謝您的幫助。

論壇優秀回答者

5

主題

1462

帖子

409

最佳答案
  • 關注者: 121
5#
發表于 2019-5-26 15:57:19 | 只看該作者
sharmz 發表于 2019-5-26 03:52
收到,感謝您的回復,認真學習一下,非常感謝您的幫助。

不客氣,請記得把我的答復選為最佳答案

新手

9 麥片

財富積分


050


3

主題

9

帖子

0

最佳答案
  • 關注者: 1
6#
 樓主| 發表于 2019-5-27 14:47:38 | 只看該作者
TouAkira 發表于 2019-5-26 15:57
不客氣,請記得把我的答復選為最佳答案

再請教您一個問題,subplot可以在一個figure里面畫多個坐標系,有沒有類似submesh這種的,在一個figure里面畫多個mesh圖呢
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關閉

站長推薦上一條 /4 下一條

快速回復 奇迹觉醒女神之光 返回列表