Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. clear();
  2. clc
  3. putih = [
  4. 2, 2;
  5. 2, 2;
  6. 2, 2;
  7. 2, 2;
  8. 2, 2;
  9. 2, 2;
  10. 2, 2;
  11. ];
  12. hitam = [
  13. 0, 0;
  14. 0, 0;
  15. 0, 0;
  16. 0, 0;
  17. 2, 2;
  18. 2, 2;
  19. 2, 2;
  20. ];
  21. putih_tengah = [
  22. 2;
  23. 2;
  24. 2;
  25. 2;
  26. 2;
  27. 2;
  28. 2;
  29. ];
  30.  
  31. is_hitam = @(x) x == 2 || x == 5 || x == 7 || x == 10 || x==12 || x==0;
  32.  
  33.  
  34. matrix_not(:,:,1) = putih;
  35. matrix_not(:,:,2) = hitam;
  36. matrix_not(:,:,3) = putih;
  37. matrix_not(:,:,4) = putih;
  38. matrix_not(:,:,5) = hitam;
  39. matrix_not(:,:,6) = putih;
  40. matrix_not(:,:,7) = hitam;
  41. matrix_not(:,:,8) = putih;
  42. matrix_not(:,:,9) = putih;
  43. matrix_not(:,:,10) = hitam;
  44. matrix_not(:,:,11) = putih;
  45. matrix_not(:,:,12) = hitam;
  46.  
  47. panjang_piano = 44;
  48.  
  49. sequence = randperm(40); % isi pake foto nada 1=A 2=B dst
  50. iterator = 1;
  51. for i = sequence
  52. xmap = colormap(gray(3));
  53. matrix = [putih_tengah+1];
  54. for j=1:panjang_piano
  55. posisi = mod(j-1,12)+1;
  56. if posisi == 1 || posisi == 6 || posisi == 11
  57. matrix = [matrix putih_tengah+1];
  58. else
  59. matrix = [matrix (matrix_not(:,:,mod((j-1),12)+1)+1)];
  60. end
  61. end
  62. k = 1;
  63. for j=1:panjang_piano
  64. posisi = mod(j-1,12)+1;
  65. if j==i
  66. if is_hitam(posisi)
  67. matrix(:,k:k+1) = matrix(:,k:k+1)+1;
  68. else
  69. matrix(:,k:k+2) = (matrix(:,k:k+2)-1)/2 +1;
  70. end
  71. end
  72. if is_hitam(mod(posisi+1,12))
  73. k = k + 2;
  74. elseif is_hitam(posisi)
  75. k = k + 1;
  76. else
  77. k = k + 3;
  78. end
  79. end
  80. subplot(2,1,1)
  81. image(matrix);
  82. k=3;
  83. offset = 0.45;
  84. for i=1:panjang_piano
  85. line([k*i+offset,k*i+offset], [0,8], 'Color', 'black');
  86. end
  87. xmap = colormap(gray(3));
  88. matrix2 = [putih_tengah+1];
  89. for j=1:panjang_piano
  90. posisi = mod(j-1,12)+1;
  91. if posisi == 1 || posisi == 6 || posisi == 11
  92. matrix2 = [matrix2 putih_tengah+1];
  93. else
  94. matrix2 = [matrix2 (matrix_not(:,:,mod((j-1),12)+1)+1)];
  95. end
  96. end
  97. k = 1;
  98. for j=1:panjang_piano
  99. posisi = mod(j-1,12)+1;
  100. if j==i
  101. if is_hitam(posisi)
  102. matrix2(:,k:k+1) = matrix2(:,k:k+1)+1;
  103. else
  104. matrix2(:,k:k+2) = (matrix2(:,k:k+2)-1)/2 +1;
  105. end
  106. end
  107. if is_hitam(mod(posisi+1,12))
  108. k = k + 2;
  109. elseif is_hitam(posisi)
  110. k = k + 1;
  111. else
  112. k = k + 3;
  113. end
  114. end
  115. subplot(2,1,2)
  116. image(matrix2);
  117. k=3;
  118. offset = 0.45;
  119. for i=1:panjang_piano
  120. line([k*i+offset,k*i+offset], [0,8], 'Color', 'black');
  121. end
  122.  
  123. M(iterator) = getframe;
  124. iterator = iterator + 1;
  125. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement