图片缩略图

表面发生器:人工随机粗糙表面

version 1.1.0.0 (7.27 KB) by 莫娜Mahboob Kanafi
生成具有不同分形(Hurst)参数的随机粗糙分形表面

2 k下载

更新2016年12月19日

查看许可协议

这个代码生成人工随机粗糙的各向同性表面。这些表面可用于模拟从工程表面的纳米特征到山脉、地形或景观的大规模地形的表面粗糙度或地形。该代码是基于通过分形模拟表面形貌/粗糙度。它使用傅立叶概念(特别是功率谱密度)产生表面。
曲面生成有两种选择,一种是生成的曲面有滚转区域,一种是没有滚转区域。如果您不熟悉滚转的概念,请参阅上传的图像以获得此代码。
对于代码,您需要5个输入(没有滚出区域),或者6个输入(包括滚出波向量)。这些输入:

1-均方根粗糙度(Rq),即表面高度的标准差(sigma σ)
2- Hurst指数(H),与表面形貌的分形维数D=3-H有关。例如,布朗表面粗糙度H= 0.5。参数H可以取0到1之间的值。
3- Lx,是x方向上最终形貌/图像的长度(可以取纳米到几百米的任意值)
4- m,即最终地形/图像x方向的像素数
5- n,即最终地形/图像在y方向上的像素数
6-(可选输入)qr,这是滚动波矢量(查看上传的图像的含义)

生成曲面的两个例子:

[z, PixelWidth, PSD] = artificial - surf(1e-2, 0.8, 0.1, 512, 512);
生成一个名为z的表面,标准差为1 cm, hurst指数为0.8(即分形维数为2.2),最终图像长度为10 cm。它生成一个在x和y方向上有512个数据点的正方形图像。最终分辨率(即像素宽度)等于Lx/m = 195.3微米。

[z, PixelWidth, PSD] = artificial - surf(1e- 3,0.8, 0.1, 1024, 512,1000);
生成一个名为z的表面,标准差为1mm, Hurst指数为0.8(即分形维数为2.2),最终图像长度为10 cm。它生成一个矩形图像,x方向1024个数据点,y方向512个数据点。该表面在qr = 1000 (1/m)处有一个滚转区域,这等于波长lambda_r = (2*pi)/qr = 6.3 mm。最终分辨率(即像素宽度)等于Lx/m = 97.7微米。

小贴士:
-通过增加m和n(在普通计算机上不要超过2048)或减少Lx,你可以生成更高分辨率的表面。

—表面由表面粗糙度功率谱生成。该数据存储在名为PSD的结构中。例如,如果有兴趣,您可以通过将PSD与在生成表面上应用功率谱方法得到的结果进行比较来检查分析:

径向平均表面粗糙度功率谱(PSD)
http://se.mathworks.com/matlabcentral/fileexchange/54297-radially-averaged-surface-roughness-power-spectrum--psd-

请让我知道,如果你有任何问题或有一个bug!

引用作为

Mona Mahboob Kanafi(2021)。表面发生器:人工随机粗糙表面(//www.tianjin-qmedu.com/matlabcentral/fileexchange/60817-surface-generator-artificial-randomly-rough-surfaces), MATLAB中央文件交换。检索