Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all;close all;clc;
- p = [1 1 1;0 0 0;3/4 3/4 3/4];
- P1 = ones(18,26*3);
- P1(1:9,[1:26]*3) = P1(1:9,[1:26]*3) + 1;
- P1(1:9,[1:26]*3-1) = P1(1:9,[1:26]*3-1) + 1;
- P1(1:9,[1:4]*21-6) = P1(1:9,[1:4]*21-6) - 1;
- P1(1:9,[1:4]*21-7) = P1(1:9,[1:4]*21-7) - 1;
- P1(1:9,[1:4]*21-15) = P1(1:9,[1:4]*21-15) - 1;
- P1(1:9,[1:4]*21-16) = P1(1:9,[1:4]*21-16) - 1;
- P2 = ones(18,26*3);
- P2(1:9,[1:26]*3) = P2(1:9,[1:26]*3) + 1;
- P2(1:9,[1:26]*3-1) = P2(1:9,[1:26]*3-1) + 1;
- P2(1:9,[1:3]*21) = P2(1:9,[1:3]*21) - 1;
- P2(1:9,[1:3]*21-1) = P2(1:9,[1:3]*21-1) - 1;
- P2(1:9,[1:4]*21-9) = P2(1:9,[1:4]*21-9) - 1;
- P2(1:9,[1:4]*21-10) = P2(1:9,[1:4]*21-10) - 1;
- P2(1:9,end) = P2(1:9,end) - 1;
- P2(1:9,end-1) = P2(1:9,end-1) - 1;
- a = [[1:88]' [88:-1:1]'];
- 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];
- 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];
- 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];
- 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];
- for k = 1:size(a,1)
- Pm1 = P1;
- Pm2 = P2;
- for i = a(k,:)
- if ismember(i,w1)
- if i>1
- j = find(w1==i)-1;
- Pp = Pm1(1:18,[3:5]+(j-1)*3);
- Pp(find(~(Pp-1))) = Pp(find(~(Pp-1))) + 2;
- Pm1(1:18,[3:5]+(j-1)*3) = Pp;
- else
- Pp = Pm1(1:18,1:2);
- Pp(find(~(Pp-1))) = Pp(find(~(Pp-1))) + 2;
- Pm1(1:18,1:2) = Pp;
- end
- elseif ismember(i,b1)
- j = find(b1==i);
- Pp = Pm1(1:9,[2:3]+(j-1)*3);
- Pp(find((Pp-1))) = Pp(find((Pp-1))) + 1;
- Pm1(1:9,[2:3]+(j-1)*3) = Pp;
- elseif ismember(i,w2)
- if i>45
- j = find(w2==i)-1;
- Pp = Pm2(1:18,[3:5]+(j-1)*3);
- Pp(find(~(Pp-1))) = Pp(find(~(Pp-1))) + 2;
- Pm2(1:18,[3:5]+(j-1)*3) = Pp;
- else
- Pp = Pm2(1:18,[1:2]);
- Pp(find(~(Pp-1))) = Pp(find(~(Pp-1))) + 2;
- Pm2(1:18,[1:2]) = Pp;
- end
- elseif ismember(i,b2)
- j = find(b2==i);
- Pp = Pm2(1:9,[2:3]+(j-1)*3);
- Pp(find((Pp-1))) = Pp(find((Pp-1))) + 1;
- Pm2(1:9,[2:3]+(j-1)*3) = Pp;
- end
- end
- subplot(2,1,1), subimage(Pm1,p), axis([0 26*3-0.5 1 17])
- for i = 1:26
- o = (i-1)*3;
- line([2.5+o,2.5+o],[1,17],'Color','g')
- end
- subplot(2,1,2), subimage(Pm2,p), axis([0 26*3-0.5 1 17])
- for i = 1:26
- o = (i-1)*3;
- line([2.5+o,2.5+o],[0.5,18.5],'Color','g')
- end
- axis equal
- M(k) = getframe;
- pause(0.1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement