本发明涉及竹林种植,特别涉及基于力学碰撞参数化算法的拟自然竹林种植设计方法。
背景技术:
1、随着人工智能、机器学习等技术的飞速发展,参数化设计正逐步走向智能化集成,设计师可以通过智能系统,自动优化设计方案,提高设计效率和质量。同时智能化集成也使得设计过程更加便捷,为设计师提供了更多可能性。
2、在制定种植区域的基础上,目前的主要种植设计方式主要是通过人工的方式选定竹林的规格、种植的间距、以及种植的平面形式。
3、现有的参数化技术主要应用于建筑设计、工业化设计等领域,但在景观设计领域从现有的专利申报和授权情况来看应用并不广泛。
4、因粗,如何适应园林竹林群组的平面布局方案实现自动生成和效果调整成为本领域技术人员亟需解决的技术问题。
技术实现思路
1、有鉴于现有技术的上述缺陷,本发明提供基于力学碰撞参数化算法的拟自然竹林种植设计方法,实现的目的是能够适应园林竹林群组的平面布局方案实现自动生成和效果调整。
2、为实现上述目的,本发明公开了基于力学碰撞参数化算法的拟自然竹林种植设计方法;其特征在于,包括如下步骤:
3、步骤1、生成待设计竹林的蓬数;
4、步骤2、生成所述待设计竹林在初始状态的单蓬竹子点位;
5、步骤3、对所有所述单蓬竹子点位进行随机抽稀;
6、步骤4、对进行随机抽稀后的所有所述单蓬竹子点位进行扰动;
7、步骤5、对每一所述单蓬竹子点位的单蓬竹子的大小进行划分;
8、步骤6、生成调整后最终模型。
9、优选的,步骤1具体如下:
10、步骤1.1、选定所述待设计竹林的具体种植区域;
11、步骤1.2、设定每一所述单蓬竹子的半径d;
12、步骤1.3、将所述具体种植区域的面积除以所述单蓬竹子的面积得到所述蓬数n。
13、更优选的,步骤2具体如下:
14、步骤2.1、调用populate2d函数,在所述待设计竹林的种植范围内随机生成n1个点位;在以每一所述点位为圆心生成n1个圆作为每一所述单蓬竹子的所在位置;
15、步骤2.2、调用bouncysolver函数,对所有所述圆和所述种植范围的边界进行耦合力学碰撞,通过多次迭代保证每两个相邻的所述圆之间,及所述边界与每一所述圆之间均互相排斥。
16、更优选的,步骤3具体如下:
17、步骤3.1、绘制竹林的外缘和中心稀疏区域;
18、步骤3.2、调用randomreduce函数,设置抽稀的竹子数量,对稀疏区域内的每一所述单蓬竹子的数量进行抽稀;
19、步骤3.3、设置randomreduce函数的随机种子seed,改变被进行所述抽稀的每一所述单蓬竹子的位置;
20、进行所述抽稀后的所有所述单蓬竹子的数量为n2。
21、更优选的,步骤4具体如下:
22、步骤4.1、对进行所述抽稀后的所有所述单蓬竹子进行扰动,设定每一所述单蓬竹子的扰动最大距离d1和扰动最小距离d2,并在所述扰动最大距离d1和所述扰动最小距离d2之间抽取n2个偏移距离数值;
23、步骤4.2、对应每一所述偏移距离数值随机生成相应的偏移角度θ;
24、步骤4.3、调用move函数将偏移角度和数值赋予每个所述单蓬竹子的点位进行扰动,形成更加自然的布局效果。
25、更优选的,步骤5具体如下:
26、步骤5.1、在每一所述单蓬竹子点位确定后,调用randomreduce函数,设定各个面积不同的所述单蓬竹子的数量比并进行随机划分;
27、步骤5.1、设置randomreduce函数的随机种子seed,改变各个面积不同的所述单蓬竹子的位置。
28、更优选的,步骤6具体如下:
29、步骤6.1、将完成各个面积不同的所述单蓬竹子的位置改变的结果导入到rhino软件平台;
30、步骤6.2、通过所述rhino软件平台导出cad格式的二维文件。
31、本发明的有益效果:
32、本发明利用智慧参数化设计技术,同时通过rhino平台及grasshopper语言编译实现智慧化算法并最终导出矢量化设计数据模型,理论上可完成大批量的不同类型和不同规格植物的参数种植设计。
33、以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
1.基于力学碰撞参数化算法的拟自然竹林种植设计方法;其特征在于,包括如下步骤:
2.根据权利要求1所述的基于力学碰撞参数化算法的拟自然竹林种植设计方法,其特征在于,步骤1具体如下:
3.根据权利要求2所述的基于力学碰撞参数化算法的拟自然竹林种植设计方法,其特征在于,步骤2具体如下:
4.根据权利要求3所述的基于力学碰撞参数化算法的拟自然竹林种植设计方法,其特征在于,步骤3具体如下:
5.根据权利要求4所述的基于力学碰撞参数化算法的拟自然竹林种植设计方法,其特征在于,步骤4具体如下:
6.根据权利要求5所述的基于力学碰撞参数化算法的拟自然竹林种植设计方法,其特征在于,步骤5具体如下:
7.根据权利要求6所述的基于力学碰撞参数化算法的拟自然竹林种植设计方法,其特征在于,步骤6具体如下:
