问题标签 [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 投票
2 回答
2250 浏览

iphone - 在具有无限滚动IOS的gridview中一次垂直和水平scoll

如何在网格视图中同时启用水平和垂直滚动?

如果我有一个 4x4 的缩略图网格,我想实现双向滑动,左/右和上/下。目前我完成了左右滑动,但如果我选择第二个单元格并向上滑动,第二行应该像魔方一样滚动。

如果有人有任何想法,请分享。

0 投票
1 回答
199 浏览

arrays - 构建张量而不是可变大小的数组

所以这里是瘦的:

  1. 想象一个魔方;它是 3x3x3。我碰巧有一个数组,它是一个魔方的“立方体”,只是它是 4x4xn。n 从 1 开始

  2. 当数组中每个 4x4 矩阵中的某个条件为真时,矩阵就会自我复制;即 n 增长 1(数组或魔方变长/变成长方体)。假设对于数组中的每个 4x4 矩阵,如果 [2,4] > [2,1],则矩阵在数组中复制其自身的另一个版本。

  3. 当数组中每个 4x4 矩阵中的相同特定条件为假时,矩阵本身就会“死亡”或将其自身抹去不复存在。数组或魔方变得更短。比方说,对于数组中的每个 4x4 矩阵,如果 [2,4] < [2,1],则矩阵会将自身从数组中擦除。

  4. 所以我试图将它构建成一个数组,显然你不能随意从数组中添加和删除矩阵。

  5. 有人告诉我你必须建立一个张量——(从我的概念模型到维基百科所说的,看起来这是一个二阶应力张量)。我不是物理学家,也绝对不是数学纯粹主义者。我是一个基础应用数学专家(ORSA),但我没有任何学位,只有几年的“分析”经验。

  6. 是否有人可以为我演示如何在 R 中构建这个结构。我希望你明白,找到关于如何在 R 中构建我认为我正在写的类型的张量的可理解/概念性信息非常困难.

非常感谢您提供的任何帮助。

我非常感谢它。

所以这是我尝试过的一些方法:

这行不通。

0 投票
2 回答
1222 浏览

android - 具有 OpenGL 和触摸屏功能的视觉正确旋转

我一直在尝试为 android 做魔方。我有一个关于轮换的问题。我想在视觉上正确地旋转一个图形。这意味着如果用户触摸屏幕并在将手指向右移动后,一个图形会从观察点的一侧向右旋转。但是当我进行一些旋转时,图形开始朝不正确的方向移动。我知道这取决于那个轴正在改变他们的情况。但是我尝试使用逆模型矩阵来获得必要的坐标,但我还没有得到结果。任何人都可以在鼠标或触摸屏的帮助下给我示例或链接 3D 图形的视觉正确旋转吗?

0 投票
1 回答
1578 浏览

python - DrawingPanel.py 绘制一个魔方

使用 python 我想根据这张图片画一个魔方http://vixra.files.wordpress.com/2010/0 ... s-cube.jpg

这是我当前的代码 http://pastebin.com/MfF07ze4

但我希望代码至少有 5 个 for 循环和 5 个有助于创建多维数据集的函数。在为魔方的 1x1 立方体创建 3 个点时,我还需要算法方面的帮助。

0 投票
3 回答
1791 浏览

cube - 使用 MEL 在 Maya 中装配魔方

我想在 Maya 中装配一个魔方,所以它可以向任何方向旋转任意次数。任何旋转都将以 90 度为增量。这些是我的大纲中的对象:

26 个块(立方体的中心块不是必需的)9 个旋转控制器(3 个用于高度/宽度/深度的行/列)1 个根控制器

诀窍是将各个块的控制权从一个控制器传递到下一个控制器。在任何给定时间,一个块可以受到 3 个不同的控制器的影响。但是,在旋转之后,控制器会发生变化。

我想我需要创建一系列矩阵(二维数组),其中 9 个 - 每个控制器一个。将块分配给它们,然后在旋转后重新分配。我想我需要一个临时矩阵来交换。除此之外,我不知道该怎么做。这些矩阵应该是根控制器的参数吗?大概。

在这件事上的任何帮助都会有所帮助。我是 MEL 的新手,但我有 C/C++ 等方面的背景。您将如何装配功能性魔方?

0 投票
2 回答
5191 浏览

c++ - 相机和图像识别

我最近观看了一个 youtube 视频,其中一个人用相机识别何时将魔方举到它上面,并在拍摄魔方的照片并在他的计算机屏幕上显示 3x3 网格之前捕获了 9 个正方形颜色组合. 这是一种什么样的编程,我从哪里开始阅读以了解这种情况?具体来说,控制相机,让它挑选出图像的某些部分并转换该数据。

0 投票
0 回答
1452 浏览

java - Java 3D API 中的魔方

我正在用 Java 3D 编写魔方应用程序。我画立方体没有任何问题。立方体在宇宙中的旋转也起作用。

现在我将旋转不同的面。这个功能只要我只旋转一个面。但是当我会进行多次旋转时。例如正面和正面然后程序选择立方体的错误石头。

立方体的结构

在内容分支图中,我有一个 3 维变换组数组到这个变换组中,我有一个 3 维石头数组。我自己创造的石头级。它用四边形阵列绘制一个正方形。

目前我根据变换组的数组选择石头。旋转后,我将变换组重新排序到数组中。

这是我到目前为止所做的:

你有答案我怎么能做多次旋转?

0 投票
2 回答
3636 浏览

algorithm - 如何以有效的方式解决魔方

可能重复:
以编程方式求解魔方

我想创建一个应用程序来解决魔方。我读到计算机最多可以在 20 步内解决它。但是在互联网上搜索我找不到如何实现它。所以我想到了 Fridrich 方法(http://en.wikipedia.org/wiki/Fridrich_Method)。但是很难把所有的算法都教给电脑。有什么建议么?ps对不起我的英语:)

0 投票
4 回答
316 浏览

python - 在 python 中拆分字符串(如 rubik 的立方体符号)的最有效方法?

如果像"RL2R'F2LD'"给定的字符串,将其拆分为字符串的最有效方法是"R" "L2" "R'" "F2" "L" "D'"什么?我尝试了几种方法,例如首先将它们拆分为单独的字符,然后尝试将它们添加到列表中,但没有任何效果。

0 投票
1 回答
2093 浏览

c++ - 在 C++ 中使用 opengl 旋转魔方面的问题

作为作业的一部分,我必须设计功能性魔方。我没有直接使用openGL,而是提供了一个框架。(所有不属于 openGL 且未在此处列出其主体的函数都将被假定为正确的

功能:如果通过按键选择所有面,则需要旋转。整个立方体必须旋转。

整个立方体的旋转是正确的,并没有成为这个问题的主题。

为了做到这一点,我从 27 个较小的立方体(立方体大小为 3)和一个三维数组创建了魔方。包含小型多维数据集索引的多维数据集副本。为了更好地理解这一点:

如果最初的一张脸是:

旋转后应该是:

我可以相对于 X 轴或 Y 轴无限次旋转立方体,并且效果很好。但是,如果我组合旋转(以随机方式交替 X 旋转和 Y 旋转),就会出现立方体变形的情况。由于这种情况不一致,我很难找到原因。

这就是我创建立方体的方式:

函数 drawCube() 有效地绘制了一个中心位于原点的大小为 4 的立方体。CubIndici 是我用来存储立方体位置的 3D 数组。

这是我用来旋转 3D 数组中的矩阵的函数。(我已经仔细检查过它应该是正确的,但也许我遗漏了一些东西)。

CubIndici 3d 数组是全局的,所以我需要轴参数来确定要执行哪种旋转(相对于 X、Y 或 Z)

在按下 w 键时,我应该围绕轴 X 旋转一个(硬编码,现在)面

CubIndici 1 1应始终包含位于面 CubIndici[*][*] 1中心的立方体。

相似地,

用于在 Y 轴上旋转。

1.57079633 是相当于 90 度的弧度

为了更好地理解,我添加了在 X 轴上旋转左面和在 Y 轴上自上而下旋转的详细显示。

图像

第一个坐标块是初始立方体面。(CubIndici 索引矩阵未修改)

预旋转 - 面部每个立方体的坐标和索引。post rotatie - 旋转对象后的坐标和索引。(未触及矩阵)旋转矩阵后 - 在旋转矩阵之后。如果你比较“pre rotatie”和“post rotatie matrice”的索引,你会注意到 90 度旋转。

这是第一次旋转(围绕 X 旋转左脸),它是完全正确的。

然而,在下一次旋转中,应该包含在自上而下的面(以及左侧)中的立方体应该是 2、5、8。但是,它们显示为 2,5,6。如果您查看第一个“旋转后矩阵”,则 2、5、8 确实是第一行。

这是使立方体变形的问题,我不知道是什么原因造成的。

如果有任何不清楚的地方,请告诉我,我会编辑帖子或回复评论!