绘制顺序(draw order)是如何影响 grasshopper 的计算顺序的

一般情况下,grasshopper 的计算是沿着连接线从左至右进行的。首先被计算的是左边的组件,然后触发下游组件,直到 canvas 全部计算完成为止。在你使用 grasshopper 几个月之后,想都不用想就知道这是当然的。

直到有一天你想用 grasshopper 违反这个基本逻辑。我最近接到一个任务,需要用 Honybee 计算强光。强光计算组件使用了一个 Rhino 相机,这意味着当强光将要被正确计算的时候,相机要移动到正确的位置。

我决定使用霍斯特相机控制(Horseter camera control)来调整相机,于是就有了这么个东西:

这个计算取决于相机 已经 被放置到正确的位置上。换句话来说,相机 必须 在计算完成之前被放到正确的位置。看出问题了吗?如果没有相机组件的输出,计算模型肯定来自“buidling”组件。因此,保证相机在计算完成之前移动到正确的位置是不可能的。


 

Grasshopper 首先计算的是哪一个组件?

首先讲一点基础知识。当 Grasshopper 计算组件的时候,有一个属性叫做 expired(终止)。如果一个组件需要计算,它就会被标上 expired=true。如果组件已经更新了,不再需要计算,它就会被标上 expired=false。当你更改一个组件的时候(比如修改了它的输入值),它就会被打上 expired 标志。并且当一个组件被标志为 expired,所有下游组件(也就是右边的组件)都会被标志为 expired。

简单来说,“expired”表明这个组件正在等待重算。

当 Grasshopper 有了一个已终止组件列表的时候,它必须决定以什么方式去重算。Gras

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值