python自带图形模块_检查单击是否在图形对象内[Python图形模块]
圆
对于圆的简单情况,可以使用距离公式确定鼠标是否在内部。例如:# checks whether pt1 is in circ
def inCircle(pt1, circ):
# get the distance between pt1 and circ using the
# distance formula
dx = pt1.getX() - circ.getCenter().getX()
dy = pt1.getY() - circ.getCenter().getY()
dist = math.sqrt(dx*dx + dy*dy)
# check whether the distance is less than the radius
return dist <= circ.getRadius()
def main():
win = GraphWin("Click Speed", 700, 700)
# create a simple circle
circ = Circle(Point(350,350),50)
circ.setFill("red")
circ.draw(win)
while True:
mouse = win.getMouse()
if inCircle(mouse,circ):
print ("Good job")
main()
椭圆形
对于更高级的椭圆示例,我们需要使用一个公式here。以下函数表示:
在
^{pr2}$
多边形
对于任意形状的多边形,我们需要引用this。我已经把它转换成了python的等价物。检查链接看看为什么它工作,因为我真的不确定def inPoly(pt1, poly):
points = poly.getPoints()
nvert = len(points) #the number of vertices in the polygon
#get x and y of pt1
x = pt1.getX()
y = pt1.getY()
# I don't know why this works
# See the link I provided for details
result = False
for i in range(nvert):
# note: points[-1] will give you the last element
# convenient!
j = i - 1
#get x and y of vertex at index i
vix = points[i].getX()
viy = points[i].getY()
#get x and y of vertex at index j
vjx = points[j].getX()
vjy = points[j].getY()
if (viy > y) != (vjy > y) and (x < (vjx - vix) * (y - viy) / (vjy - viy) + vix):
result = not result
return result
python自带图形模块_检查单击是否在图形对象内[Python图形模块]相关推荐
- python如何创建工程预设_如何在sublime3项目设置中设置python模块的搜索路径?ImportError: No module named *的解决办法...
问题:之前使用pycharm,用的挺溜,但是电脑配置实在不争气,pycharm启动久了,耗去大量内存,导致运行起来越来越慢,于是转向使用sublime text. 把项目从pycharm切换到subl ...
- 用python完成图形输出设备_使用numpy进行9宫格图像拼接 - Python
本节内容要用到opencv-python模块,请先行安装.本例程中使用到的图片保存在pictures子目录下.本例的任务是要将9张JPG格式图片按三行三列拼接成下述九宫格. 微实践:九宫格图像拼接 本 ...
- python module是干什么的_如何最简单、通俗地理解Python的模块?
目录: 一.笔记 二.笔记目录 一.笔记 1) 模块 ① Python模块(Module),是一个Python文件,以.py结尾,包含了Python语句和Python对象定义,模块让你能够有逻辑地组织 ...
- python pep8模块_读懂PEP8,让你的Python代码更加优雅
PEP8 <8 号 Python 增强规范>(Python Enhacement Proposal #8),简称PEP8 通俗的来讲 PEP8 是针对 python 代码格式而编订的风格指 ...
- python海龟编辑器画小汽车_【海龟编辑器下载】海龟编辑器(Python编辑器) v1.3.4 官方免费版-趣致软件园...
海龟编辑器是一款专为广大少儿打造的Python编辑器,该软件功能强大且使用便利,可以帮助孩子们以搭积木的方式来学习Python,并且支持Python代码和图形化积木的双向互相转译,不但可以有效提升孩子 ...
- python自带的集成开发环境是什么-跟老齐学Python之集成开发环境(IDE)
当安装好python之后,其实就已经可以进行开发了.下面我们开始写第一行python代码. 值得纪念的时刻:Hello world 如果是用windows,请打开CMD,并执行python. 如果是U ...
- python短视频自动制作_拒绝降权!教你用 Python 确保制作的短视频独一无二
1. 场景 前段时间有人私信我,说自己辛辛苦苦剪辑的短视频,上传到某平台后,由于播放量太大,收到 降权 的通知,直接导致这个账号废掉了! 其实,各大视频平台都有自己的一套鉴别算法,针对视频的二次创作, ...
- python怎么做彩票概率_小白学数据小抄放送 Python,R,大数据,机器学习
原标题:小白学数据小抄放送 Python,R,大数据,机器学习 大数据文摘作品,转载要求见文末 作者 | Elaine,田桂英,Aileen 导读:前段时间小白学数据专栏出了一期Python小抄表,后 ...
- python逻辑与界面分离_一种数据与逻辑分离的Python单元测试工具
一种数据与逻辑分离的Python单元测试工具 几个概念 TestCase TestCase是一个完整的测试单元,最小的测试执行实体,就是我们常说的测试用例. TestSuite 以某种特性将测试用例组 ...
最新文章
- onethink封装arclist调用文章列表!
- Linux常用命令(简单的常用)
- STM32F103_USART_GPIO配置及相应的IO口设置
- UIActionSheet
- 【python数据挖掘课程】二十一.朴素贝叶斯分类器详解及中文文本舆情分析
- 毛坯房装修需要哪些材料
- 设计模式示例_状态设计模式示例
- Network下方什么请求也没有_今日头条上传图片时设置封面图报像素低的原因是什么...
- Ubuntu下安装arm-linux-gnueabi-xxx编译器【转】
- Android 应用开发(38)TableLayout(表格布局)
- android Log工具框架,LogUtils让你摆脱TAG的魔爪
- mysql 变量赋值 in_MySQL 存储过程传参数实现where id in(1,2,3,...)实例效果
- 适合普通人的基金投资研究工具之:且慢与基金组合
- iOS 真机调试 No profile for team xxxx matching xx found
- Word中表格相关的操作
- python生成随机数列表
- 仿凡科,微企点建站功能预览
- 该怎么用好EDIUS中的调音台
- python Tkinter PhotoImage too early to create image
- iOS-直播的推流与拉流框架