3 comments

  • phkahler2 hours ago
    I&#x27;m not sure if anyone has noticed, a rubiks cube can be represented by <i>only</i> the orientations of the pieces. You do this by defining their &quot;correct&quot; position in <i>cube coordinates</i> rather than <i>piece</i> coordinates (local about the piece center). In other words you might define a 3d model for each piece in world space assuming the cube as a whole is centered on the origin. With pieces offset from the origin like this, any rotation about an axis will appear to move the piece as well as rotate it. With 24 orientations, you&#x27;ll find 3 that place a corner in the same position but colors rotated. Similarly edges have 2 orientations for each of 12 locations.<p>One does need to compute the traditional position of the pieces to determine which ones need to be rotated for a given move, but the total state is significantly reduced.<p>Tell me this isn&#x27;t news to the cube world. It cant be. Can it?
    • dsfiof2 hours ago
      Unable to fully parse what you are trying to express.<p>&gt; the total state is significantly reduced.<p>The minimal &quot;state space&quot; of a rubiks cube is a constant value. Any &quot;reduction&quot; would imply the model being reduced was inefficient.<p>On the topic of cool &quot;alternative&quot; views of rubiks I recently saw this and thought it was novel.<p><a href="https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;gifs&#x2F;comments&#x2F;z3okyv&#x2F;the_only_way_to_simultaneously_see_all_sides_of_a&#x2F;" rel="nofollow">https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;gifs&#x2F;comments&#x2F;z3okyv&#x2F;the_only_way_t...</a>
      • wowczarek1 hour ago
        That link. This is a Celtic Knot and 92 is half of 99. I had to.
  • taeric2 hours ago
    Fun article! Makes me want to play with prolog again.<p>I put together something looking at a rubik&#x27;s cube as a permutation of numbers a while back. <a href="https:&#x2F;&#x2F;taeric.github.io&#x2F;cube-permutations-1.html" rel="nofollow">https:&#x2F;&#x2F;taeric.github.io&#x2F;cube-permutations-1.html</a> I remember realizing that my representation essentially had some permutations of numbers that it would never hit, but wasn&#x27;t sure it was worth trying to more directly model the pieces of the cube. Curious if there are advantages here that I&#x27;m ignoring.
    • QuadmasterXLII2 hours ago
      one nice thing is that if you represent the state as a permutation matrix P, and have a matrix of starting piece locations x, rendering is just Px. Then, for smooth rotation animations, if your move is a permutation M, animation is just expm ( t logm( M)) P x with t going from 0 to 1<p>I blather about the permutation matrix of a rubiks cube for a long while at <a href="https:&#x2F;&#x2F;www.hgreer.com&#x2F;TwistyPuzzle&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.hgreer.com&#x2F;TwistyPuzzle&#x2F;</a>
  • Nora231 hour ago
    Prolog&#x27;s pattern matching makes this elegant. The constraint-based approach for state space pruning is clever.