怎么模拟圆盘里面的DLA模型

 时间:2024-11-02 08:18:56

DLA生长模型,是非常漂亮的,比如冬天窗户玻璃上的冰花,就是这么生长出来的。本文,写一个简单的DLA模型的基本思路。

怎么模拟圆盘里面的DLA模型

工具/原料

电脑

网络画板

方法/步骤

1、画一个单位圆。

怎么模拟圆盘里面的DLA模型

2、把DLA模型记为一组点的集合A,目前这个集合只有一个点,就是原点。

怎么模拟圆盘里面的DLA模型

3、在圆上随机选择一个点,记为B。这个点的选取方法很多,这里采用的方法是绘制极坐标点,噍祧鲚歇极角是random(0,2*pi*m/m),极径是1其中m是大于0的变量。

怎么模拟圆盘里面的DLA模型

4、连接射线OB;以O为圆心作半径为r的圆,其中r是介于0到0.01之间的实数;这个圆与射线OB交于C。现在,DLA模型点集A多了一个新成员——点C。

怎么模拟圆盘里面的DLA模型

5、由于半径r太小,看起来C和O挤一起去了;放大图形,可以发现,O和C之间还是有一定距离;连接线段OC。

怎么模拟圆盘里面的DLA模型

6、然后在单位圆上随机取第二个点,记为D;从现在的点集A里面,找一个距离D最近的点垓矗梅吒x(如果O和C到D的距离相等,选择C为x);以x为圆心作半径为r的圆芟坳葩津,作射线xD,圆与射线xD交于E。但是,上述过程并不真正去作图,而是使用迭代来执行这个过程:构造变量m;计算m0=m+1;进行迭代变换,O→B,m→m0,迭代深度为m。由于网络画板目前难以实现最近点的寻找,所以这个课件搁浅了。下图是一个假的DLA模型图。

怎么模拟圆盘里面的DLA模型

Matlab中怎么进行多行注释和取消多行注释? MATLAB如何实现一维/二维插值拉和格朗日插值? Mathematica基础——ContourPlot的选项(续) oppoencoair怎么暂停 怎么对数据进行离散的Fourier变换?
热门搜索
小学生美女图片 精装修图片 大红包搞笑图片 图片变文字 八虎动漫网