首先,准备一张小蚂蚁的图片。

编写程序。

在上面的程序中,pyplot模块的函数ginput()用于阻塞当前程序以实现图形与用户的交互,用户在图形中使用鼠标单击n次之后返回所有单击位置采样点的(x,y)坐标构成的列表,其完整语法如下,
ginput(n=1, timeout=30, show_clicks=True,
mouse_add=<MouseButton.LEFT: 1>,
mouse_pop=<MouseButton.RIGHT: 3>,
mouse_stop=<MouseButton.MIDDLE: 2>)
其中,(1)参数n用来指定接收单击的次数,值为负数时表示不限制次数,直到用户明确表示结束时才返回;(2)参数timeout用来指定超时返回时间,值为0或负数时表示永不超时;(3)参数show_clicks用来指定是否使用红色交叉线显示单击位置;(4)参数mouse_add用来指定使用哪个键单击以拾取位置,默认为鼠标左键;(5)参数mouse_pop用来指定使用哪个键单击以删除最后一个采样点,默认为鼠标右键;(6)参数mouse_stop用来指定使用哪个键结束采样点拾取过程,默认为鼠标中键或回车键。
运行程序后,显示小蚂蚁图像,使用鼠标左键按顺时针顺序单击蚂蚁身体轮廓,获得采样点坐标。

按回车键或鼠标中键,结束采样点拾取过程,程序继续执行,使用小蚂蚁图案作为符号形状沿原始蚂蚁身体轮廓绘制散点图,使用黑色填充原始蚂蚁身体内部。

=============
推荐教材:
董付国.《Python算法设计、实现、优化与应用(微课版·在线学习软件版)》(ISBN:978-7-302-68606-4),定价79元,清华大学出版社,2025年5月底出版
图书内容:全书共18章,分为两篇。第一篇介绍算法分析与设计基础、算法测试方法与优化技巧,以及枚举算法、解析算法、递推与迭代算法、递归算法、回溯算法、排序算法、查找算法、贪心算法、分治法、动态规划算法的基本原理、实现源码与优化思路,第二篇介绍数论、线性代数、概率论与随机过程、益智游戏、图论、机器学习、计算机图形学、密码学等多个领域的常见算法与实现。
页数:400
印刷形式:双色印刷+例题彩图封底
适用专业:计算机类所有专业
适用层次:研究生/本科/专科
配套资源:教学大纲、电子教案、课件、源码、数据文件、习题答案、题库,在线练习软件
适用学时:64/96
===============
温馨提示:
关注微信公众号“Python小屋”
















