Rubik's cube translation

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • castironpi@gmail.com

    Rubik's cube translation

    How do I get a Rubik's cube translation out of this:
    >>a= numpy.array([[0,1,2],[3,4,5],[6,7,8]])
    >>a
    array([[0, 1, 2],
    [3, 4, 5],
    [6, 7, 8]])
    >>a[:,0],a[:,1],a[:,2] #no good
    (array([0, 3, 6]), array([1, 4, 7]), array([2, 5, 8]))
    >>>
    I need [[ 6, 3, 0 ], [ 7, 4, 1 ], [ 8, 5, 2 ]].
    >>c= numpy.array([[ 6, 3, 0 ], [ 7, 4, 1 ], [ 8, 5, 2 ]])
    >>c
    array([[6, 3, 0],
    [7, 4, 1],
    [8, 5, 2]])
  • Tim Leslie

    #2
    Re: Rubik's cube translation

    On Mon, Mar 31, 2008 at 12:24 PM, <castironpi@gma il.comwrote:
    How do I get a Rubik's cube translation out of this:
    >
    >>a= numpy.array([[0,1,2],[3,4,5],[6,7,8]])
    >>a
    array([[0, 1, 2],
    [3, 4, 5],
    [6, 7, 8]])
    >>a[:,0],a[:,1],a[:,2] #no good
    (array([0, 3, 6]), array([1, 4, 7]), array([2, 5, 8]))
    >>>
    >
    I need [[ 6, 3, 0 ], [ 7, 4, 1 ], [ 8, 5, 2 ]].
    >
    >>c= numpy.array([[ 6, 3, 0 ], [ 7, 4, 1 ], [ 8, 5, 2 ]])
    >>c
    array([[6, 3, 0],
    [7, 4, 1],
    [8, 5, 2]])
    In [10]: numpy.rot90(a, 3)
    Out[10]:
    array([[6, 3, 0],
    [7, 4, 1],
    [8, 5, 2]])

    Tim

    Comment

    • castironpi@gmail.com

      #3
      Re: Rubik's cube translation

      On Mar 30, 9:48 pm, "Tim Leslie" <tim.les...@gma il.comwrote:
      On Mon, Mar 31, 2008 at 12:24 PM,  <castiro...@gma il.comwrote:
      How do I get a Rubik's cube translation out of this:
      >
       >>a= numpy.array([[0,1,2],[3,4,5],[6,7,8]])
       >>a
       array([[0, 1, 2],
             [3, 4, 5],
             [6, 7, 8]])
       >>a[:,0],a[:,1],a[:,2] #no good
       (array([0, 3, 6]), array([1, 4, 7]), array([2, 5, 8]))
      >
       I need [[ 6, 3, 0 ], [ 7, 4, 1 ], [ 8, 5, 2 ]].
      >
       >>c= numpy.array([[ 6, 3, 0 ], [ 7, 4, 1 ], [ 8, 5, 2 ]])
       >>c
       array([[6, 3, 0],
             [7, 4, 1],
             [8, 5, 2]])
      >
      In [10]: numpy.rot90(a, 3)
      Out[10]:
      array([[6, 3, 0],
             [7, 4, 1],
             [8, 5, 2]])
      >
      Tim
      What if this is connected:
      >>D
      array([[1, 2, 3],
      [4, 5, 6],
      [6, 7, 8]])
      >>E
      array([[6, 7, 8],
      [0, 0, 0],
      [0, 0, 0]])

      -->
      >>D
      array([[1, 2, 3],
      [4, 5, 6],
      [6, 7, 8]])
      >>E
      array([[6, 7, 8],
      [0, 0, 0],
      [0, 0, 0]])
      >>numpy.rot90 ( D )
      array([[3, 6, 8],
      [2, 5, 7],
      [1, 4, 6]])
      -->
      >>E
      array([[1, 4, 6],
      [0, 0, 0],
      [0, 0, 0]])

      ?

      Comment

      • Tim Roberts

        #4
        Re: Rubik's cube translation

        castironpi@gmai l.com wrote:
        >
        >What if this is connected:
        >
        >>>D
        >array([[1, 2, 3],
        [4, 5, 6],
        [6, 7, 8]])
        >>>E
        >array([[6, 7, 8],
        [0, 0, 0],
        [0, 0, 0]])
        >
        >-->
        >
        >>>D
        >array([[1, 2, 3],
        [4, 5, 6],
        [6, 7, 8]])
        >>>E
        >array([[6, 7, 8],
        [0, 0, 0],
        [0, 0, 0]])
        >>>numpy.rot9 0( D )
        >array([[3, 6, 8],
        [2, 5, 7],
        [1, 4, 6]])
        >-->
        >>>E
        >array([[1, 4, 6],
        [0, 0, 0],
        [0, 0, 0]])
        >
        >?
        If you don't want changes to D to affect E, then you need to disconnect
        them when you create them. If you create D and E so that they contain
        references to the same lists, then this kind of thing will happen.
        --
        Tim Roberts, timr@probo.com
        Providenza & Boekelheide, Inc.

        Comment

        • castironpi@gmail.com

          #5
          Re: Rubik's cube translation

          On Apr 1, 1:00 am, Tim Roberts <t...@probo.com wrote:
          castiro...@gmai l.com wrote:
          >
          What if this is connected:
          >
          >>D
          array([[1, 2, 3],
                [4, 5, 6],
                [6, 7, 8]])
          >>E
          array([[6, 7, 8],
                [0, 0, 0],
                [0, 0, 0]])
          >
          -->
          >
          >>D
          array([[1, 2, 3],
                [4, 5, 6],
                [6, 7, 8]])
          >>E
          array([[6, 7, 8],
                [0, 0, 0],
                [0, 0, 0]])
          >>numpy.rot90 ( D )
          array([[3, 6, 8],
                [2, 5, 7],
                [1, 4, 6]])
          -->
          >>E
          array([[1, 4, 6],
                [0, 0, 0],
                [0, 0, 0]])
          >
          ?
          >
          If you don't want changes to D to affect E, then you need to disconnect
          them when you create them.  If you create D and E so that they contain
          references to the same lists, then this kind of thing will happen.
          Basically, I need to change both D row 3 and E row 1 at the same time.

          Comment

          Working...