感谢 兰犀艺数 授权本文于建筑小学堂转载,转载请联系原作者。 文章正文 ▼ 话说,兰亭君前两天在整理资料的时候, 发现当年大月月在群里发过的一张图, 是关于编程计算雨水路径的... 先po图上来给大家瞧瞧。 然后还发了一张它的代码图。 当时稚嫩的兰亭君含着崇拜的眼光, 默默地右键另存了下来,并保留至今... 如今大不同啦!!~ 兰亭君... 依然不会代码... 不过没关系, 作为GH分析动画爱好者, 怎么能放弃这个机会锻炼一下自己呢! 所以兰亭君就花了一个周末吭哧吭哧 用GH把这个分析动画模拟了出来, 哇哈哈哈哈~ 想知道怎么搞的嘛, 那就来仔细看看操作原理吧~ 首先可以先看看之前兰亭君讲过的几种 雨水路径的分析方法: 山地曲面/网格 汇水分析 丨 数据可视化专题〇五 山地(等高线)汇水分析 丨 数据可视化专题〇六 ◆ mesh线框版雨水路径分析解读 ◆ 这次与前几次不同的地方在于, 雨水点的行走路径都是在mesh的线框之上, 不是随意地在mesh表面流淌了。 至于优缺点嘛,自然也容易总结出来。 不过这次的做法相对前面几次都比较复杂, 也许...算是中高阶的一个案例吧。 兰亭君在这里只讲述思路和电池连法, 不再细讲每个电池的用法啦, 有需要了解电池用法的出门左拐, 请参阅前面两期汇水分析案例~ 思 路 解 析 Step. 1 雨水落点模拟为在每个三角网格的中心点上 Step. 2 雨水路径呢,是这样的步骤: 第一步,雨水点顺着mesh重力切线方向, 到达mesh边缘上的一点。 第二步,从这一点开始沿着mesh线框运动, 到达与其相邻的高程最低的那个顶点处。 如果还是不太清楚的, 来看看红框内的放大解析。 Step. 3 雨水最终的聚集点 当一次一次迭代去找下一个邻近点的时候, 最终都会遇到查无所查的情况, 也就是自己就是附近点中最低的啦, 这个时候就可以停住不再运动了。 而这样的点就是我们找到的汇水点。 Step. 4 根据汇水点汇水量赋予颜色及大小 这一点不用多说,可以表达出清晰的可视化数据。 进入正文,由于不是编程制作, GH没有那么动态与智能, 那我们可以考虑分两步制作动画。 Step.1 循环迭代寻找汇水路径 Step.2 动画制作雨水径流 Step.1 循环迭代寻找汇水路径 首先,寻找到每个单元mesh的中心点, 以及其重力切线方向上的mesh线框交点。 第二步需要到的位置呢, 就是每个mesh三角形的最低的那个顶点。 只需要把每个mesh顶点找出来, 对比一下其z值之后就可以得到。 第二步的移动位置就有咯~ 接下来的步骤就需要用到插件咧。 就是知名的HoopSnake和Kangaroo。
这也就是没有代码辅助的尴尬吧, 毕竟很多时候需要用到别人现成的插件, 才能解决我们的目标问题。 其雨水点的寻路逻辑为: 找到与其相邻的几个顶点, 比较这几个顶点的z值大小并找到最低的那一个点, 这个点就是雨水点的下一个位置。 但寻找mesh某个顶点的相邻点 在GH默认功能中并没有, 这时候兰亭君就想到传说中的Kagaroo 有一个VertexNeighbours(VN)的运算器,如下: 需要注意的是V端需要输入的不是顶点point, 而是每个顶点所对应的mesh上的序号值, 所以需要用到Member Index运算器。 可以看出,每次寻找对应序号的时候, 会找出一堆序号值, 这是因为我们输入的mesh是一个 没有被焊接过顶点的mesh, 否者输入VertexNeighbours运算器时会报错。 至于什么叫做焊接顶点的mesh... 好吧,我只能给一个传送门, 大鹿在专筑讲坛的公开课已然说明了一切!! ◆◆◆ http://v./course/213 ◆◆◆ 简单来说就是每个顶点不仅是一个顶点, 而是周围几个三角形顶点重合而成的点(左), 并不是这几个三角形共用这个顶点(右)... 左边的mesh就是没有被焊接过定点的mesh, 每一个定点其实属于周围6个三角面。 那么使用Member Index运算器的时候, 自然会找到03,06,09,12,15,18这6个序号。 三我们只需要其中一个序号就ok了, 所以用List Item筛选出其中一个序号输入VN运算器。 最后就可以得到每个顶点相邻的那些顶点啦~ 接下来就是比较一下找到的这些顶点 是不是比原顶点还要低, 如果低呢,就找出最低的那一个, 否者就找原顶点自己好咯。 接下来第二个坑... 循环吧!我的相邻点!! 最终把循环迭代完的点的经过路径连起来, 就得到这次的汇水路径啦~ 最后来点动画,其实就是在曲线上找点。 用的就是Evaluate Curve运算器和Number Slider 奏是这么简单便捷! 至于怎么使用Number Slider制作动画, 就放在下一期帖子中给大家讲讲吧~ 最终成品: 最后不要忘了第一步、第二步找到的两个雨水点位置 将他们一起制作成动画内容, 汇水部分的分析动画分析制作就大功告成了~ 最后的雨水量数据显示方式就见仁见智了, 兰亭君会在案例文件中加上自己的做法, 不过是忙中抽闲做出来的粗略稿, 有强迫症的小伙伴就不要看了... 各位加油给出自己的思考哦~ 感谢 兰犀艺数 授权分享 微信ID: L-RhinoDesign 版权声明
|
|