Swarmでは、空間はまったく異なる種類のエージェントです。heatbugモデルでは、Swarmのspaceライブラリからの拡散オブジェクトのサブクラス、HeatSpaceを作成します(HeatSpace.mで指定されます)。以下は、HeatbugModelSwarmのbuildObjectsから抜き出したコードです。
heat = [HeatSpace createBegin: [self getZone]]; [heat setSizeX: worldXSize Y: worldYSize]; [heat setDiffusionConstant: diffuseConstant]; [heat setEvaporationRate: evaporationRate]; heat = [heat createEnd]; |
オブジェクトを作成していくつかのパラメータを設定し、作成を終えます。