Data Flow / 数据流
在一个原型环境里,数据流讲的是「拿数据来玩」。为此,你在草图(我们对那块画布的称呼)上摆一些看着有用的节点,然后把节点的data hub(数据枢纽,也叫针脚)连起来。这样数据就流动起来了。这些看着有用的节点,加上这些连线,就构成了你的程序。
一开始,摆下几个节点之后,你会发现能连的地方多得是。这些连接叫作连线,因为它们连的是数据源和数据汇点。比如一个节点会有若干输入,用来接收它需要的数据 —— 所以节点的输入是数据汇点;节点的输出把它算好的数据交出去、供别处使用 —— 所以节点的输出是数据源。
一般来说,编程环境会帮你判断哪些连线是讲得通的。在整个系统里,数据源只能连到数据汇点(反之亦然)。所有数据枢纽当前也都关联着一个数据类型,也就是说:系统知道该指望什么样的数据。这在一定程度上能帮你避开一些原本很难找的错误。
编程可能会有玩耍的感觉 —— 你正身处创造之中!为了不打断这个创造的过程,即使系统当下觉得某条连接讲不通,你也可以用 SPACE + 点击强行连上。说不定再点几下、断开另一条连线之后,它就讲得通了!
关于打草图的体验和工作流,更多内容见「开发环境」(英文)。
这些连接意味着什么
用数据流做可视化编程时,你可以把数据从一个节点连到另一个。这些节点各做各的事,合起来就形成了新的东西、新的功能。
这有时候很好玩,有时候是苦活、得动脑子。但无论如何,你的目标都应该是:让草图不只是解决了某个具体任务、能被机器执行,还要让日后的你读得懂。练习给草图做笔记,练习把它讲给自己听。
眼下解释的活儿当然由我们来做。这里是一张示例草图:
颜色数据经由若干运算器处理
左上角那个颜色常量是数据源,装着我们要处理的数据。你可以看到,颜色的输出连到了两个输入上:左边往下连到一个算补色的节点,右边连到一个用来调整饱和度的节点。最后两条数据路径在 Lerp 节点上重新汇合,它会按标量输入给出的位置,给你一个介于两者之间的颜色(0.0 给你第一个颜色,1.0 给你第二个颜色)。