기타 Lobsters · 2일 전

터미널 명령어 한 줄로 실시간 '달의 위상' 띄워주는 아스키 아트 프로젝트

핵심 요약
  • 현재 시간과 위치에 맞춘 달의 위상을 7비트 아스키 아트로 구현해 터미널에 출력해 주는 프로젝트가 공개되었습니다.
  • 단순 이미지가 아니라 공전 거리 차이에 따른 크기 변화(최대 12%)와 달의 미세한 흔들림(장동)까지 정밀 계산해 반영했습니다.
  • 별도 설치 없이 curl 명령어나 npx로 바로 실행할 수 있으며, 클라우드플레어 무료 티어 제약에 맞춰 초경량으로 최적화되었습니다.
요약 터미널이나 웹 브라우저에서 현재 시점의 달 위상을 7비트 아스키(ASCII) 아트로 정밀하게 시각화해 주는 오픈소스 프로젝트 'The ASCII Side of the Moon'이 해외 개발자 커뮤니티에서 화제를 모았습니다. 이 프로젝트는 단순히 달 모양 텍스트를 출력하는 수준을 넘어 실제 천문학적 계산을 정교하게 반영한 것이 특징입니다. 달의 공전 궤도에 따른 위상 변화는 물론이고, 원지점과 근지점에 따라 겉보기 크기가 최대 12%까지 달라지는 현상, 그리고 달이 공전하며 미세하게 흔들리는 장동(libration) 현상까지 계산해 아스키 아트로 구현했습니다. 관측자의 위도와 경도, 시간대에 따라 지평선 위아래 위치나 기울기 각도까지 달라지며, 북극성을 기준으로 한 천구 좌표계 시점 전환도 지원합니다. 사용법 또한 매우 간단하게 설계되었습니다. 터미널 창에서 curl 명령어로 해당 URL을 호출하기만 하면 실시간 달의 모습을 텍스트로 바로 확인할 수 있으며, 날짜나 위도·경도 파라미터를 붙여 원하는 시점과 위치의 달을 불러올 수도 있습니다. 또한 npm을 통해 `npx ascii-side-of-the-moon` 명령어로 로컬 터미널에서 즉시 실행하는 방식도 제공합니다. 개발자에 따르면 계산에는 천문학 라이브러리인 'astronomy-engine'이 사용되었고, 3D 달 모델을 블렌더로 렌더링한 뒤 Chafa를 이용해 아스키 아트로 변환했습니다. 특히 클라우드플레어(Cloudflare) 무료 티어 환경에서 구동하기 위해 자바스크립트 번들 크기를 3MB 이하로 압축하고 CPU 응답 시간을 10밀리초 이내로 최적화해 제작되었다고 밝혔습니다.
Sponsored · 광고