' Obtain 180 degr ratations around Horizontal (B/F) and/or Vertical (T/B) Axes
' Tested with Office 2007 under Windows 7
Sub Rotate5()
y = MsgBox("Locked", vbCritical, "Routine Rotate5")
End
Dim a1(125), a2(125)
n9 = 0: n4 = 24 'Number of Cubes
Sheets("Klad1").Select
For j1 = 1 To n4 'Read Cube (Line Format)
For j2 = 1 To 125
a1(j2) = Sheets("Test5b").Cells(j1, j2).Value
a2(j2) = a1(j2)
Next j2
n9 = n9 + 1: j3 = 1: GoSub 300 'Print a2()
GoSub 100 'Rotate around Horizontal Axes(B/F)
n9 = n9 + 1: j3 = 2: GoSub 300 'Print a2()
GoSub 200 'Rotate around Vertical Axes(T/B)
n9 = n9 + 1: j3 = 3: GoSub 300 'Print a2()
For j2 = 1 To 125
a1(j2) = a2(j2)
Next j2
GoSub 100 'Rotate around both Axes (second rotation)
n9 = n9 + 1: j3 = 4: GoSub 300 'Print a2()
Next j1
End
' Horizontal Axes(B/F)
100
a2(101) = a1(5): a2(102) = a1(4): a2(103) = a1(3): a2(104) = a1(2): a2(105) = a1(1):
a2(106) = a1(10): a2(107) = a1(9): a2(108) = a1(8): a2(109) = a1(7): a2(110) = a1(6):
a2(111) = a1(15): a2(112) = a1(14): a2(113) = a1(13): a2(114) = a1(12): a2(115) = a1(11):
a2(116) = a1(20): a2(117) = a1(19): a2(118) = a1(18): a2(119) = a1(17): a2(120) = a1(16):
a2(121) = a1(25): a2(122) = a1(24): a2(123) = a1(23): a2(124) = a1(22): a2(125) = a1(21):
a2(76) = a1(30): a2(77) = a1(29): a2(78) = a1(28): a2(79) = a1(27): a2(80) = a1(26):
a2(81) = a1(35): a2(82) = a1(34): a2(83) = a1(33): a2(84) = a1(32): a2(85) = a1(31):
a2(86) = a1(40): a2(87) = a1(39): a2(88) = a1(38): a2(89) = a1(37): a2(90) = a1(36):
a2(91) = a1(45): a2(92) = a1(44): a2(93) = a1(43): a2(94) = a1(42): a2(95) = a1(41):
a2(96) = a1(50): a2(97) = a1(49): a2(98) = a1(48): a2(99) = a1(47): a2(100) = a1(46):
a2(51) = a1(55): a2(52) = a1(54): a2(53) = a1(53): a2(54) = a1(52): a2(55) = a1(51):
a2(56) = a1(60): a2(57) = a1(59): a2(58) = a1(58): a2(59) = a1(57): a2(60) = a1(56):
a2(61) = a1(65): a2(62) = a1(64): a2(63) = a1(63): a2(64) = a1(62): a2(65) = a1(61):
a2(66) = a1(70): a2(67) = a1(69): a2(68) = a1(68): a2(69) = a1(67): a2(70) = a1(66):
a2(71) = a1(75): a2(72) = a1(74): a2(73) = a1(73): a2(74) = a1(72): a2(75) = a1(71):
a2(26) = a1(80): a2(27) = a1(79): a2(28) = a1(78): a2(29) = a1(77): a2(30) = a1(76):
a2(31) = a1(85): a2(32) = a1(84): a2(33) = a1(83): a2(34) = a1(82): a2(35) = a1(81):
a2(36) = a1(90): a2(37) = a1(89): a2(38) = a1(88): a2(39) = a1(87): a2(40) = a1(86):
a2(41) = a1(95): a2(42) = a1(94): a2(43) = a1(93): a2(44) = a1(92): a2(45) = a1(91):
a2(46) = a1(100): a2(47) = a1(99): a2(48) = a1(98): a2(49) = a1(97): a2(50) = a1(96):
a2(1) = a1(105): a2(2) = a1(104): a2(3) = a1(103): a2(4) = a1(102): a2(5) = a1(101):
a2(6) = a1(110): a2(7) = a1(109): a2(8) = a1(108): a2(9) = a1(107): a2(10) = a1(106):
a2(11) = a1(115): a2(12) = a1(114): a2(13) = a1(113): a2(14) = a1(112): a2(15) = a1(111):
a2(16) = a1(120): a2(17) = a1(119): a2(18) = a1(118): a2(19) = a1(117): a2(20) = a1(116):
a2(21) = a1(125): a2(22) = a1(124): a2(23) = a1(123): a2(24) = a1(122): a2(25) = a1(121):
Return
' Vertcal Axes(T/B)
200
a2(101) = a1(125): a2(102) = a1(124): a2(103) = a1(123): a2(104) = a1(122): a2(105) = a1(121):
a2(106) = a1(120): a2(107) = a1(119): a2(108) = a1(118): a2(109) = a1(117): a2(110) = a1(116):
a2(111) = a1(115): a2(112) = a1(114): a2(113) = a1(113): a2(114) = a1(112): a2(115) = a1(111):
a2(116) = a1(110): a2(117) = a1(109): a2(118) = a1(108): a2(119) = a1(107): a2(120) = a1(106):
a2(121) = a1(105): a2(122) = a1(104): a2(123) = a1(103): a2(124) = a1(102): a2(125) = a1(101):
a2(76) = a1(100): a2(77) = a1(99): a2(78) = a1(98): a2(79) = a1(97): a2(80) = a1(96):
a2(81) = a1(95): a2(82) = a1(94): a2(83) = a1(93): a2(84) = a1(92): a2(85) = a1(91):
a2(86) = a1(90): a2(87) = a1(89): a2(88) = a1(88): a2(89) = a1(87): a2(90) = a1(86):
a2(91) = a1(85): a2(92) = a1(84): a2(93) = a1(83): a2(94) = a1(82): a2(95) = a1(81):
a2(96) = a1(80): a2(97) = a1(79): a2(98) = a1(78): a2(99) = a1(77): a2(100) = a1(76):
a2(51) = a1(75): a2(52) = a1(74): a2(53) = a1(73): a2(54) = a1(72): a2(55) = a1(71):
a2(56) = a1(70): a2(57) = a1(69): a2(58) = a1(68): a2(59) = a1(67): a2(60) = a1(66):
a2(61) = a1(65): a2(62) = a1(64): a2(63) = a1(63): a2(64) = a1(62): a2(65) = a1(61):
a2(66) = a1(60): a2(67) = a1(59): a2(68) = a1(58): a2(69) = a1(57): a2(70) = a1(56):
a2(71) = a1(55): a2(72) = a1(54): a2(73) = a1(53): a2(74) = a1(52): a2(75) = a1(51):
a2(26) = a1(50): a2(27) = a1(49): a2(28) = a1(48): a2(29) = a1(47): a2(30) = a1(46):
a2(31) = a1(45): a2(32) = a1(44): a2(33) = a1(43): a2(34) = a1(42): a2(35) = a1(41):
a2(36) = a1(40): a2(37) = a1(39): a2(38) = a1(38): a2(39) = a1(37): a2(40) = a1(36):
a2(41) = a1(35): a2(42) = a1(34): a2(43) = a1(33): a2(44) = a1(32): a2(45) = a1(31):
a2(46) = a1(30): a2(47) = a1(29): a2(48) = a1(28): a2(49) = a1(27): a2(50) = a1(26):
a2(1) = a1(25): a2(2) = a1(24): a2(3) = a1(23): a2(4) = a1(22): a2(5) = a1(21):
a2(6) = a1(20): a2(7) = a1(19): a2(8) = a1(18): a2(9) = a1(17): a2(10) = a1(16):
a2(11) = a1(15): a2(12) = a1(14): a2(13) = a1(13): a2(14) = a1(12): a2(15) = a1(11):
a2(16) = a1(10): a2(17) = a1(9): a2(18) = a1(8): a2(19) = a1(7): a2(20) = a1(6):
a2(21) = a1(5): a2(22) = a1(4): a2(23) = a1(3): a2(24) = a1(2): a2(25) = a1(1):
Return
' Print results (selected numbers)
300 Cells(n9, 126).Select
For i1 = 1 To 125
Cells(n9, i1).Value = a2(i1)
Next i1
Cells(n9, 126).Value = j1 'Number
Cells(n9, 127).Value = j3 'Aspect
Return
End Sub