Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. clear all;close all;clc;
  2.  
  3. p = [1 1 1;0 0 0;3/4 3/4 3/4];
  4. P1 = ones(18,26*3);
  5. P1(1:9,[1:26]*3) = P1(1:9,[1:26]*3) + 1;
  6. P1(1:9,[1:26]*3-1) = P1(1:9,[1:26]*3-1) + 1;
  7. P1(1:9,[1:4]*21-6) = P1(1:9,[1:4]*21-6) - 1;
  8. P1(1:9,[1:4]*21-7) = P1(1:9,[1:4]*21-7) - 1;
  9. P1(1:9,[1:4]*21-15) = P1(1:9,[1:4]*21-15) - 1;
  10. P1(1:9,[1:4]*21-16) = P1(1:9,[1:4]*21-16) - 1;
  11. P2 = ones(18,26*3);
  12. P2(1:9,[1:26]*3) = P2(1:9,[1:26]*3) + 1;
  13. P2(1:9,[1:26]*3-1) = P2(1:9,[1:26]*3-1) + 1;
  14. P2(1:9,[1:3]*21) = P2(1:9,[1:3]*21) - 1;
  15. P2(1:9,[1:3]*21-1) = P2(1:9,[1:3]*21-1) - 1;
  16. P2(1:9,[1:4]*21-9) = P2(1:9,[1:4]*21-9) - 1;
  17. P2(1:9,[1:4]*21-10) = P2(1:9,[1:4]*21-10) - 1;
  18. P2(1:9,end) = P2(1:9,end) - 1;
  19. P2(1:9,end-1) = P2(1:9,end-1) - 1;
  20. a = [[1:88]' [88:-1:1]'];
  21. w1 = [1 3 4 6 8 9 11 13 15 16 18 20 21 23 25 27 28 30 32 33 35 37 39 40 42 44];
  22. b1 = [2 0 5 7 0 10 12 14 0 17 19 0 22 24 26 0 29 31 0 34 36 38 0 41 43];
  23. w2 = [45 47 49 51 52 54 56 57 59 61 63 64 66 68 69 71 73 75 76 78 80 81 83 85 87 88];
  24. b2 = [46 48 50 0 53 55 0 58 60 62 0 65 67 0 70 72 74 0 77 79 0 82 84 86];
  25. for k = 1:size(a,1)
  26. Pm1 = P1;
  27. Pm2 = P2;
  28. for i = a(k,:)
  29. if ismember(i,w1)
  30. if i>1
  31. j = find(w1==i)-1;
  32. Pp = Pm1(1:18,[3:5]+(j-1)*3);
  33. Pp(find(~(Pp-1))) = Pp(find(~(Pp-1))) + 2;
  34. Pm1(1:18,[3:5]+(j-1)*3) = Pp;
  35. else
  36. Pp = Pm1(1:18,1:2);
  37. Pp(find(~(Pp-1))) = Pp(find(~(Pp-1))) + 2;
  38. Pm1(1:18,1:2) = Pp;
  39. end
  40. elseif ismember(i,b1)
  41. j = find(b1==i);
  42. Pp = Pm1(1:9,[2:3]+(j-1)*3);
  43. Pp(find((Pp-1))) = Pp(find((Pp-1))) + 1;
  44. Pm1(1:9,[2:3]+(j-1)*3) = Pp;
  45. elseif ismember(i,w2)
  46. if i>45
  47. j = find(w2==i)-1;
  48. Pp = Pm2(1:18,[3:5]+(j-1)*3);
  49. Pp(find(~(Pp-1))) = Pp(find(~(Pp-1))) + 2;
  50. Pm2(1:18,[3:5]+(j-1)*3) = Pp;
  51. else
  52. Pp = Pm2(1:18,[1:2]);
  53. Pp(find(~(Pp-1))) = Pp(find(~(Pp-1))) + 2;
  54. Pm2(1:18,[1:2]) = Pp;
  55. end
  56. elseif ismember(i,b2)
  57. j = find(b2==i);
  58. Pp = Pm2(1:9,[2:3]+(j-1)*3);
  59. Pp(find((Pp-1))) = Pp(find((Pp-1))) + 1;
  60. Pm2(1:9,[2:3]+(j-1)*3) = Pp;
  61. end
  62. end
  63. subplot(2,1,1), subimage(Pm1,p), axis([0 26*3-0.5 1 17])
  64. for i = 1:26
  65. o = (i-1)*3;
  66. line([2.5+o,2.5+o],[1,17],'Color','g')
  67. end
  68. subplot(2,1,2), subimage(Pm2,p), axis([0 26*3-0.5 1 17])
  69. for i = 1:26
  70. o = (i-1)*3;
  71. line([2.5+o,2.5+o],[0.5,18.5],'Color','g')
  72. end
  73. axis equal
  74. M(k) = getframe;
  75. pause(0.1)
  76. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement