声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 6176|回复: 6

[绘图技巧] 不规则图形轮廓提取以及压力云图的绘制问题?

[复制链接]
发表于 2010-8-27 13:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 ChaChing 于 2010-8-30 00:21 编辑

如题,
一个二维汽车声腔,要画出它的声压云图,由于是不规则图形,一直没有找到好的办法。
查到一个可以画出云图的程序,贴出来,大家探讨一下:

“matlab 中画不规则点的二维等值线图”
主要步骤:
主要思维,先把不规则点插值到规则的网格点上来,再用二维等值线画图函数画图
具体步骤:
NN=287;
fid=fopen(*:\*\*\PP.txt','r');  %前两列分别代表x,y坐标,第三列代表对应的声压值;
b=fscanf(fid,'%f%f',[3,NN]);
fclose(fid);
xg=b(1,:);yg=b(2,:),zg=b(3,:);
[x,y]=meshgrid(0:0.015:2.7,-0.7:0.01:0.4);
zz= griddata(b(1,:),b(2,:),b(3,:),x,y);
contour(x,y,zz)   就OK了
这里griddat的功能是将不规则的点插值到规则的网格点上去

======
用这个方法画出来的图,没有轮廓,如图

本程序得到的云图

本程序得到的云图

而实际的模型应该如图

模型实际声压分布

模型实际声压分布

******
如何才能把 轮廓提取出来?
附上文件 ‘PP.txt’
PP.txt (14.98 KB, 下载次数: 14)



tty.jpg
回复
分享到:

使用道具 举报

 楼主| 发表于 2010-8-27 14:16 | 显示全部楼层
或者可以先手动挑选出轮廓的坐标(这个很繁琐)
然后用 inpolygon 命令挑选出轮廓线内部的点,比如座椅内部的点,然后把内部区域涂白--
这个涂白有没有简洁的命令? 我还没找到,希望大家给点建议。

或者有没有其它软件,可以直接实现这些功能,免得在matlab里这么纠结。 谢谢大家

纠正个问题
zz= griddat(b(1,:),b(2,:),b(3,:),x,y);
应该是
zz= griddata(b(1,:),b(2,:),b(3,:),x,y);
 楼主| 发表于 2010-8-29 23:28 | 显示全部楼层
用Tecplot解决了该问题
大家可以参考
http://forum.vibunion.com/forum. ... from=home#pid479525

谢谢关注
赞tecplot强大的绘图功能

评分

1

查看全部评分

发表于 2010-11-20 15:14 | 显示全部楼层
学习了
发表于 2010-11-20 15:40 | 显示全部楼层
外部轮廓点提取参见convhull命令相关帮助

点评

贺,马老师来满5年了!  发表于 2010-11-20 19:52

评分

1

查看全部评分

发表于 2011-3-28 00:40 | 显示全部楼层
回复 5 # bainhome 的帖子

使用convhull命令好像也不能提取外部轮廓点??

点评

赞成: 5.0
To bainhome: 一开始我也以为可以!  发表于 2011-3-28 14:55
赞成: 5
好像是弄不了,前面没仔细看,sorry  发表于 2011-3-28 10:42
发表于 2013-8-30 20:35 | 显示全部楼层
学习下,看看
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-22 11:58 , Processed in 0.067546 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表