Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear();
- clc
- putih = [
- 2, 2;
- 2, 2;
- 2, 2;
- 2, 2;
- 2, 2;
- 2, 2;
- 2, 2;
- ];
- hitam = [
- 0, 0;
- 0, 0;
- 0, 0;
- 0, 0;
- 2, 2;
- 2, 2;
- 2, 2;
- ];
- putih_tengah = [
- 2;
- 2;
- 2;
- 2;
- 2;
- 2;
- 2;
- ];
- is_hitam = @(x) x == 2 || x == 5 || x == 7 || x == 10 || x==12 || x==0;
- matrix_not(:,:,1) = putih;
- matrix_not(:,:,2) = hitam;
- matrix_not(:,:,3) = putih;
- matrix_not(:,:,4) = putih;
- matrix_not(:,:,5) = hitam;
- matrix_not(:,:,6) = putih;
- matrix_not(:,:,7) = hitam;
- matrix_not(:,:,8) = putih;
- matrix_not(:,:,9) = putih;
- matrix_not(:,:,10) = hitam;
- matrix_not(:,:,11) = putih;
- matrix_not(:,:,12) = hitam;
- panjang_piano = 44;
- sequence = randperm(40); % isi pake foto nada 1=A 2=B dst
- iterator = 1;
- for i = sequence
- xmap = colormap(gray(3));
- matrix = [putih_tengah+1];
- for j=1:panjang_piano
- posisi = mod(j-1,12)+1;
- if posisi == 1 || posisi == 6 || posisi == 11
- matrix = [matrix putih_tengah+1];
- else
- matrix = [matrix (matrix_not(:,:,mod((j-1),12)+1)+1)];
- end
- end
- k = 1;
- for j=1:panjang_piano
- posisi = mod(j-1,12)+1;
- if j==i
- if is_hitam(posisi)
- matrix(:,k:k+1) = matrix(:,k:k+1)+1;
- else
- matrix(:,k:k+2) = (matrix(:,k:k+2)-1)/2 +1;
- end
- end
- if is_hitam(mod(posisi+1,12))
- k = k + 2;
- elseif is_hitam(posisi)
- k = k + 1;
- else
- k = k + 3;
- end
- end
- subplot(2,1,1)
- image(matrix);
- k=3;
- offset = 0.45;
- for i=1:panjang_piano
- line([k*i+offset,k*i+offset], [0,8], 'Color', 'black');
- end
- xmap = colormap(gray(3));
- matrix2 = [putih_tengah+1];
- for j=1:panjang_piano
- posisi = mod(j-1,12)+1;
- if posisi == 1 || posisi == 6 || posisi == 11
- matrix2 = [matrix2 putih_tengah+1];
- else
- matrix2 = [matrix2 (matrix_not(:,:,mod((j-1),12)+1)+1)];
- end
- end
- k = 1;
- for j=1:panjang_piano
- posisi = mod(j-1,12)+1;
- if j==i
- if is_hitam(posisi)
- matrix2(:,k:k+1) = matrix2(:,k:k+1)+1;
- else
- matrix2(:,k:k+2) = (matrix2(:,k:k+2)-1)/2 +1;
- end
- end
- if is_hitam(mod(posisi+1,12))
- k = k + 2;
- elseif is_hitam(posisi)
- k = k + 1;
- else
- k = k + 3;
- end
- end
- subplot(2,1,2)
- image(matrix2);
- k=3;
- offset = 0.45;
- for i=1:panjang_piano
- line([k*i+offset,k*i+offset], [0,8], 'Color', 'black');
- end
- M(iterator) = getframe;
- iterator = iterator + 1;
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement