我今天打开了我的日历,里面有一个谜题。有六件,我想我必须把它们变成一个立方体...我试图解决它并且努力失败。所以我决定尝试用编程解决它......
我将它们制作成多边形(不确定这是不是一个好主意),但不知道如何旋转它们和/或检查是否有任何形状与任何其他形状碰撞。
形状如下:
TL; DR:我正在寻找帮助,检查这些形状的每种可能组合,看看它们是否制作了一个立方体。换句话说,如何旋转和检查多边形(或代表这些碎片的其他东西)用于交叉?
答案 0 :(得分:2)
将它们变成多边形并不是解决这个问题的正确方法。
看,你有什么是立方体的6面,但现在你必须弄清楚如何旋转它们。每个多边形在其边缘上有12个小方块,这些小方块可以打开或关闭,并且必须与它旁边的小方块匹配。这是一个非常离散的问题。
整个立方体在边缘上有8个(顶点)+ 12 * 2(边缘)小立方体。
每张脸放入立方体时,都会占据一些小立方体。
你需要 1)制作一个映射,在给定的方向上将面映射到给定面上的整个立方体 2)搜索没有小块被占用两次的配置。