较早之前也写过楼梯算法,大家可以到这里去查阅下《grasshopper参数化楼梯》,比较两者之间的不同之处,两个都能很快速的创建楼梯。今天分享的这个grasshopper楼梯生成的算法我个人觉得更加的快速,消耗资源更少,原因是这次的算法生成的楼梯都是直接生成点,在串联点生成楼梯轮廓的,在grasshopper中点这种对象并不是一种实体(显示在画面点的标示还是会占用显卡资源,但是不多),点仅仅是一种数据形态,也就是说点只是由XYZ三个坐标构成的,仅仅是数据的话,那计算当然是快的了。
先看看这个楼梯效果图,可以看到楼梯都是点构成的。
算法详解
先定义楼梯踏步的长宽高和数量,让我们创建的这个楼梯具有可控制参数,高度等值传入 Series中生成等差数列,这个踏步的等高值就创建好了,这里要注意的有两个值,我这里称之为踏步根部点和踏步顶点。等高值输入Construct Point(构建点运算器)生成一系列的点。
第二步,这里是对点做些添加和删减的操作
1.Shift运算器是偏移作用,如果从最后的点往前面偏移布尔值为false时,删除最后一个点,
2.List Length统计点的数量,输出数量值减去1,后面连接List Item刚好可以选择到最后一个点,再把这个点沿着曲线镜像,那这个点就跑到楼梯的下面去了,当然这个步骤可以用别的方法代替。
第三步,串联做好的曲线
算法文件下载