Zelle图形模块不提供直接绘制半圆(圆弧)的代码。但是,由于该模块是用Python编写的,建立在Tkinter的,和Tkinter的提供了一个圆弧绘制函数,我们可以添加自己的弧子类,从Zelle椭圆形类继承并实现弧:

from graphics import *

class Arc(Oval):

def __init__(self, p1, p2, extent):

self.extent = extent

super().__init__(p1, p2)

def __repr__(self):

return "Arc({}, {}, {})".format(str(self.p1), str(self.p2), self.extent)

def clone(self):

other = Arc(self.p1, self.p2, self.extent)

other.config = self.config.copy()

return other

def _draw(self, canvas, options):

p1 = self.p1

p2 = self.p2

x1, y1 = canvas.toScreen(p1.x, p1.y)

x2, y2 = canvas.toScreen(p2.x, p2.y)

options['style'] = tk.CHORD

options['extent'] = self.extent

return canvas.create_arc(x1, y1, x2, y2, options)

win = GraphWin("My arc example", 200, 200)

arc = Arc(Point(50, 50), Point(100, 100), 180)

arc.setFill("red")

arc.draw(win)

win.getMouse()

win.close()

输出

python半圆_如何在Python中使用Zelle图形制作半圆?相关推荐

  1. python多项式回归_如何在Python中实现多项式回归模型

    python多项式回归 Let's start with an example. We want to predict the Price of a home based on the Area an ...

  2. python大括号_如何在python字符串中打印文字大括号字符并在其上使用.format?

    如何在python字符串中打印文字大括号字符并在其上使用.format? x = " \{ Hello \} {0} " print x.format(42) 给我:{Hello} ...

  3. spyder python 使用_如何在spyder中使用vpython?

    我试着用vpython,无论如何,但我失败了...在 首先,我在win8.1上安装了anacondapython2.7.10. 然后,我通过在命令行中输入以下命令来安装Vpython: conda安装 ...

  4. vscode怎么安装python库_如何在vscode中安装python库的方法步骤

    免费资源网 - https://freexyz.cn/ vscode安装python库 1.已经在vscode中装了python并配置好python运行环境. 检查是否正确配置好运行环境,按Windo ...

  5. python迭代计算_如何在Python中迭代坐标列表并计算它们之间的距离

    我的列表有20个坐标(x和y坐标).我可以计算任意两个坐标之间的距离,但是我很难编写一个算法来迭代列表并计算第一个节点和每个其他节点之间的距离.例如, ListOfCoordinates = [(1, ...

  6. python缓冲区_如何在Python中使用Google的协议缓冲区

    python缓冲区 When people who speak different languages get together and talk, they try to use a languag ...

  7. python物理模拟_如何在Python 游戏中模拟引力

    学习如何使用 Python 的 Pygame 模块编程电脑游戏,并开始操作引力. 真实的世界充满了运动和生活.物理学使得真实的生活如此忙碌和动态.物理学是物质在空间中运动的方式.既然一个电脑游戏世界没 ...

  8. python 边界_如何在python中获取图像的边界像素?

    获取边框像素: 掩模操作是获取图像边界像素的多种方法之一.代码如下:a= cv2.imread('cal1.jpg') bw = 20 //width of border required mask ...

  9. python标准化_如何在Python中规范化和标准化时间序列数据

    最低日温度 该数据集显示了一个强大的季节要素,并有一个很好的,细致的细节工作. 本教程假定数据集位于当前工作目录中,文件名为 " daily-minimum-temperatures-in- ...

  10. flask执行python脚本_如何在Flask中运行python脚本

    我有一个Flask脚本,可以创建网站并动态打印一些数据.-打印的数据应来自另一个python脚本. 我目前面临的问题是,如果我将执行python脚本的行放在执行Flask应用程序的行之前,它将运行Py ...

最新文章

  1. greta的问题及解决: LIBCMTD.lib(_wctype.obj) : error LNK2005: _iswspace already defined in xxx.obj...
  2. android 中intent跳转是灰色的,没有效果,显示intent = null
  3. 264. 丑数 II---LeetCode---JAVA(动态规划)
  4. xaml_XAML或JavaFx?
  5. LeetCode 435. 无重叠区间(贪心/动态规划)
  6. Linux、Mac 命令行快捷键
  7. 【LeetCode】Copy List with Random Pointer
  8. 各大厂大数据精品分享汇总(进阶版)
  9. 交换机/路由器实验:保姆级别的iperf安装和使用教程
  10. 有关arcmap的学习使用心得
  11. np.dot、np.outer、np.matmul、np.multipy、np.inner、np.outer与np.cross几个函数之间的区别
  12. 如何用AutoRunner进行脚本手工编写
  13. 手机通讯录分组名称_个人通讯录如何批量导入/导出
  14. php经纬度转地址高德,高德 地址编码,转为经纬度
  15. 美股,期货和国债随着大选进行中持续大幅度波动,华尔街如何看待这次结局?
  16. LeetCode - Pascal's Trangle
  17. 软件工程第一次作业:写一篇自己的博客
  18. SpringBoot(五)整合Mybatis-Plus
  19. win10高危服务_Win10启用不了Windows Defender Antivirus Service服务如何解决
  20. linux下Kdevelop开发基本步骤

热门文章

  1. 中国互联网惊呆老外?微信大数据揭露“无现金”真相
  2. 数显之家快讯:【SHIO世硕心语】未来15年,重点关注8大前沿领域,9大战略产业
  3. Elasticsearch:如何制作 GeoJSON 文件并进行地理位置搜索
  4. C语言实现通过日期计算这是一年中的第几天
  5. 巨大数的运算 (前篇 ——对于整数) # 万进制 # —————— 开开开山怪
  6. Spring 最常用的几大类常用注解总结,史上最强整理!
  7. 网易邮箱客户端服务器设置
  8. 聊一聊阿里P8、P9及以上人的水平
  9. matlab 理论力学,MATLAB理论力学/高等学校教材
  10. 华为云nbiot接入示例_nbiot