对于圆的简单情况,可以使用距离公式确定鼠标是否在内部。例如:# 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图形模块]相关推荐

  1. python如何创建工程预设_如何在sublime3项目设置中设置python模块的搜索路径?ImportError: No module named *的解决办法...

    问题:之前使用pycharm,用的挺溜,但是电脑配置实在不争气,pycharm启动久了,耗去大量内存,导致运行起来越来越慢,于是转向使用sublime text. 把项目从pycharm切换到subl ...

  2. 用python完成图形输出设备_使用numpy进行9宫格图像拼接 - Python

    本节内容要用到opencv-python模块,请先行安装.本例程中使用到的图片保存在pictures子目录下.本例的任务是要将9张JPG格式图片按三行三列拼接成下述九宫格. 微实践:九宫格图像拼接 本 ...

  3. python module是干什么的_如何最简单、通俗地理解Python的模块?

    目录: 一.笔记 二.笔记目录 一.笔记 1) 模块 ① Python模块(Module),是一个Python文件,以.py结尾,包含了Python语句和Python对象定义,模块让你能够有逻辑地组织 ...

  4. python pep8模块_读懂PEP8,让你的Python代码更加优雅

    PEP8 <8 号 Python 增强规范>(Python Enhacement Proposal #8),简称PEP8 通俗的来讲 PEP8 是针对 python 代码格式而编订的风格指 ...

  5. python海龟编辑器画小汽车_【海龟编辑器下载】海龟编辑器(Python编辑器) v1.3.4 官方免费版-趣致软件园...

    海龟编辑器是一款专为广大少儿打造的Python编辑器,该软件功能强大且使用便利,可以帮助孩子们以搭积木的方式来学习Python,并且支持Python代码和图形化积木的双向互相转译,不但可以有效提升孩子 ...

  6. python自带的集成开发环境是什么-跟老齐学Python之集成开发环境(IDE)

    当安装好python之后,其实就已经可以进行开发了.下面我们开始写第一行python代码. 值得纪念的时刻:Hello world 如果是用windows,请打开CMD,并执行python. 如果是U ...

  7. python短视频自动制作_拒绝降权!教你用 Python 确保制作的短视频独一无二

    1. 场景 前段时间有人私信我,说自己辛辛苦苦剪辑的短视频,上传到某平台后,由于播放量太大,收到 降权 的通知,直接导致这个账号废掉了! 其实,各大视频平台都有自己的一套鉴别算法,针对视频的二次创作, ...

  8. python怎么做彩票概率_小白学数据小抄放送 Python,R,大数据,机器学习

    原标题:小白学数据小抄放送 Python,R,大数据,机器学习 大数据文摘作品,转载要求见文末 作者 | Elaine,田桂英,Aileen 导读:前段时间小白学数据专栏出了一期Python小抄表,后 ...

  9. python逻辑与界面分离_一种数据与逻辑分离的Python单元测试工具

    一种数据与逻辑分离的Python单元测试工具 几个概念 TestCase TestCase是一个完整的测试单元,最小的测试执行实体,就是我们常说的测试用例. TestSuite 以某种特性将测试用例组 ...

最新文章

  1. onethink封装arclist调用文章列表!
  2. Linux常用命令(简单的常用)
  3. STM32F103_USART_GPIO配置及相应的IO口设置
  4. UIActionSheet
  5. 【python数据挖掘课程】二十一.朴素贝叶斯分类器详解及中文文本舆情分析
  6. 毛坯房装修需要哪些材料
  7. 设计模式示例_状态设计模式示例
  8. Network下方什么请求也没有_今日头条上传图片时设置封面图报像素低的原因是什么...
  9. Ubuntu下安装arm-linux-gnueabi-xxx编译器【转】
  10. Android 应用开发(38)TableLayout(表格布局)
  11. android Log工具框架,LogUtils让你摆脱TAG的魔爪
  12. mysql 变量赋值 in_MySQL 存储过程传参数实现where id in(1,2,3,...)实例效果
  13. 适合普通人的基金投资研究工具之:且慢与基金组合
  14. iOS 真机调试 No profile for team xxxx matching xx found
  15. Word中表格相关的操作
  16. python生成随机数列表
  17. 仿凡科,微企点建站功能预览
  18. 该怎么用好EDIUS中的调音台
  19. python Tkinter PhotoImage too early to create image
  20. iOS-直播的推流与拉流框架

热门文章

  1. Gmapping 乱七八糟
  2. 基于光照的物理模型(一)
  3. Vue搜索框保存临时搜索的记录
  4. 完整的Blender三维课程:素描到三维艺术的初学者
  5. Unity中创建本地多人游戏完整案例视频教程 Learn To Create A Local Multiplayer Game In Unity
  6. C++ 中emplace_back和push_back差异
  7. 如何解决代码中if…else 过多的问题
  8. 怎样对拍、如何对拍、对拍模板
  9. php 类中的变量的定义
  10. d010:盈数、亏数和完全数