嗨,这儿,
我试图添加一个源,它生成具有不同颜色的代理,这些代理是基于非均匀分布随机填充的。例如,我希望看到这个源生成50%的代理具有橙色或10%的lightSkyBlue颜色。到目前为止,我有这一行,可以从availableColors数组中随机选择颜色。但我需要每一种颜色都要根据其关联概率进行选择。
availableColors = { oliveDrab, crimson, orange, lightSkyBlue, darkOrchid }
agent.favoriteColor =
randomFrom(availableColors);
有线索吗?谢谢
发布于 2022-06-24 09:24:27
使用以下属性从代理调色板创建自定义发行版。在下面,2表示“无颜色”。如果使用百分比,则观察次数的总和应始终为100。
然后创建一个具有以下属性和主体的函数:
int colorID = colorProbabilities();
if( colorID == 0 ) { return orange;}
else if (colorID == 1 ) { return lightSkyBlue;}
else return null;
最后,您现在可以使用:
agent.favoriteColor = colorPicker();
这使您现在可以自定义您的分发在任何点到任何数目的颜色和任何概率。
发布于 2022-06-24 07:44:47
你应该用相反的方法:
源块创建的代理类型中的
myShapeHavingColor
发布于 2022-06-24 09:42:53
另一个简单的答案是使用select输出块,如果您不习惯编码的话。像这样简单的事情:
https://stackoverflow.com/questions/72738656
复制相似问题