Skip to content

wqxhhhh/-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

光滑曲线绘制工具

一个基于 PyQt5 开发的交互式曲线绘制工具,支持绘制光滑曲线、调整曲线样式、保存和加载曲线等功能。

功能特性

  • 🎨 交互式曲线绘制

    • 鼠标点击添加控制点
    • 拖拽控制点调整曲线形状
    • 使用 Catmull-Rom 样条算法生成光滑曲线
  • 🛠️ 曲线样式调整

    • 自定义曲线颜色
    • 调整曲线宽度
    • 显示/隐藏控制点
  • 💾 文件操作

    • 保存曲线数据到 JSON 文件
    • 从 JSON 文件加载曲线数据
  • 🖥️ 用户界面

    • 工具栏快速访问常用功能
    • 控制面板调整曲线参数
    • 状态栏显示操作信息

安装要求

  • Python 3.6+
  • PyQt5

安装步骤

  1. 克隆项目到本地:
git clone [项目地址]
cd DrawGraph
  1. 安装依赖:
pip install PyQt5
  1. 运行程序:
python main.py

使用说明

基本操作

  • 点击画布添加控制点
  • 拖拽控制点调整曲线形状
  • 右键点击删除控制点

工具栏功能

  • 保存:将当前曲线保存为 JSON 文件
  • 加载:从 JSON 文件加载曲线
  • 清除:清空画布
  • 显示/隐藏控制点:切换控制点显示状态
  • 选择颜色:打开颜色选择器

控制面板

  • 线宽滑块:调整曲线宽度(1-10)

快捷键

  • Ctrl+S:保存曲线
  • Ctrl+O:加载曲线
  • Delete:清除画布

项目结构

DrawGraph/
├── main.py          # 程序入口
├── main_window.py   # 主窗口类
├── canvas.py        # 画布类
├── utils.py         # 工具函数
└── README.md        # 项目说明文档

开发说明

主要类说明

  • MainWindow:主窗口类,负责界面布局和用户交互
  • Canvas:画布类,负责曲线绘制和鼠标事件处理
  • utils:工具函数,提供数据转换功能,将对应的内容转为json对象

曲线算法

使用 Catmull-Rom 样条算法生成光滑曲线,该算法具有以下特点:

  • 通过控制点生成平滑曲线
  • 曲线经过所有控制点
  • 局部控制性良好

联系方式

如有问题或建议,请通过以下方式联系:

About

大作业

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages