问题标签 [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.

0 投票
0 回答
353 浏览

three.js - ThreeJS 场景图问题

最近几天,我一直在用 Three JS 研究魔方。我几乎完成了它,但是在正确嵌套组时遇到了问题。基本上我已经完成了所有的立方体,当单击一个面上的一个中心立方体时,该面上的所有立方体都被添加到一个组中并旋转该组。问题是当我尝试将立方体读取到场景时,它们会回到原来的位置,而不是新的旋转位置。这是单击顶面时的示例

这里是我尝试将小方块读回现场的地方

如果我注释掉这两行,则会出现一个完整的旋转,但由于立方体现在属于组,我无法再次旋转它们。如果我删除第一行,并留下 remove(group) 那么显然该行消失了,但是如果我将两行都留在里面,那么立方体根本不会改变,就好像当我将立方体读入场景时它会使用它的原始放回去......我已经尝试了我能想到的一切。任何帮助将不胜感激

如果有人需要,我会将整个代码发布到 pastebin。 http://pastebin.com/vj6LgR0r

0 投票
1 回答
347 浏览

java - 魔方模拟器的问题

对于我的科学展览项目,我正在制作一个魔方模拟器。我的代码有逻辑错误,我无法弄清楚。我爸爸和我已经研究了几个小时,没有发现任何问题。我检查了每次单击按钮时,动作侦听器仅调用一次图形类/方法。但是 graphics 方法每次点击运行 3 次,我不知道为什么。

}

0 投票
1 回答
18088 浏览

algorithm - 求解 NxNxN 魔方的算法

我想为任何大小的魔方写 cubesolver 。

我知道如何解决大于 3x3x3 的立方体:

  • 首先我们需要求解立方体的中心(平面)场,所以它们看起来像图片上的那样。

具有已解决中心的立方体

  • 其次,我们解决边缘:

具有已解决边缘的立方体

  • 最后,我们可以将整个问题简化为解决 3x3x3 立方体:

4x4x4 立方体缩小为 3x3x3 立方体


这听起来很简单,但问题是解决中心和边缘的方法取决于立方体的大小。对于求解中心和边缘的 3x3x3 算法有 0 个移动,对于 4x4x4 它更长,对于 5x5x5 它甚至更长。

但是我如何计算这些移动呢?有什么简单的方法吗?

提前致谢!

0 投票
1 回答
1444 浏览

android - Android Rubik's Cube Kociemba 优化求解器内存不足

我想就我遇到的以下问题寻求一些帮助。

我想创建一个应用程序,用最佳解决方案解决魔方问题。我下载了以下库,据说它使用 Kociemba 的算法就是这样做的。

http://kociemba.org/twophase.jar

显然它可以在 0.5 秒内解决多维数据集,但在我的应用程序中,由于内存问题,它从未返回解决方案。我知道它有效,我用错误的输入对其进行了测试,它返回了记录的错误代码。

我在我的 onCreate 方法中这样调用它:

resultTxt 是一个字符串变量,它应该包含解决方案。

它很快就吃光了内存。

我用 IntentService 尝试过,但没有成功。我的意思是它并没有真正改变任何东西。

由于我没有发现任何人在任何 android 应用程序中使用这个库的任何证据,我想我会问比我更有经验的人。

有什么办法可以在 Android 上完成这项工作,还是像我想象的那样不可能?

0 投票
3 回答
837 浏览

javascript - 使用 JSON 生成 HTML 元素、多个类名和 id。- 没有 JQuery

我一直在仅使用 JS 和 CSS 在 codepen 上构建一个虚拟魔方。- 原谅我任何明显的愚蠢,我编码不到 3 个月,而 JS 不到 1 个月。

我目前制作了两个版本,但对于版本 3,我需要使用 JSON 和 JS 循环结构生成尽可能多的 HTML。尽管对 JSON 进行了大量阅读,但我无法完全理解使用它生成 HTML 的概念,就像我使用标准 JS 数组一样。见 codepen 链接——http ://codepen.io/Peachey_A/pen/hEcDH

虽然我在版本 2 中使用了一点 JQuery 来添加类属性;我想在生成过程中避开它,因为我的目标是在过度参与库之前了解 JS。

任何特定网站或代码片段示例的建议将不胜感激。

谢谢

0 投票
1 回答
1785 浏览

matlab - 用matlab制作魔方?

我正在尝试制作魔方的 3d 模型。

我最初使用 patch 命令尝试过

但是由于我可能需要为每个表面赋予不同的颜色,所以我不得不多次使用 patch 命令两次。因此,当我想引用整个多维数据集时,我无法引用

我发现的另一种方法是使用plot::BoxMuPAD中的命令

但是在这里我不能给每个表面单独的颜色。我尝试使用FillColorDirection = [0, 0, 1])但它不工作

使用 plot:Box 时是否可以为每个面提供单独的颜色,或者有更好的方法吗?

0 投票
1 回答
1065 浏览

python - 无限循环 - 魔方加扰器

我在 python 中使用 Rubiks Cube 扰频器有一点问题。
有我的代码:

所以,当我运行我的程序时,他会

他正在循环......我尝试使用“i”而不是“length - 1”,但它没有用(索引超出范围等)。

例如,在第二个代码中,我输入“i”的长度,当我的程序遇到函数时,他告诉“索引超出范围”我不知道为什么,如果 i >= 2 它不能超出范围,因为“lenght”(在函数中)== 1,2,3 等等,“lenght - 1”== 0,1,2。任何想法如何解决这个问题?

顺便提一句。例如正确争夺魔方:

0 投票
0 回答
276 浏览

prolog - 在 Prolog 中操作魔方

我想在序言中对一个加扰的魔方做一些基本的旋转,直到它解决。我正在考虑将多维数据集保存为如下列表:

如何实现 rotations(R,U,F,B,D,L) ,这样当我进行 U 旋转时,我的立方体看起来像这样:

所以我想在控制台和程序中编写一些旋转,如果立方体被解决,则返回 true,否则返回 false。

如果有人有一些想法,我会很高兴看到他们:)

0 投票
0 回答
51 浏览

javascript - Javascript:超过 10^308 的整数(最大值)

我正在尝试制作一个程序,您可以输入魔方的尺寸,例如。13x13x13,程序会告诉你那个魔方有多少排列。我有数学计算出来,但如果你不知道魔方可以有很多排列。仅 13x13x13 就有 13.421 novemoctagintillion (1.34 * 10^271)。我无法计算超过 14x14x14 魔方的任何东西,因为排列的数量超过 10^308

如何在 Javascript 中存储大于 10^308 的数字?

到目前为止,这是我的代码,

任何人都可以帮忙吗?谢谢!!!

0 投票
1 回答
72 浏览

c - C/OpenGL - 无法独立修改立方体?

这是我第一次正确使用 OpenGL,虽然我之前使用过 C 语言

我已经编写了自己的 drawCube 函数,它接收一个坐标数组作为立方体的原点。

我希望代码能将立方体绘制成相互之间的关系,但事实并非如此。它也不会绘制另外两个单独的立方体。我已经花了几个小时来解决这个问题,但不知道为什么。是不是因为 drawCube 没有返回可用于 display() 的东西,如果是这样,它需要返回什么?

正如您可能会说的那样,这最终将成为一个魔方。完成此操作后,我对如何处理数据结构有了一半的了解,但在那之前我感到卡住了

和 drawCube 功能: