如何画非矩形域的曲面
整理老帖发现此帖http://forum.vibunion.com/forum/viewthread.php?tid=60064&highlight=这个想了下也搜索下, 怎好像没现成的!?
私心为自己日后搜索方便, 以新帖与大家分享!
水平有限, 仅有两个思路
1.仍使用矩形域, 但区域外使用nan取代, 但会有锯齿状
2.将矩形域座标转换下
举个简易例子, 不知是否有更好方式, 请高手指教!
clc; clear
= meshgrid(-2:.1:2, -2:.1:2);
Z1 = X1 .* exp(-X1.^2 - Y1.^2); surf(X1,Y1,Z1)
figure; Z3=Z1;
for ii=1:10
Z3(ii,1:11-ii)=nan; Z3(ii,32+ii:41)=nan;
Z3(42-ii,1:11-ii)=nan; Z3(42-ii,32+ii:41)=nan;
end; surf(X1,Y1,Z1)
figure;
= meshgrid((0:1/80:1)*2*pi,0:.1:2); = pol2cart(th,r);
Z2 = X2 .* exp(-X2.^2 - Y2.^2); surf(X2,Y2,Z2)
[ 本帖最后由 ChaChing 于 2010-8-3 00:59 编辑 ] 本帖最后由 ChaChing 于 2011-3-27 11:47 编辑
刚才发现有点贴错, 又没权限编辑了! 所有重发并完善下
注意仅是提供思路, 并非通用化(或许也可行, 只是...)
clc; clear; = meshgrid(-2:.1:2, -2:.1:2); Z1 = X1 .* exp(-X1.^2 - Y1.^2);
surf(X1,Y1,Z1)
Z2=Z1;
for ii=1:20, Z2(ii,1:21-ii)=nan; Z2(ii,22+ii:41)=nan; Z2(42-ii,1:21-ii)=nan; Z2(42-ii,22+ii:41)=nan; end;
surf(X1,Y1,Z2)
= meshgrid((0:1/80:1)*2*pi,0:.1:2); = pol2cart(th,r); Z3 = X3 .* exp(-X3.^2 - Y3.^2);
surf(X3,Y3,Z3)
哇,多好的帖子,怎么没人回复呢。但是可能不符合我的要求,我要画的三维曲线图的数据都是离散的,相互之间没关系的。 回复 3 # feier0mei0 的帖子
help griddata {:{39}:} 好帖子!
页:
[1]