Bad Apple을 vim에서 재생하기
-
Bad Apple이란?
- Bad Apple은 시각적으로 매력적인 뮤직 비디오로, 다양한 곳에 삽입되어 밈으로 사용됨.
- 스마트 냉장고에서 DOOM을 실행하는 것과 비슷한 밈으로 인식됨.
-
프레임 얻기
- Bad Apple의 각 프레임 데이터를 얻기 위해 Felixoofed의 저장소를 클론하여 약 6,500개의 PNG로 변환.
- Python 코드를 사용하여 각 PNG를 0과 1로 이루어진 2D 배열로 변환.
-
vim에서 그리기
- 텍스트 그리드에 그림을 삽입하여 vim에서 그림을 그릴 수 있음.
- vim의 하이라이팅 기능을 사용하여 매칭된 문자에 동일한 색상을 적용.
- 사각형 폰트를 사용하여 정사각형 픽셀을 구현.
-
임의의 사각형 그리기
- vim의 검색 기능을 활용하여 특정 라인과 열을 매칭하는 패턴을 생성.
- 여러 패턴을 OR 연산자로 결합하여 여러 사각형을 한 번에 그릴 수 있음.
-
프레임을 사각형으로 변환
- 90x120 그리드를 사각형으로 분해하여 검색 문자열을 생성.
- 다양한 알고리듬을 사용하여 최적의 검색 패턴을 선택.
-
vim에서 실행하기
- vim 매크로를 사용하여 비디오를 재생.
- 매크로는 검색 패턴을 설정하고 다음 줄로 이동하여 반복 실행 가능.
-
마무리
- 이 프로젝트는 하루 만에 완성되었으며, 더 많은 시간을 투자한다면 몇 가지 개선점을 고려할 수 있음.
- Recurse Center에서 첫 주에 이 프로젝트를 발표하여 긍정적인 반응을 얻음.
- 코드가 복잡하지만 관심이 있다면 GitHub에서 확인 가능.