问题标签 [rubiks-cube]
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.
java - 获得圆形opengl立方体的最简单方法是什么
始终在带有 lwjgl 的 Java/Opengl 中的魔方应用程序的上下文中,我想改进我的绘图 ( http://manuelselva.files.wordpress.com/2010/09/cube.gif ),以便为27 个小立方体中的每一个?最后我想实现的与维基百科立方体图片相同: http://fr.wikipedia.org/wiki/Fichier:Rubik% 27s_cube.svg
最简单的解决方案是什么?
hash - 帮助设计一个散列函数来检测重复记录?
到目前为止,让我解释一下我的程序。它是一个魔方求解器。我得到一个加扰的立方体(这是初始状态)。这成为图的根节点。我正在使用iterative deepening depth first search
“蛮力”这个打乱的立方体到一个可识别的状态,然后我可以使用模式识别来解决它。
可以想象,这是一个非常大的图,所以我想提出某种散列功能来检测图中的重复节点(从而加快遍历速度)。
我对散列函数基本上不熟悉,但这是我的想法……每个节点本质上都是魔方的不同状态。所以如果我来到一个已经看到的立方体状态(节点),我想跳过它。所以我需要一个散列函数,将我从状态变量带到校验和,其中状态变量是一个 54 个字符的字符串。唯一允许的字符是y, r, g, o, b, w
(对应于颜色)。
任何帮助设计此哈希函数将不胜感激。
c# - LinkedList 的撤消/重做功能执行
我正在编写自己的“魔方”应用程序。主类Cube
有 18 种旋转方法:
- RotateAxisXClockWise, RotateAxisXAntiClockWise
- RotateAxisYClockWise, RotateAxisYAntiClockWise
RotateAxisZClockWise, RotateAxisZAntiClockWise
RotateUpperFaceClockWise, RotateUpperFaceAntiClockWise
- RotateFrontFaceClockWise, RotateFrontFaceAntiClockWise
- RotateRightFaceClockWise, RotateRightFaceAntiClockWise
- RotateBackFaceClockWise, RotateBackFaceAntiClockWise
- RotateLeftFaceClockWise, RotateLeftFaceAntiClockWise
- RotateDownFaceClockWise, RotateDownFaceAntiClockWise
是的,它们可以通过参数 Direction (例如RotateFrontFace(Direction direction)
)成对连接,但现在这似乎是合适的。
我想实现撤消/重做功能,并且因为所有方法都具有相同的签名(没有输入参数,无效返回类型),它们可以保存在 LinkedList 数据结构中。所以每次调用其中一个旋转方法时,都会将其添加到链表中。
如果我们从 LinkedList 的开头开始(虽然还没有尝试过)并朝着结尾前进,这将非常有效,因此每次旋转都将完全按照最初的方式执行。
但是撤消呢?如果我从末尾遍历列表到开头,则应该调用相反的方法(例如RotateFrontFaceClockWise
,RotateFrontFaceAntiClockWise
应该调用而不是 , )。任何想法如何实现这一点?优雅?:)
java - 在数组 Java 中建模 Rubix Cube
有人对如何在数组中建模 rubix 立方体有任何想法吗?我好像想不出办法?
java - 用 Java 制作一个面向图形的 rubix 立方体求解器
它看起来像这样:
我想知道关于制作 GUI(Swing 与 OpenGL)以及您能想到的任何其他问题的最佳方法是什么。
我并不热衷于制作 3-D,因为我可以只显示两侧和底部,但我喜欢任何建议。
c - 以编程方式求解魔方
我正在尝试开发一个程序来解决 C 中的魔方。我为此使用了回溯技术。这是一个非常漫长的过程,需要大量的迭代,所以我无法解决它。
请给我关于如何更有效地解决这个问题的建议 - 例如其他技术或采用回溯本身。在谷歌中,我找到了很多解决这个问题的捷径,但我不想通过使用捷径来解决这个问题。
java - Android OpenGL 纹理/对象检测
我正在尝试执行 OpenGL 拾取(即回答“用户单击了哪个对象?”问题)。我用谷歌搜索并发现了一些不同的技术,但对我来说没有一个可以
- 使用 glReadPixels 检查像素颜色:我正在使用纹理,因此不适合
- 使用 glReadPixels 检查像素 alpha:我使用 alpha 进行混合,因此不适合
- 建立一条射线并检查碰撞:哎呀!,我不想进入那个......
- glRenderMode(GL_SELECT):在 OpenGL ES 中不支持
我一直在考虑检查模板缓冲区的值。我不将它用于通常的目的,因此我的每个对象都可以在其中写入其 ID(我的对象少于 255 个)。问题是我无法使用 glReadPixels 读取模板缓冲区值。RGBA 没问题,但我无法让它适用于 Stencil 值。这是我的代码:
因为我仍然在缓冲区中获得 R 值...
我确定模板缓冲区已启动并正在运行,因为我设法将它用于一些剪辑。使用 setEGLConfigChooser(8, 8, 8, 8, 8, 8) 将其配置为 8 位。
是平台的限制还是我的做法不对?(我没有找到任何读取模板缓冲区的实际示例)
另外,任何人都可以建议除了使用模板缓冲区之外是否有任何方法来检测用户单击的对象ID?
swing - 如何在 Scala 中向 Swing 组件添加侦听器?
我正在尝试在魔方 Scala 应用程序中实现 MVC 设计模式。
在 Java 中,我会通过ActionListener
在控制器类中使用侦听器向按钮添加一个来做到这一点。在 Scala 中,我发现这非常困难。谁能给我一些如何做到这一点的例子?
python - Rubik cubefinder.py 错误
我想使用我发现的一些代码来检测来自该站点的魔方:cubefinder.py。
在设法安装所有 OpenCV 库后,当我将立方体显示给相机时出现此错误:
编辑:对不起那一大堆代码,我只是看到这是愚蠢和不必要的。
c# - 制作魔方的对象模型
我做了一个小算法,可以让我在纸上解决一个魔方。
我现在想实现它,但我找不到让我满意的对象表示。
我很容易看到一个 rubiksCube 对象和一个“立方体”对象,它可以由一个面、一个角或一个边缘来实现。
但是我需要一些对象,以指定哪个地方是哪个立方体。
最终目标是我可以轻松地对其进行一些旋转。
你知道如何表示这一点吗?
非常感谢你