设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
Logo 顶部广告
首页 | 机械毕业设计 | 电子电气毕业设计 | 计算机毕业设计 | 土木工程毕业设计 | 视觉传达毕业设计 | 理工论文 | 文科论文 | 毕设资料 | 帮助中心
今天是: |>>> 您现在的位置:首页>>>>文档详细内容
标题:

基于PythonGUI实现的绘图工具软件设计 课程论文+运行说明书+演示视频+源码及资料文件


目录1 综述 12 算法介绍 22.1 绘制线段 22.1.1 DDA算法 22.1.2 Bresenham算法 22.1.3 代码处理 22.2 绘制多边形 32.3 绘制椭圆 32.4 绘制曲线 32.4.1 Bezier曲线 32.4.2 B-spline曲线 32.4.3 代码处理 32.5 平移 42.6 旋转 42.7 缩放 42.8 裁剪 42.8.1 Cohen-Sutherland算 42.8.2 Liang-Barskey算法法 43 系统介绍 53.1 CLI框架 53.2 GUI框架 53.3 GUI功能 63.4 额外功能 93.4.1 界面美化 93.4.2 菜单部分 93.4.3 绘图工具栏 103.4.4 编辑工具栏 104 总结 104.1 遇到的一些问题 104.2 6月更新 104.2.1 添加功能 104.2.2 bug修正及其他更新 11参考文献 111综述在老师所给框架代码上进行修改完善,完成了所有要求的指令输入输出,GUI界面实现了CLI部分的所有功能,包括设置画笔颜色、重置画布、保存画布、两种算法绘制线段、两种算法绘制多边形、绘制椭圆、两种算法绘制曲线、平移、旋转、缩放和两种算法裁剪线段.额外实现了如下内容:•点击画布右、下、右下角边框调整画布大小; 点击画布选择图元; 编辑时显示平移等操作控制点.•删除选中图元,复制选中图元,粘贴已复制图元.•绘制虚线段; 凸多边形和椭圆填充.•更美观的界面.2算法介绍2.1绘制线段2.1.1DDA算法基本思想是记下起点,然后让长的一边变量不断加一,短的一边则不断加斜率乘1后近似为int值.代码参照[7].2.1.2Bresenham算法基本思想其实和DDA是一样的.只是Bresenham算法通过变形避免了浮点运算.这样一来,既提高了运算的效率,又避免了浮点数不断累加造成的长线段误差.所以本质上,Bresenham是DDA算法的优化形式.代码参照[7].2.1.3代码处理•特判使得能够处理两端点相等的情况.•因为讲义中说不要求像素级一致,所以和伪代码一样只亮一边端点,即线段点的范围[P0, P1).2.2绘制多边形默认指令中的点是排好序的, 直接调用线段绘制算法按顺序连点.2.3绘制椭圆使用ppt上的中点椭圆算法, 先画出1/4椭圆,  然后对称.  画1/4椭圆时,根据是否到达切线斜率为-1的位置, 来判断选点的方向是基于x还是基于y, 再根据实际椭圆上的点离哪个点更近取近似.实际代码要先求出中心和长短轴, 然后以中心为原点求点, 再映射回原来的坐标系.对称的时候考虑了x轴和y轴上的特例, 不然x=0和y=0的点对称后相当于1个点出现了两次.代码流程参考书上ppt相关部分.































| 关于我们 | 友情链接 | 毕业设计招聘 |

毕业66资料站 biye66.com ©2015-2026 版权所有 | 微信:15573586651 QQ:3903700237

本站毕业设计和毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!