# Tacview-Like **Repository Path**: dancingwel/Tacview-Like ## Basic Information - **Project Name**: Tacview-Like - **Description**: 跨平台(Windows/Linux)的开源 3D 遥测可视化软件,功能参考 Tacview - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-06 - **Last Updated**: 2026-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TacView-Like 开源遥测可视化软件(暂名) ## 项目简介 本项目旨在开发一款跨平台(Windows/Linux)的开源 3D 遥测可视化软件,功能参考 Tacview,专注于对飞行器/潜航器等目标的轨迹和状态数据的实时/回放可视化。目标为科研人员和爱好者提供一个轻量级、高扩展性、可定制的分析工具。 --- ## 软件架构设计 本项目采用模块化设计,主要由以下子系统构成: ### 1. 数据模块(Data Module) - 功能:解析并缓存遥测数据(如目标位置、速度、航向等) - 数据格式:支持 CSV / JSON / 自定义格式(未来可考虑兼容 Tacview 的 ACMI) ### 2. 场景管理模块(Scene Manager) - 管理所有目标实体(飞行器/潜艇)及其状态 - 实现状态随时间演化(时间轴推进) ### 3. 渲染模块(Rendering Engine) - 使用 OpenGL 绘制 3D 模型、轨迹、地形等 - 包括视角控制(自由视角、锁定目标等) ### 4. UI 控制模块(UI Layer) - 使用 Qt5 进行主界面构建(菜单、信息面板、时间轴等) - OpenGL 渲染区集成于 Qt 窗口中(使用 QOpenGLWidget) ### 5. 平台适配层(Platform Abstraction) - 使用 GLFW 处理窗口创建 & 输入捕捉 - 与 Qt 进行集成或分离处理,兼顾灵活性 --- ## 🛠 技术选型说明 | 组件 | 名称 | 说明 | |------|------|------| | C++ | Visual Studio 17 2022 | 高性能、跨平台 | | 渲染 | OpenGL | 自定义图形渲染 | | UI | Qt 5.15.10 | 稳定成熟,兼容性强 | | 构建系统 | CMake | 跨平台构建 | | 模型加载(预选) | Assimp | 加载 .obj/.fbx 等3D模型格式(可选) | | 日志(暂定) | spdlog 或 QtLogging | 控制台与GUI日志输出 | --- ## 📋 TODO List ### 📁 项目搭建 - [√] 初始化 CMake 脚本,支持 Windows/Linux 构建 - [√] 配置 Qt + OpenGL 混合开发环境 - [√] 创建最小示例(Qt 窗口中嵌入 OpenGL 渲染) ### 🧱 基础架构 - [√] 设计并实现数据结构:目标状态、轨迹、时间轴等 - [√] 搭建主框架:主窗口 + 渲染视图 ### 🖼 渲染系统 - [ ] 实现基础场景坐标系 - [ ] 加载并显示轨迹点线(折线) - [ ] 显示目标模型(简化模型或立方体) - [ ] 实现相机控制(旋转、缩放、跟随) ### 🧪 数据支持 - [ ] 实现 CSV 轨迹数据读取(位置、航向、速度) - [ ] 支持基本时间播放控制(播放、暂停、拖动) ### 🖱 UI 功能 - [ ] 时间轴控件(Qt滑动条) - [ ] 信息面板:目标实时状态显示 - [ ] 目标选择与视角锁定功能 ### 🧩 扩展目标(中后期) - [ ] 加载地形高度图或网格 - [ ] 加载多目标 & 多类型模型 - [ ] 支持热键或脚本操作 - [ ] 设计自定义数据格式(兼容或扩展 ACMI) --- ## 📦 构建与运行 ### 依赖项(需预先安装) - [Qt 5.15.10](https://pan.baidu.com/s/13EGSnVQsMCc-SoCQfByEAQ?pwd=3j6q) - CMake >= 3.15 - C++17 编译器(MSVC, GCC, Clang 均可) - GLFW - OpenGL 驱动(系统原生) ### 构建示例(Linux / Windows) run.bat 支持一个可选参数: 第一个参数:Qt 安装的 base 路径 示例:D:\Software\qt5.15.10-win64-debug-release-msvc2022-shared\msvc64 如果未传入参数,则会尝试从环境变量 QT_ROOT 中读取路径。 推荐用法:使用 Windows CMD 终端运行 请 使用 CMD 命令提示符(不是 PowerShell),否则 set 设置的环境变量在 run.bat 中将不可见。(适用于反复调试) ```cmd set QT_ROOT=D:\Software\qt5.15.10-win64-debug-release-msvc2022-shared\msvc64 .\run.bat ```