Repolode
qunabu

qunabu/Gravity

중력이 궤도를 만드는 원리를 안내 투어와 실제 천문 데이터로 보여 주는 TypeScript·Three.js 태양계 시뮬레이터입니다.

스타
220
포크
17
열린 이슈
0
마지막 커밋
28일 전

어떤 프로젝트인가요?

Gravity는 TypeScript, Three.js, Vite로 만든 브라우저 기반 태양계 시뮬레이터입니다. 천체의 크기와 질량, J2000.0 궤도 요소에 실제 천문 데이터를 사용하므로 행성, 명왕성, 주요 위성이 실제 궤도를 따라 움직입니다. 렌더링에만 배율을 적용하며, 배율을 전환해 실제 크기로 보거나 태양과 작은 수성을 한 화면에서 볼 수 있는 시각적 배율로 볼 수 있습니다.

프로젝트를 시작하면 궤도가 생기는 이유를 설명하는 43단계 안내 투어가 열립니다. 뉴턴의 법칙부터 지구-달 계, 라그랑주점, 조석, 일반 상대성 이론까지 순서대로 살펴봅니다. 각 단계에는 딥링크가 있으며, 영어와 폴란드어 중에서 텍스트 언어를 선택할 수 있습니다. 투어를 마친 뒤에는 자유 탐색 모드에서 시뮬레이션을 직접 조작할 수 있습니다.

두 가지 물리 모델을 전환해 사용할 수 있습니다. 하나는 해석적 케플러 모델이고, 다른 하나는 leapfrog 적분기로 모든 천체 쌍의 뉴턴 중력을 계산하며 실시간 에너지 변화를 표시하는 N체 모델입니다. 텍스처는 캔버스에서 절차적으로 생성되므로 이미지 파일 없이 오프라인에서도 앱을 실행할 수 있습니다.

핵심 기능

  • 01태양, 행성, 명왕성, 주요 위성의 실제 크기와 질량, J2000 궤도 요소를 사용합니다.
  • 02실제 크기와 작은 천체도 잘 보이는 시각적 배율을 전환할 수 있습니다.
  • 03해석적 케플러 궤도와 실시간 N체 중력 시뮬레이션을 전환할 수 있습니다.
  • 04딥링크와 영어·폴란드어 텍스트를 지원하는 43단계 안내 투어를 제공합니다.
  • 05오프라인에서도 사용할 수 있도록 행성과 위성의 텍스처를 절차적으로 생성합니다.

활용 사례

  • 학생에게 궤도 역학과 뉴턴의 법칙을 가르칠 때 활용합니다.
  • 라그랑주점, 조석, 궤도 공명이 어떻게 작동하는지 시각적으로 살펴봅니다.
  • TypeScript와 Three.js로 만든 코드를 3D 과학 시각화의 참고 자료로 활용합니다.

빠른 시작

  1. 1

    종속성을 설치합니다

    npm install
  2. 2

    localhost:5173에서 개발 서버를 시작합니다

    npm run dev

사용 전 알아둘 점

  • 달의 궤도 승교점, 근점 인수, 위상 값은 근사치입니다. 장반경, 이심률, 궤도 경사각, 주기만 실제 값입니다.
  • 시각적 스케일에 비선형 재매핑을 사용하므로 해당 모드에서 궤도 타원은 정확한 타원이 아닌 근사적인 모양입니다.
  • 달을 활성화한 N-body 모드에는 더 세밀한 타임스텝이 필요하며, 시간 배율이 매우 높으면 정확도가 떨어질 수 있습니다.

토픽

자주 묻는 질문

Gravity은(는) 무엇인가요?
중력이 궤도를 만드는 원리를 안내 투어와 실제 천문 데이터로 보여 주는 TypeScript·Three.js 태양계 시뮬레이터입니다. Gravity는 TypeScript, Three.js, Vite로 만든 브라우저 기반 태양계 시뮬레이터입니다. 천체의 크기와 질량, J2000.0 궤도 요소에 실제 천문 데이터를 사용하므로 행성, 명왕성, 주요 위성이 실제 궤도를 따라 움직입니다. 렌더링에만 배율을 적용하며, 배율을 전환해 실제 크기로 보거나 태양과 작은 수성을 한 화면에서 볼 수 있는 시각적 배율로 볼 수 있습니다.
Gravity은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
Gravity은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
Gravity은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. Gravity의 마지막 커밋은 2026년 9월 21일입니다.
Gravity은(는) 어디에 사용할 수 있나요?
학생에게 궤도 역학과 뉴턴의 법칙을 가르칠 때 활용합니다. 라그랑주점, 조석, 궤도 공명이 어떻게 작동하는지 시각적으로 살펴봅니다. TypeScript와 Three.js로 만든 코드를 3D 과학 시각화의 참고 자료로 활용합니다.
Gravity는 어떻게 설치하나요?
종속성을 설치합니다: npm install localhost:5173에서 개발 서버를 시작합니다: npm run dev
Gravity은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/qunabu/Gravity

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트