首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clojure,Quil:创建/调试通用函数

Clojure,Quil:创建/调试通用函数
EN

Stack Overflow用户
提问于 2014-12-28 12:49:48
回答 1查看 329关注 0票数 4

我想创建一个使用Quil生成jpg图像的命令行应用程序。我计划编写几个通用的图像处理函数来混合和匹配(一些fn绘图形状和一些操纵像素数组)。

我想要做的一个简单的例子是创建一个绘制圆圈的函数,然后再创建第二个函数,将抖动算法应用到像素数组中。

代码语言:javascript
复制
(defn draw-circle [x y] ...) ;; e.g. internally uses Quil draw functions.

(defn apply-dither [pixels] ...) ;; e.g. internally uses Quil color functions on the pixels array.

(defn draw []
(draw-circle 100 100)
(apply-dither (pixels))
...)

(defsketch sketch
:draw draw)

让我有点悲伤的是,所有的Quil函数似乎只运行在一个草图宏中。这意味着在内部使用Quil函数的我自己的函数不能直接调用(必须从草图宏触发的绘图函数中调用),这使得调试和从repl单独运行它们变得更加困难/不可能。

如何创建和调试这样的泛型函数?我是被困在代表我的素描调用函数,还是有其他的方法?

也有可能Quil不是我的项目的合适工具。我正在考虑直接使用java /处理类。

我的开发环境是Emacs + Cider。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-29 02:11:06

我创建了一系列从https://github.com/rogerallen/qeom命令行运行的quil草图

我在emacs+cider中进行了开发和迭代,并重新编译了draw函数,以便在草图窗口中实时查看结果更新。

我使用atom (defonce dump-image-count (atom 1))来控制绘图函数何时保存图像:

代码语言:javascript
复制
(defn draw []
   ...
   (when (> @dump-image-count 0)
      (save-frame "q007-dump-####.png")
      (swap! dump-image-count dec)))

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27676517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档