找回密码
 注册
Simdroid-非首页
查看: 944|回复: 16

[E. 单元/节点] 请教有没有高人做过voronoi网格划分?!

[复制链接]
发表于 2005-3-12 11:03:16 | 显示全部楼层 |阅读模式 来自 大连理工大学
或者能提供一点相关的信息也不胜感激,谢谢~
发表于 2005-7-15 03:56:44 | 显示全部楼层 来自 新疆乌鲁木齐

Re:请教有没有高人做过voronoi网格划分?!

Simdroid开发平台
该种划分在MATLAB中可以实现,与楼主所想不知是否一致:
rand('state',5);
x = rand(1,10); y = rand(1,10);
voronoi(x,y)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

 楼主| 发表于 2005-7-15 07:43:53 | 显示全部楼层 来自 大连理工大学

Re:请教有没有高人做过voronoi网格划分?!

谢谢bainhome !
但是有没有办法将生成的Voronoi图的节点、单元信息提取下来呢?
发表于 2005-7-15 10:56:54 | 显示全部楼层 来自 新疆乌鲁木齐

Re:请教有没有高人做过voronoi网格划分?!

可以,这个是MATLAB帮助中的例子,不知是否是你所要的:
>> rand('state',5);
>> x = rand(1,10); y = rand(1,10);
>> [vx,vy] = voronoi(x,y)
vx =
  Columns 1 through 7
    0.8173    1.5380    1.1164    0.6609    0.6535    0.7670   -0.1078
    1.5380    1.1164    0.7670    1.1164    0.8173    0.6535    0.2766
  Columns 8 through 14
    0.6071    0.6535    1.0162    0.6609    0.3685    0.6071    0.2766
    0.7670   -0.1078    0.6609    0.6071    1.0162    0.5753    0.2992
  Columns 15 through 17
    0.2992    0.5753    0.3685
    0.3685    0.2766    0.5753
vy =
  Columns 1 through 7
    0.1379    0.5193    0.5161    0.9325    0.3842    0.4715    0.1040
    0.5193    0.5161    0.4715    0.5161    0.1379    0.3842    0.6278
  Columns 8 through 14
    0.8264    0.3842    2.2443    0.9325    0.9214    0.8264    0.6278
    0.4715    0.1040    0.9325    0.8264    2.2443    0.8145    0.8850
  Columns 15 through 17
    0.8850    0.8145    0.9214
    0.9214    0.6278    0.8145
plot(x,y,'r+',vx,vy,'b-'); axis equal
以下两个贴子介绍了一点有关的内容,也许可以参考:
http://www.simwe.com/forum/viewthread.php?tid=398063
http://www.simwe.com/forum/viewthread.php?tid=465768
 楼主| 发表于 2005-7-15 14:19:56 | 显示全部楼层 来自 大连理工大学

Re:请教有没有高人做过voronoi网格划分?!

谢谢bainhome 。这样子可以得到各个节点的坐标,还有一个问题就是:每个单元是有哪些节点构成的呢?在有限元中不仅要知道节点信息还有单元信息呀,有没有别的方法可以绕过这个问题也行?谢谢!
发表于 2005-7-15 20:50:04 | 显示全部楼层 来自 新疆乌鲁木齐

Re:请教有没有高人做过voronoi网格划分?!

可以做到,不用绕过这个问题,在MATLAB中与其他软件一样是按数据绘图的,能画出上面的图形,相应就有节点和单元的信息,我把帮助中的例子稍作修改,因为考虑到或者你没有接触这个软件,做得略微详细,如下:
function voronoi_plot
rand('state',5);
x = rand(1,10); y = rand(1,10);
[vx,vy] = voronoi(x,y);
plot(x,y,'r+',vx,vy,'b-'); axis equal
hold on
[v,c] = voronoin([x(:) y(:)]);
for i=1:length(v)
    plot(v(i,1),v(i,2),'ko')
end
axis equal
save voronoi_info.mat
说明:你要的节点信息存储在由voronoin命令返回的向量v中,节点的索引信息存储于元胞数组c中,所有在程序中出现的数据保存于mat文件voronoi_info.mat中如图:

[ 本帖最后由 bainhome 于 2006-12-14 13:34 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2005-7-16 11:04:39 | 显示全部楼层 来自 大连理工大学

Re:请教有没有高人做过voronoi网格划分?!

通过这次生成Voronoi图对matalab功能的强大很是感慨,再次谢谢你bainhome !我自己根据你提供的操作了一下,很不错。但是当点数增多的之后,生成的voronoi单元节点有的能跑到很远的地方,如果要在指定的区域内生成,是不是需要自己写程序修正?
发表于 2005-7-16 22:39:06 | 显示全部楼层 来自 新疆乌鲁木齐

Re:请教有没有高人做过voronoi网格划分?!

将节点控制在某个区域感觉好像不行,这个应该是由voronoi随机生成网格的理论来控制...不过可以通过另外一种方法得到晶格种子所在的单元区域,一个从权的方式,^_^
function voronoi_plot
rand('state',5);
x = rand(1,80); y = rand(1,80);
% x = round(10*rand(1,30)); y=round(10*rand(1,30));
h=voronoi(x,y,'r');
set(h,'markerfacecolor','b');
set(h,'markeredgecolor','b');
set(h,'marker','*')
set(h,'linewidth',1.2)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2008-1-17 11:03:16 | 显示全部楼层 来自 江苏南京

bainhome版主,救命啊!

bainhome版主你好!我正在学习matlab,使用voronoi画图。向你请教一下:如何把把生成的voronoi图以.inp格式保存?急!急!急!迫切希望得到你的帮助!谢谢
回复 不支持

使用道具 举报

发表于 2008-1-17 11:09:54 | 显示全部楼层 来自 江苏南京

bainhome版主:

我就是用附件里的方式用matlab里的voronoi生成多晶体,保存成.inp格式,我再把它导入franc2d/L里进行下一步的裂纹扩展模拟!同时希望路过的哪位大侠指点一二,小妹不胜感激!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2008-1-21 21:28:48 | 显示全部楼层 来自 江苏南京
首先向bainhome版主道歉,对不起!
希望学过matlab的高手指点指点初学者:在matlab里对金相图进行处理,细化之后可否再对晶粒的晶界进行网格划分?如何把生成的voronoi图保存成.inp格式?这是个老问题了,一直没有解决。谢谢,非常感谢!
回复 不支持

使用道具 举报

发表于 2009-3-22 21:25:22 | 显示全部楼层 来自 江苏南京
好东西,收藏

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-9-29 23:49:33 | 显示全部楼层 来自 广东广州
高手们好,我现在已经用matlab的程序做好voronoi模型了   请问我怎么再将这些不规则的线导入到ansys中做前处理呢?
回复 不支持

使用道具 举报

发表于 2011-2-27 21:39:47 | 显示全部楼层 来自 清华大学
你好,有人可以解释一下rand('state',5)是什么意思吗?
回复 不支持

使用道具 举报

发表于 2011-4-8 21:25:14 | 显示全部楼层 来自 广东广州
那个是边界的问题,你可以先扩大区域生成,然后再截选你所要的区域 7# iwtry
回复 不支持

使用道具 举报

发表于 2011-4-14 14:10:32 | 显示全部楼层 来自 韩国
6# bainhome

请问bainhome版主。 么个顶点的坐标储存在向量V中,我如何按照每个细胞为一个整体,将数据储存在向量中?

还有另外一个问题, 如果求多边形的重心呢?
回复 不支持

使用道具 举报

发表于 2011-8-26 20:12:24 | 显示全部楼层 来自 哈尔滨工业大学一校区
回复 10# jianning
请问如何将voronoi保存成.inp格式,非常感谢!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-25 15:24 , Processed in 0.072595 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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