问题标签 [quil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1173 浏览

clojure - 如何使用 Emacs/nrepl/Quil 在 Clojure 中编写代码?

我有一个相当标准的 Quil 文件,我正在使用 Emacs 和 nrepl 进行编辑。

首先,我使用C-c C-l加载文件;这将创建一个草图窗口。然后我编辑我的draw-world函数,比如说,用不同的颜色绘制。我的问题是:

如何使用这个新功能更新当前的 Quil 窗口?

*C-x C-e似乎不起作用。

0 投票
1 回答
2355 浏览

clojure - 灯台和羽毛笔

我很抱歉我是 Clojure 的新手。我发现到目前为止我能够消化的 Clojure 世界的工具或教程并不多,所以我下载了 Light Table ( http://www.lighttable.com/ ) 听起来喜欢它应该让它更容易。我在 Windows 7 64 位上,基本的 Light Table UI 似乎可以正常工作。

为了进一步尝试使用 Light Table / Clojure,我还下载了 Clojure 绘图库 Quil ( https://github.com/quil/quil ),但在指示 Light Table 连接到 \quil-master\project.clj然后打开并执行来自 \quil-master\examples 的各种文件(例如 automata.clj 或 graphics.clj),Light Table 会产生我认为是旋转的蓝色“思考”图标,该图标会卡住或最终以“nil”结尾或“java.lang.Math”。

只有“example2.clj”似乎有效(尽管并非总是如此),因为它(通常)会弹出一个带有变色钻石的窗口。我需要做什么才能使这些其他 Quil 示例在 Light Table 中工作?

(附带说明一下,我还下载了 Mire(Github 上的另一个 Clojure 项目),但它也根本无法与 Light Table 一起运行。)

0 投票
4 回答
1923 浏览

clojure - 如何在 Clojure 中进行 for 循环?

我正在学习一些 Clojure,我正在使用 Quil。我想知道如何将 for 循环转换为 Clojure:

这就是我在 Java 或类似语言中的做法:

我的 Clojure 尝试:

0 投票
1 回答
658 浏览

clojure - Clojure 状态如何工作?

我知道概念上的状态是什么,但我不明白在这个例子中它是如何实现的: https ://github.com/quil/quil/blob/master/examples/gen_art/31_oo_circles.clj

我只是没有看到它。状态实现发生在第100、109 和 137行:

98-100:

109:

(set-state! :circles circles*)

135-140:

这些线路上发生了什么?

设定状态!是一个 Quil 方法,它的实现可以在https://github.com/quil/quil/wiki/set~state%21找到

0 投票
1 回答
678 浏览

clojure - 如何在clojure中使用quil查找图像的宽度和高度

我试图在 clojure 中找到加载图像的宽度。在处理过程中,我会这样做,

我试图在clojure中做同样的事情,但它不起作用

0 投票
1 回答
154 浏览

clojure - 如何处理clojure中的特定错误

我正在将 clojure 与 quil 库一起使用,在代码中的某一时刻,我在文件夹中加载了一个随机图像,有时我会收到一条错误消息:

如果发现此错误,我怎样才能使代码继续运行?

0 投票
1 回答
2102 浏览

clojure - 使用 quil 在 clojure 中加载/显示图像

我有基本的 quil示例工作

根据本教程,在处理中加载/显示图像的代码如下所示:

我把它翻译成:

当我执行代码时,会打开一个窗口,然后闪烁白色并保持黑色。没有错误。

我怀疑它与图像位置有关,因为在教程中它说:“loadImage() 查找存储在处理草图的“数据”文件夹中的图像文件。

我尝试了各种位置和路径,甚至在我的项目文件夹中创建了一个“数据”文件夹并将图像放在那里,但没有成功。

我正在使用 Clojure 1.5.1 / Leiningen 2.1.3 / emacs24+ / nrepl

欢迎任何想法,

提前致谢。

0 投票
1 回答
658 浏览

clojure - 使用 clojure 和 quil 进行像素转换的性能

假设我想编写一个 ocr 算法。因此我想创建一个二进制图像。使用 clojure 和 quil 我想出了:

该代码生成灰度,然后遍历所有像素以将它们设置为黑色或白色。它执行请求的行为,但需要大约 4.3 秒才能到达那里(1.3 双核)。我没有参考将 4.3 秒放在上下文中。但是考虑处理更大的图像,这必须变得非常慢。

我是在做一些非常错误的事情还是有办法解决问题?clojure 和 quil 的组合甚至能够更快地进行像素转换,还是我应该选择不同的语言/环境?

如果我在代码中做一些奇怪的事情,也请告诉我。我还是clojure的新手。

提前致谢。

0 投票
1 回答
571 浏览

clojure - 在 Clojure 中建模游戏 UI 屏幕

我正在尝试使用Quil在 Clojure 中编写游戏。

(我可以使用(def position (atom 0))and(swap! position inc)@position制作一个移动的球,但我不知道如何缩放它。)

请注意,我向草图提供了一个用于绘图(和输入处理程序)的函数。如果我只是做一个速写,一个draw功能就可以了。

但在我的游戏中,我需要根据主菜单、指令、关卡选择器或游戏是否是活动视图来绘制不同的东西。其中一些(主要是游戏视图)需要与它们相关联的数据,这些数据将在每次抽奖中更新。

我该怎么办?我对 Clojure 的了解越多,我就越感到困惑。(每个视图应该是满足协议的记录吗?它们应该存储为原子,还是应该将它们的内部状态存储为原子?或者游戏模拟状态应该是一个单独的原子——除非我不希望它占用内存直到游戏视图被激活......)这在 OOP 中很容易,但我想学习函数式编程。

更新

如果您对我最终所做的事情感兴趣,请参阅Mini Pinions

0 投票
1 回答
468 浏览

image-processing - 用于裁剪图像的 Clojure GUI

我正在制作一个用于从图像中选择要裁剪的区域的 GUI。我一直在使用 Seesaw 并且可以选择矩形区域,但找不到将图像设置为 seesaw.canvas 的背景的方法。建议在标签上使用图标。我可以制作可绘制的标签,然后将其用作画布吗?有没有办法重叠标签和画布或以某种方式使用为其内容提供背景的面板?

我认为 Quil 具有此功能,但如果我想添加小部件,我不确定如何围绕其绘制、设置、草图形式构建 GUI。

现有的解决方案也会受到赞赏,只要我可以分解它们。使用 GIMP 或 Photoshop 不是我想要的工作流程的一个选项:每张照片有多个裁剪,每页上的不同类型以及根据概述的图像类型添加不同的元数据。对于处理照片元数据的图书馆有什么建议吗?我计划使用 shell 接口来 exiftool,但更便携的选项可能会更好。