24小时热门版块排行榜    

查看: 861  |  回复: 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的回帖

wuqingming2003

木虫 (小有名气)

★ ★ ★ ★ ★
nono2009(金币+5,VIP+0):很好的交流。欢迎常来仿真模拟版。 10-20 06:39
感谢你这几天的帮助!虽然我还是没有得到想要的结果,估计是和我的数据的C的提取有关,我自己试着去解决吧,就当是学习了,再次感谢!
引用回帖:
Originally posted by hitzhang at 2009-10-18 10:11:


试试这段程序,如果还不行,我也没辙了。
>> [x y z]=meshgrid(1:40);
>> C=sin((x.^2+y.^2+z)/20);
>> a=[20 20 20];
>> b=[26 26 26];
>> c= ...

18楼2009-10-19 23:31:46
已阅   回复此楼   关注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的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 为什么网上很多人说本周 12号出结果 +4 瞬息宇宙 2026-08-10 4/200 2026-08-11 02:02 by 旁观2020
[基金申请] 帮忙看看fileCode +4 wwncly 2026-08-10 8/400 2026-08-10 22:07 by demonstreets
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +3 Tide man 2026-08-10 3/150 2026-08-10 21:48 by GZUZM
[基金申请] FileCode能看出啥? +7 要乐观耀哥 2026-08-10 15/750 2026-08-10 19:29 by 要乐观耀哥
[基金申请] filecode +8 documentary 2026-08-10 8/400 2026-08-10 19:20 by loufangrui
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +10 yufeiwaner 2026-08-09 11/550 2026-08-10 18:47 by yufeiwaner
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 11/550 2026-08-10 17:09 by 六两废铜
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +14 Lanmanbaby 2026-08-09 22/1100 2026-08-10 14:57 by wwncly
[基金申请] 好奇怪的filecode +4 布布和一二 2026-08-08 5/250 2026-08-10 14:20 by 冰心玉壶晴
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
信息提示
请填处理意见