손으로 그린 QR 코드
Source: Hacker News
손으로 그린 QR 코드
저는 QR 코드를 정말 좋아합니다. 최근에 미니애폴리스에 있는 새로운 지역 문구점에서 새로운 메모지 같은 패드를 구입했습니다. 시트에는 10×10 격자와 2×10 격자가 있습니다.

QR 코드 생성
가장 작은 QR 코드(마이크로 QR 코드를 제외)는 버전 1이며, 21×21 픽셀 매트릭스를 사용합니다. 격자에 맞추기 위해 정사각형을 반으로 나누고 여백을 일부 사용해야 했습니다.
버전 1 QR 코드는 최저 데이터 품질 설정을 사용할 경우 최대 17 바이트 길이의 URL을 저장할 수 있습니다. 안타깝게도 https://sethmlarson.dev는 23 바이트라서, 대신 sethmlarson.dev를 사용했습니다. 그래도 많은 QR 코드 스캐너가 이 문자열을 “검색”하도록 하여 제 웹사이트로 연결됩니다.
게시 후 곧바로 친절한 독자 분이 알려주셨듯이, 버전 1 QR 코드에 전체 도메인 이름을 포함하려면 소문자 대신 대문자를 사용하면 됩니다. QR 코드의 “알파벳 숫자” 문자 집합에 실제로
:와/같은 URL 기호가 포함되어 있다는 것을 새롭게 알게 되었습니다.
저는 Python Package Index에 있는 qrcode 패키지를 사용해 참고용 코드를 만들었습니다. echo에 -n 옵션을 넣어 줄 바꿈을 없애는 것을 잊지 마세요.
$ echo -n "HTTPS://SETHMLARSON.DEV" | qr --error-correction=L
코드 그리기
먼저 코너 정사각형(“포지션 패턴”이라고도 함)을 그리고 나머지 픽셀을 채우기 시작했습니다. 왼쪽 위와 왼쪽 아래 포지션 사이에 “타이밍 라인”을 추가하자 스캐너가 패턴을 인식하기 시작했습니다.

위쪽 타이밍 라인과 데이터를 계속 그리니 스캐너가 전체 정사각형을 QR 코드로 인식했습니다. 자세히 보면 데이터에 작은 실수가 하나 있지만, 최저 오류 보정 수준에서도 문제되지 않았습니다.

스캔
드디어 QR 코드가 완성되었습니다! 종이가 평평한 표면에서 말려서 스캔이 까다로웠습니다. 종이를 평평하게 잡고 있을 때만 성공적으로 스캔할 수 있었고, 모니터에 걸어두면 멀리서도 매우 잘 인식되었습니다.

영감
이 글이 여러분이 격자 종이에 손으로 무언가를 그려보는 데 영감을 주길 바랍니다 🖤🤍. 더 많은 격자 기반 영감을 원한다면 Alexander Miller의 웹 아트 작품 GRID WORLD를 확인해 보세요.