24小时热门版块排行榜    

查看: 2113  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

free0121

木虫 (著名写手)

[求助] 如何在MATLAB中插值求取中间截面(外轮廓线)

大家好,想向各位大侠请教一下:
如果知道一个物体的几个关键控制截面(外轮廓),如何通过插值得到中间的更多截面呢?每一个控制截面都是一个2维矩阵,表示截面上各点的X,Y坐标,每相邻两个控制截面之间是平稳光滑过渡的,即截面i逐渐沿Z轴变化到截面i+1,而且整个物体的外表面也是光滑的。如何通过这些已知的截面得到中间更多截面呢?
在MATLAB中需要用到哪些命令来处理呢?

谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
xiegangmai: 金币+3, 谢谢应助! 2012-08-16 22:53:26
free0121: 金币+10, ★★★★★最佳答案, 谢谢csgt0的热心帮助,很强大!在此之前自己用了另外的比较简单的命令来执行这样的插值求中间截面,但是写出的程序要麻烦一点,有时间再试下csgt0的这个办法。非常感谢!!! 2012-08-16 23:02:30
做了个例子,不知道行不行
思路是先将不同大小的截面(截面数组大小不同)插值成相同大小的数组,分别控制其xyz
然后对不同数组的的相同点所对应的xyz进行插值。
CODE:
clc
clear
[x1,y1]=meshgrid(-1:1);   %构建3*3截面的xy
[x2,y2]=meshgrid(-2:2);   %构建5*5截面的xy
[x3,y3]=meshgrid(-3:3);    %构建第3个截面的xy,7*7大小。
x11=x3/3;             %根据最大的截面来对最小的截面插值(-1:1之间),使得其也为7*7
y11=y3/3;
x22=x3*2/3;          %同上,同理在-2:2之间插值7个
y22=y3*2/3;
z1=[0,.5,1;0,.5,1;0,.5,1];             %3个截面的z值
z2=2*ones(5,5);
z3=4*ones(7,7);
z11=griddata(x1,y1,z1,x11,y11);          %前2个截面插值完之后的
z值
z22=griddata(x2,y2,z2,x22,y22);
surf(x1,y1,z1)                       %画出插值前截面
hold on
surf(x2,y2,z2)
hold on
surf(x3,y3,z3)
%通过上面构造,将3*3和5*5的截面插值成了7*7的数组。

for i=1:7
    for j=1:7
        x(i,j,:)=interp1(1:3,[x11(i,j),x22(i,j),x3(i,j)],1:.5:3);    %对每个数组对应位置垂直插值,将3个面插值成5个面。
        y(i,j,:)=interp1(1:3,[y11(i,j),y22(i,j),y3(i,j)],1:.5:3);
        z(i,j,:)=interp1(1:3,[z11(i,j),z22(i,j),z3(i,j)],1:.5:3);
    end
end
figure  %插值后画图
for m=1:5
    surf(x(:,:,m),y(:,:,m),z(:,:,m))
    hold on
end


插值前3个截面,每个截面的有效点数不同,分别为3*3,5*5,7*7



插值后5个截面,所有截面的有效点数相同,均为7*7

showmethemoney
5楼2012-08-16 11:41:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

free0121

木虫 (著名写手)

自己先支持一下,希望会的童鞋帮帮忙哦,先谢谢啦~~
2楼2012-08-09 21:36:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

【答案】应助回帖


感谢参与,应助指数 +1
xiegangmai: 金币+1, 谢谢参与! 2012-08-10 22:39:21
楼主可以试试help griddatan
3楼2012-08-10 16:30:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

free0121

木虫 (著名写手)

引用回帖:
3楼: Originally posted by change0618 at 2012-08-10 16:30:54
楼主可以试试help griddatan

谢谢你的建议,不过我好像用不了这类函数,比如像yi = griddatan(X,y,xi)这种形式的函数,我的已知项是各个截面的点,以及截面的Z值(所切的位置),根据这些信息,要寻找到不同的Z所对应的截面(X,Y).所以用这些函数时实际上我是希望给定一个z值,找到对应的点集合(二维截面)。

这种情况该如何处理呢?
4楼2012-08-11 23:44:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 267一志愿南京工业大学0817化工求调剂 +6 SUICHILD 2026-03-12 6/300 2026-03-17 09:24 by 雾散后相遇lc
[考研] 302求调剂 +8 负心者当诛 2026-03-11 8/400 2026-03-17 09:05 by 哦哦123
[考研] 材料专硕326求调剂 +5 墨煜姒莘 2026-03-15 5/250 2026-03-16 21:30 by 木瓜膏
[考研] 085601求调剂 +3 Du.11 2026-03-16 3/150 2026-03-16 20:42 by 无际的草原
[考研] 材料专硕306英一数二 +4 z1z2z3879 2026-03-16 6/300 2026-03-16 19:38 by z1z2z3879
[考研] 304求调剂 +5 素年祭语 2026-03-15 5/250 2026-03-16 17:00 by 我的船我的海
[考研] 0856求调剂 +3 刘梦微 2026-03-15 3/150 2026-03-16 10:00 by houyaoxu
[考研] 289求调剂 +4 这么名字咋样 2026-03-14 6/300 2026-03-14 18:58 by userper
[考研] 308 085701 四六级已过求调剂 +7 温乔乔乔乔 2026-03-12 14/700 2026-03-14 10:49 by JourneyLucky
[考研] b区环境工程求调剂 +4 Maps1 2026-03-10 6/300 2026-03-14 00:23 by JourneyLucky
[考研] 2026考研调剂+本科延边大学+山东大学+生物化学与分子生物学+有项目经验 +3 ccdsscjy 2026-03-10 3/150 2026-03-14 00:12 by JourneyLucky
[考研] 0703,333分求调剂 一志愿郑州大学-物理化学 +3 李魔女斗篷 2026-03-11 3/150 2026-03-13 22:24 by JourneyLucky
[考研] 304求调剂 +6 Mochaaaa 2026-03-12 7/350 2026-03-13 22:18 by 星空星月
[考研] 材料与化工求调剂一志愿 985 总分 295 +8 dream…… 2026-03-12 8/400 2026-03-13 22:17 by 星空星月
[考研] 281求调剂 +9 Koxui 2026-03-12 11/550 2026-03-13 20:50 by Koxui
[考研] 材料专硕350 求调剂 +4 王金科 2026-03-12 4/200 2026-03-13 16:02 by ruiyingmiao
[论文投稿] 投稿问题 5+4 星光灿烂xt 2026-03-12 6/300 2026-03-13 14:17 by god_tian
[考研] 420求调剂 +4 莫向外求11 2026-03-10 6/300 2026-03-12 14:41 by ruiyingmiao
[考研] 调剂 +5 呵唔哦豁 2026-03-10 5/250 2026-03-10 22:00 by 28375m
[考研] 求调剂材料专硕293 +6 段_(:з」∠)_ 2026-03-10 6/300 2026-03-10 18:22 by ms629
信息提示
请填处理意见