mhl516 发表于 2006-8-28 19:52

如何用离散点作出圆柱体的曲面图???

x=[49.9987
40.4444
15.457
-15.4434
-40.4497
-50.007
-40.4476
-15.4636
15.4482
40.4669
50.0022
49.9943
40.4553
15.4494
-15.4457
-40.4527
-49.9933
-40.4459
-15.4498
15.4494
40.4521
49.999
49.9996
40.4543
15.4469
-15.4595
-40.4509
-50.0036
-40.4509
-15.4465
15.4495
40.443
49.998
49.9993
40.4392
15.444
-15.4599
-40.4453
-50.0007
-40.4453
-15.4481
15.4532
40.4475
50.0014
49.9993
40.4472
15.4475
-15.4499
-40.4598
-50.0069
-40.4499
-15.4435
15.4527
40.4486
49.9998
];
y=[0.0004
29.3991
47.5525
47.5575
29.3889
-0.004
-29.3887
-47.5476
-47.5611
-29.3947
-0.001
0.0023
29.3846
47.5496
47.5496
29.3826
0.0052
-29.3849
-47.556
-47.5495
-29.3828
0.0016
0.0043
29.3899
47.5529
47.5525
29.3846
-0.0037
-29.3894
-47.5479
-47.5558
-29.3819
-0.0041
0.0032
29.3857
47.5485
47.5505
29.3904
0.0094
-29.3887
-47.5549
-47.5503
-29.3953
-0.0005
0.0022
29.3878
47.552
47.5537
29.3914
0.0084
-29.3793
-47.5493
-47.5594
-29.3874
-0.0028
];
z=[0
0
0
0
0
0
0
0
0
0
0
10
10
10
10
10
10
10
10
10
10
10
20
20
20
20
20
20
20
20
20
20
20
30
30
30
30
30
30
30
30
30
30
30
40
40
40
40
40
40
40
40
40
40
40
]
如何使用以上数据作出圆柱体的曲面图来,本来打算用极坐标,可好像z是rh和theta的函数才行吧?请高手指教(该数据作出的图应是圆柱)

mhl516 发表于 2006-8-28 19:57

插值画出来就行,不用曲面拟合,请高手指教??

多情清秋 发表于 2006-8-28 21:20

可以尝试一下griddata

mhl516 发表于 2006-8-28 21:33

校长,我刚才试了,画出的图形不是圆柱,本来离散点组成的是圆柱体,可一变成曲面就成了多面体,为什么呢?

mhl516 发表于 2006-8-29 09:09

哪位大哥能帮忙画出个圆柱体曲面图,谢谢啦

bainhome 发表于 2006-8-29 10:59

画任意坐标、任意位置处的圆柱体貌似比较困难,但是画底面圆心为坐标原点的圆柱体还是很简单的,用不着费这么大劲拟合。
function PlotConeShape
clc;
load Data.mat         %此处为你所给出的数据
=cylinder(50);
hss=surf(X,Y,40*Z);
set(gcf,'Menubar','none','Name','Cylinders','NumberTitle','off');
set(hss,'edgecolor','none','facecolor','r')
alpha(.5);
alphamap('rampdown');   
axis square

mhl516 发表于 2006-8-29 11:25

谢谢啦,我去试试

mhl516 发表于 2006-8-29 15:58

cylinder 是生成数据的啊,那我的数据好像都没用上啊?
我是这么做的:x=[...];y=[...];z=[...];rh=sqrt(x.^2+y.^2);
th=atan2(y,x);z=z;
zi=0:0.5:40;thi=-pi:pi/100:pi;
=meshgrid(zi,thi);
Rhi=griddata(th,z,rh,Thi,Zi);
= pol2cart(Thi,Rhi,Zi);
mesh(X,Y,Z);但结果少了一小部分,不知道怎么补全?再次麻烦大家给予指点

mhl516 发表于 2006-8-29 16:09

这个是圆柱体的图,少了一部分,好像是因为tan在此处的值为无穷的原因,不知道怎么补全,请大家帮忙,谢谢啦

mhl516 发表于 2006-8-29 16:42

虽然不明白为什么会有缺口,但我用另外一种插值方法(V4)得出了完整的图形,总算完成了,谢谢大家了:@)

toes 发表于 2006-8-29 20:30

en,值得学习。
页: [1]
查看完整版本: 如何用离散点作出圆柱体的曲面图???