一个基于 React 和 Three.js 构建的交互式太阳系 3D 模拟器,精确呈现八大行星的运行轨迹和物理特性。
- 科学精确:基于 NASA 最新行星轨道数据
- 3D 可视化:真实比例的行星和轨道
- 交互体验:
- 鼠标拖动旋转视角
- 滚轮缩放观察细节
- 键盘控制移动视角
- 点击行星查看详情
- 教育价值:包含每个行星的 5 个趣味知识
- Node.js 16+ 下载 Node.js
- npm 8+ 或 yarn 1.22+
- 克隆项目仓库:
git clone https://github.com/your-repo/solar-system-simulator.git
cd solar-system-simulator
- 安装依赖:
npm install
# 或
yarn install
- 启动开发服务器:
npm start
# 或
yarn start
- 在浏览器中访问: http://localhost:3000
操作方式 | 功能 |
---|---|
鼠标拖动 | 旋转视角 |
滚轮滑动 | 缩放场景 |
方向键 | 移动视角 |
点击行星 | 查看详情 |
solar-system/
├── public/ # 静态资源
├── src/
│ ├── components/ # 行星组件
│ ├── models/ # 行星数据模型
│ ├── scenes/ # 3D场景
│ ├── App.js # 主组件
│ └── index.js # 入口文件
├── package.json
└── README.md
- 在
src/models/PlanetModel.js
中添加行星数据 - 创建对应的行星组件
- 在场景中初始化行星
npm test
npm run build
Q: 如何调整行星大小比例?
A: 修改PlanetModel.js
中的 radius 参数
Q: 如何添加新的行星知识? A: 在对应行星的 facts 数组中添加新条目
Q: 为什么我的键盘控制不起作用? A: 请确保点击画布获得焦点后再使用键盘
欢迎提交 Pull Request 或报告 Issue
- Fork 项目
- 创建分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 打开 Pull Request
MIT © 2025