复杂形态钢结构设计培训班

首页 非解构-公众号 基于Grasshopper与Ghpython的平面节点排序程序

基于Grasshopper与Ghpython的平面节点排序程序

冒泡算法是一种较为简单的排序方法。

它重复地走访过要排序的元素列,一次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。

如图为一简单的基于python的冒泡算法程序。只需要两个循环,第一个循环遍历数组中的所有数据,第二个循环查找相邻数据是否需要交换。运算结果如下:

查看每一个循环过程中所产生的数据:

第一个循环,找到了一位数组中的最大值24,并放置于数组的最后一位。第二个循环找到了第二小的值23,并放置于倒数第二位。依次类推,即可得到一个从大到小排列的数组。

以上程序只针对于一维数组,那么,是否可以将这样的算法扩展至二维?是否可以对平面上的坐标点进行排序?

随机地在rhino中建立三十个点,并利用grasshopper以及ghpython依次按照节点顺序进行编号。如图所示节点的编号是随机地。

根据冒泡算法的原理,首先将节点在y轴上进行排序:

在这步操作完成后,得到所有点按照y坐标点大小排序的结果:

按着这个思路,是否可以对各个y轴相近的数据进行归类分组,然后对每个分组进行x向的排序?

此时,需要按照相邻节点y坐标间距的差值来对数据进行划分。如相邻节点y坐标差值大于10时,可分为两行。

数据分组完成后,对每一组数据按x坐标轴进行排序。

至此坐标点完成依照x和y轴的排序:

如下图为对一组较为凌乱的节点进行排序的结果:

转自:非解构-公众号

Grasshopper可视化编程初步

理查德·罗杰斯:建筑更像是用来融合社会、经济、人文和艺术的工具

钢木结构调研有感

居不可无竹!看看那些优雅又接地气的竹屋

YJK钢结构节点设计内力读取工具

关注我们

本文来自网络,不代表钢构人的立场,转载请注明出处。搜索工程类文章,就用钢构人网站。 https://www.ganggouren.com/2018/08/7197574c12/

钢结构地图

上一篇
下一篇

作者: ganggouren

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

17717621528

在线咨询: QQ交谈

邮箱: 1356745727@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部