Star Seeker is a free, open-source real-time star chart application for Windows. Built with C++ and the EasyX graphics library,it is lightweight, easy-to-use. No installation, no account, no cost -- just download, configure, and explore the night sky.
- 100% Free & Open Source -- Released under the MIT License. Use it, modify it, share it.
- 1,000+ Stars -- Ships with 1,000 brightest stars from the Yale Bright Star Catalog (BSC5), each with proper motion data and B-V color index. 231 stars carry traditional Chinese names.
- Easy to Use -- Arrow keys to pan, +/- to zoom, click to select. No learning curve, no complex setup. Just run and explore.
- Fully Configurable -- All celestial data is stored in plain text files. Edit config.ini to set your location, swap star catalogs, add satellites, or switch languages. No recompilation needed.
- Multi-Language -- Switch between English and Chinese in real-time with a single key press (L).
- Real-time sky simulation -- Dynamic computation of positions for the Sun, Moon, 8 planets, Pluto, 13 planetary moons, 3 asteroids, and 110 Messier deep-sky objects.
- 1,000 stars with proper motion -- Each star includes RA/Dec, magnitude, B-V color, distance, and proper motion in both RA and Dec.
- Satellite tracking -- Load TLE orbital data and compute satellite positions using a simplified SGP4 propagator.
- Interactive controls -- Pan with arrow keys, zoom with +/-, click to select objects and view detailed information.
- Reference overlays -- Display the celestial equator, ecliptic, and galactic equator.
- Smart rendering -- FOV-adaptive star sizing prevents crowding at wide angles; projection geometry maintains correct aspect ratio on any screen.
- Minimal dependencies -- Only requires C++ and the EasyX graphics library (Windows).
- Windows OS (the code uses Windows API and EasyX).
- Any C++ compiler that supports EasyX (Visual Studio, Dev-C++, etc.).
- EasyX graphics library -- download and install from EasyX official site.
- Clone the repository:
git clone https://github.com/ZZCjas/StarSeeker.git
- Create a new project and add all .cpp/.h files, or just open the main.cpp.
- Configure the project to link with EasyX (usually done by including graphics.h and linking the appropriate library; the EasyX installer sets this up automatically).
- Build the solution (F5).
Note: The project uses
#include <graphics.h>which is provided by EasyX. Ensure your include paths are set correctly.
Place the executable in the same directory as the data files (config.ini, stars.txt, messier.txt, satellites.txt) or adjust the paths in config.ini. Launch the executable.
| Action | Key / Mouse |
|---|---|
| Pan | Arrow keys |
| Zoom | +/- |
| Select object | Click on it |
| Toggle language | L |
| Toggle help overlay | H |
| Toggle object labels | T |
| Toggle reference lines | R |
| Show about dialog | A |
| Exit | ESC |
The status bar at the bottom shows UTC time, observer coordinates, camera azimuth/altitude, FOV, and details of the selected object (name, distance, magnitude, horizontal coordinates).
Edit config.ini to customize -- no recompilation needed:
[Observer]
latitude=39.9042 # North positive
longitude=116.4074 # East positive
[Catalog]
stars=stars.txt
messier=messier.txt
satellites=satellites.txt
[Display]
language=en # en or zh
show_help=1 # 0/1
show_labels=1
label_mag_limit=4.0 # Only show labels for stars brighter than this magnitudeAll data files are plain text -- easy to edit, extend, or replace with your own:
- stars.txt --
Name,NameZh,RAh,RAm,RAs,DecD,DecM,DecS,DistLY,Mag,BV,PM_RA,PM_Dec- PM_RA: proper motion in RA (arcsec/yr, includes cos(dec) factor)
- PM_Dec: proper motion in Dec (arcsec/yr)
- messier.txt --
Name,NameZh,Type,RAh,RAm,RAs,DecD,DecM,DecS,Mag,DistLY- Type: Galaxy, Nebula, OpenCluster, GlobularCluster, PlanetaryNebula, SupernovaRemnant
- satellites.txt -- Three-line format: name, TLE line 1, TLE line 2 (standard two-line element sets)
Contributions are welcome! Feel free to open issues or submit pull requests. For major changes, please discuss them first.
This project is licensed under the MIT License -- see the LICENSE file for details.
Star Seeker 是一款开源免费的实时星图软件,专为 Windows 平台设计。使用 C++ 和 EasyX 图形库开发,轻量、易用、无需安装。下载、配置、即可探索星空。
- 完全开源免费 -- 采用 MIT 许可证,随意使用、修改、分享。
- 1000+ 颗恒星 -- 内置耶鲁亮星表(BSC5)中最亮的 1000 颗恒星,每颗均包含自行数据和 B-V 色指数,其中 231 颗有中国传统星名。
- 简单易用 -- 方向键移动、+/- 缩放、点击选择。零学习成本,运行即用。
- 完全可配置 -- 所有天体数据存储为纯文本文件,编辑 config.ini 即可设置观测位置、更换星表、添加卫星、切换语言,无需重新编译。
- 多语言支持 -- 按 L 键实时切换中英文界面。
- 实时天空模拟 -- 动态计算太阳、月球、八大行星、冥王星、13 颗行星卫星、3 颗小行星和 110 个梅西耶深空天体的位置。
- 1000 颗恒星含自行数据 -- 每颗恒星包含赤经赤纬、星等、B-V 色指数、距离和赤经/赤纬自行。
- 卫星跟踪 -- 加载 TLE 轨道数据,使用简化 SGP4 传播器计算卫星位置。
- 交互操作 -- 方向键移动视角,+/- 缩放,点击选择天体并查看详细信息。
- 参考线 -- 显示天球赤道、黄道和银道。
- 智能渲染 -- 视场角自适应星体大小,广角时自动防止拥挤;投影几何保持任意屏幕比例不失真。
- 依赖极少 -- 仅需 C++ 和 EasyX 图形库(Windows)。
- Windows 操作系统(代码使用 Windows API 和 EasyX)。
- 支持 EasyX 的 C++ 开发环境(Visual Studio、Dev-C++ 等)。
- EasyX 图形库 -- 从 EasyX 官网 下载并安装。
- 克隆仓库:
git clone https://github.com/ZZCjas/StarSeeker.git
- 新建项目,添加所有 .cpp/.h 文件,或单独打开 main.cpp。
- 配置项目链接 EasyX(通常包含 graphics.h 并链接相应库;EasyX 安装程序会自动设置)。
- 编译。
注意:项目使用
#include <graphics.h>,由 EasyX 提供。请确保包含路径设置正确。
将可执行文件放在与数据文件(config.ini、stars.txt、messier.txt、satellites.txt)相同的目录中,或修改 config.ini 中的路径。启动可执行文件即可。
| 操作 | 按键 / 鼠标 |
|---|---|
| 平移视角 | 方向键 |
| 缩放 | +/- |
| 选择天体 | 点击天体 |
| 切换语言 | L |
| 显示/隐藏帮助 | H |
| 显示/隐藏天体标签 | T |
| 显示/隐藏参考线 | R |
| 显示关于对话框 | A |
| 退出 | ESC |
底部状态栏显示 UTC 时间、观测者坐标、相机方位/高度/视场角,以及选中天体的信息(名称、距离、星等、水平坐标)。
编辑 config.ini 进行自定义,无需重新编译:
[Observer]
latitude=39.9042 # 北纬为正
longitude=116.4074 # 东经为正
[Catalog]
stars=stars.txt
messier=messier.txt
satellites=satellites.txt
[Display]
language=en # en 或 zh
show_help=1 # 0/1
show_labels=1
label_mag_limit=4.0 # 只显示亮于此星等的恒星标签所有数据文件均为纯文本,方便编辑、扩展或替换:
- stars.txt --
名称,中文名,RAh,RAm,RAs,DecD,DecM,DecS,距离(光年),星等,BV,PM_RA,PM_Dec- PM_RA:赤经自行(角秒/年,已含 cos(dec) 因子)
- PM_Dec:赤纬自行(角秒/年)
- messier.txt --
名称,中文名,类型,RAh,RAm,RAs,DecD,DecM,DecS,星等,距离(光年)- 类型:Galaxy、Nebula、OpenCluster、GlobularCluster、PlanetaryNebula、SupernovaRemnant
- satellites.txt -- 三行格式:名称,TLE 第一行,TLE 第二行(标准双行根数格式)。
欢迎贡献!可以提交 Issue 或 Pull Request。重大更改请先进行讨论。
本项目采用 MIT 许可证 -- 详见 LICENSE 文件。
Happy stargazing!