24小时热门版块排行榜    

查看: 898  |  回复: 17
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 wuqingming2003 的 50 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wuqingming2003

木虫 (小有名气)

[交流] 【求助】如何做一个由三个点确定的切面的等高线?

本人是matlab新手,现得到一组数据(在附件中),是一个40*40*40的空间内的各个点的强度值,现在想做由(26,26,26)、(20,20,20)和(38,10,22)三个点确定的平面的等高线分布图,请问如何做?
请将程序写的详细一点,万分感谢!

[ Last edited by wuqingming2003 on 2009-10-14 at 09:41 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

引用回帖:
Originally posted by wuqingming2003 at 2009-10-15 16:22:
非常感谢!按照你的方法,点共面的问题已经解决了,可我将后续的程序输入后并没有得到等高线的图,得到的图是下面的样子

请问是怎么回事?不好意识,我是新手,又要麻烦你了!

我想得到类似第二张图那样的结 ...

没明白啥意思,旋转一下看看。
7楼2009-10-15 18:38:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 18 个回答

hitzhang

木虫 (正式写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
wuqingming2003(金币+20,VIP+0):非常感谢,辛苦了!明天试试看,如果可以成功,50个金币全部赠送。 10-14 22:05
nono2009(金币+2,VIP+0):谢谢专家!麻烦再看一下此问题的进展。 10-15 13:37
引用回帖:
Originally posted by wuqingming2003 at 2009-10-14 09:25:
本人是matlab新手,现得到一组数据(在附件中),是一个40*40*40的空间内的各个点的强度值,现在想做由(26,26,26)、(20,20,20)和(38,10,22)三个点确定的平面的等高线分布图,请问如何做?
请将程序写的详细一点, ...

40*40*40的数组比较大,估计你的附件白贴了。

下面是一个例子,可供参考。


\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

生成一个数据
>> [x y z]=meshgrid(1:40);
>> C=sin((x.^2+y.^2+z)/20);

定义制定的斜面


1,三个点的坐标;
>> a=[20 20 20];
>> b=[26 26 26];
>> c=[38 10 22];

2,计算x-z平面与预制平面的夹角

>> der1=[0 1 0]; %x-z平面法相方向
>> der2=cross(b-a,c-a);%预制平面法向方向
>> der3=cross(der1,der2);%两平面交线方向
>> the=dot(der2,der1)/sqrt(sumsqr(der1)*sumsqr(der2));%两平面夹角


3,画出这两个平面,看看是不是落在那三个点上?

>> [xx zz]=meshgrid(-10:50);yy=ones(size(xx));
>> mesh(xx,yy,zz),hold on;hsp = mesh(xx,yy,zz);
>> rotate(hsp,der3,the*180/pi,[1 1 1])%旋转平面,如附件一
>> scatter3(20,20,20)
>> scatter3(26,26,26)
>> scatter3(38,10,22)


4,得到旋转后平面的数据
>> xd = get(hsp,'XData');
>> yd = get(hsp,'YData');
>> zd = get(hsp,'ZData');


5,画一下且过那三个点的等值线,如附件2

>> contourslice(x,y,z,C,xd,yd,zd)
>> hold on;
>> contourslice(x,y,z,C,[],1,[])
>> scatter3(20,20,20)
scatter3(26,26,26)
scatter3(38,10,22)

/////////////////////////////////////////////////////////////////////////////
2楼2009-10-14 19:16:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuqingming2003

木虫 (小有名气)

非常感谢你的回答,写的很详细,我明天试试看,再次感谢!
引用回帖:
Originally posted by hitzhang at 2009-10-14 19:16:



40*40*40的数组比较大,估计你的附件白贴了。

下面是一个例子,可供参考。


\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

生成一个数据
>> [x y z]=meshgrid(1:40);
>> C=sin(( ...

3楼2009-10-14 22:14:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuqingming2003

木虫 (小有名气)

nono2009(金币+0,VIP+0):建议PM或引用回复该帖,以便别人及时知道你的message! 10-15 13:36
我用你说的方法试了一下,出现了点问题,我把程序写在下面,麻烦帮我看看哪里出错了,谢谢!
[path,fn]=uigetfile('*.txt','Open');
fp=fopen([fn,path],'r');
head=fscanf(fp,'%s',4);
data=fscanf(fp,'%f',[4,40*40*40]);
fclose(fp);
x=reshape(data(1,,[40,40,40]);
y=reshape(data(2,,[40,40,40]);
z=reshape(data(3,,[40,40,40]);
C=reshape(data(4,,[40,40,40]);
>> a=[20 20 20];
>> b=[26 26 26];
>> c=[38 10 22];
>> der1=[0 1 0]; %x-z平面法相方向
>> der2=cross(b-a,c-a);%预制平面法向方向
>> der3=cross(der1,der2);%两平面交线方向
>> the=dot(der2,der1)/sqrt(sumsqr(der1)*sumsqr(der2));%两平面夹角
>> [xx zz]=meshgrid(-10:50);yy=ones(size(xx));
>> mesh(xx,yy,zz),hold on;hsp = mesh(xx,yy,zz);
>> rotate(hsp,der3,the*180/pi,[1 1 1])%旋转平面
>> scatter3(20,20,20)
>> scatter3(26,26,26)
>> scatter3(38,10,22)
这样得到的结果中旋转后的平面并没有经过这三个点,如附件中的图所示
引用回帖:
Originally posted by hitzhang at 2009-10-14 19:16:



40*40*40的数组比较大,估计你的附件白贴了。

下面是一个例子,可供参考。


\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

生成一个数据
>> [x y z]=meshgrid(1:40);
>> C=sin(( ...

4楼2009-10-15 12:12:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 4FFAWE8HcgUD 2026-08-29 4/200 2026-08-30 20:30 by hZiFeudZyoGR
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 zICmwzsBXjbN 2026-08-29 5/250 2026-08-30 20:08 by hZiFeudZyoGR
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 jCd0dEvKHShX 2026-08-29 5/250 2026-08-30 19:48 by hZiFeudZyoGR
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 jCd0dEvKHShX 2026-08-29 5/250 2026-08-30 19:46 by hZiFeudZyoGR
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 jCd0dEvKHShX 2026-08-29 6/300 2026-08-30 19:13 by hZiFeudZyoGR
[考研] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 G6APbkg8SA6w 2026-08-29 5/250 2026-08-30 18:40 by hZiFeudZyoGR
[论文投稿] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 gy1nBQXYQJqL 2026-08-29 5/250 2026-08-30 18:29 by hZiFeudZyoGR
[公派出国] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +5 gy1nBQXYQJqL 2026-08-29 5/250 2026-08-30 18:07 by hZiFeudZyoGR
[论文投稿] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 ASdOkHsho7FD 2026-08-28 6/300 2026-08-30 17:25 by hZiFeudZyoGR
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +7 ASdOkHsho7FD 2026-08-28 14/700 2026-08-30 17:01 by hZiFeudZyoGR
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 gy1nBQXYQJqL 2026-08-29 8/400 2026-08-30 12:03 by l0VvVHGBGRLv
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 ASdOkHsho7FD 2026-08-28 7/350 2026-08-30 06:10 by ZPa0EcMwuECS
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 ASdOkHsho7FD 2026-08-28 8/400 2026-08-30 05:48 by ZPa0EcMwuECS
[基金申请] 基金不中,共勉 +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by 火星超人xi
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
信息提示
请填处理意见