실제 궤도 역학을 기반으로 학생, 교육자, 우주 작전팀을 위해 만든 브라우저 기반 3D 위성 추적기입니다.
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
종속성을 설치합니다
npm install - 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 통계는 매일 갱신됩니다.
관련 프로젝트
장소와 시간에 따른 밤하늘을 브라우저에서 재현하는 오프라인 지원 인터랙티브 웹 앱입니다.
텍스트 구문으로 SVG 인포그래픽을 생성하고 렌더링하는 선언형 엔진으로, AI 기반 생성과 스트리밍 출력에 적합합니다.
런타임 의존성 없이 Mermaid 다이어그램 텍스트를 SVG로 변환하는 경량 동기식 렌더러입니다.
게임과 VR 애플리케이션을 위한 멀티코어 친화적인 C++ 강체 물리 및 충돌 감지 라이브러리입니다.
Vite, Vitest, Oxlint, Oxfmt, Rolldown, tsdown을 하나의 `vp` CLI로 묶고 런타임과 패키지 매니저까지 관리하는 통합 웹 개발 도구체인입니다.