itarck / moxool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

moxool

Project Description:

  • This project is a demonstration model of the solar system's planetary system, with an error margin of approximately an hour for solar and lunar eclipses within 100 years.
  • This was a hobby project during the summer of 2021, using code scripts that were utilized while recording the Astronomy History Series videos. The project encapsulates some typical scenarios for astronomy enthusiasts to learn and communicate.
  • The 3D models in this project are downloaded from NASA's official website, and the project is for learning and communication purposes only. Commercial use is prohibited.
  • Desktop versions are downloaded from here by selecting the corresponding operating system.

Development-related:

  • The project is written in ClojureScript, using libraries such as react-three-fiber, reagent, datascript, posh, etc.
  • The current version has an improper state management method for the 3D models, which leads to multiple mountings of the 3D models, resulting in performance issues. Later, it was discovered that using React hooks for state management could improve performance by 10-50 times, but the old code is not yet modified.

项目说明

  • 本项目是一个太阳系行星系统的演示模型,100年内的日月食误差大约在小时级别。
  • 这是在2021年暑假的业余项目,录制天文学史系列视频时用到过的代码脚本,封装了一些典型场景。并非成熟软件,仅供天文爱好者学习交流。
  • 本项目中的3D模型从NASA官网下载,本项目仅供学习交流,禁止商用。
  • 桌面版本从这里选择对应操作系统下载,相关可交互的场景说明.

开发相关:

  • 用了clojurescript编写, 用到了react-three-fiber, reagent, datascript, posh等库
  • 当前版本对3D模型的状态管理方式不合理,导致3D模型多次挂载,存在性能问题。后来发现如果用react hooks来管理状态变更,可以提升10-50倍,只是老代码暂时不想改了。

About


Languages

Language:Clojure 99.5%Language:CSS 0.3%Language:HTML 0.2%