繁体   English   中英

光泽Haskell中的冻结模拟

[英]freeze simulation in gloss Haskell

我正在使用光泽库来描绘模拟。 是否有一个函数,当条件为真时停止simulation功能。 最后绘制的图片应保留在窗口中。

提前致谢

正如@ErikR建议的那样,一旦你达到了你正在寻找的状态,你所描述的就等于不再更新模型了。 您可以定义一个组合在步进函数上的组合器,正是这样做:

untilModel
  :: (ViewPort -> Float -> model -> model)
  -> (model -> Bool)
  -> (ViewPort -> Float -> model -> model)
untilModel step isFrozen v f m =
  if isFrozen m then m
  else step v f m

当你有一个step函数并且想要在isFrozen变为模型时停止模拟时,你可以简单地通过simulate改变的阶梯函数step `untilModel` isFrozen

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM