0

我今天打开日历,里面有一个谜题。有六块,我想我必须把它们做成一个立方体……我试图解决它,但失败了。所以我决定尝试用编程来解决它......

我把它们做成多边形(不确定这是否是个好主意),但不知道如何旋转它们和/或检查任何形状是否与任何其他形状发生碰撞。

形状是这些:

在此处输入图像描述

TL;DR:我正在寻求帮助,检查这些形状的每一种可能组合,看看它们是否构成立方体。换句话说,我如何旋转和检查多边形(或代表这些部分的其他东西)是否相交?

4

1 回答 1

2

将它们制成多边形并不是这个问题的正确抽象。

看,你所拥有的是立方体的 6 个面,但现在你必须弄清楚如何旋转它们。每个多边形的边缘都有 12 个小方块,它们要么开要么关,并且必须与旁边的小方块匹配。这是一个非常离散的问题。

整个立方体有8个(顶点)+ 12 * 2(边)边上的小立方体。

每个面,当放入立方体时,将占据一些小立方体。

您需要 1) 在给定的方向上将面映射到给定面上的整个立方体 2) 搜索没有小立方体被占用两次的配置。

于 2012-12-06T17:41:13.237 回答