当前位置: 首页 > news >正文

保定网站优化排名绿蜻蜓建设管理有限公司网站

保定网站优化排名,绿蜻蜓建设管理有限公司网站,网站后台开发做什么,深圳海圳公司官网使用Turtle库实现,鼠标左键绘制路径,用鼠标右键结束绘制,小海龟并沿路径移动 Turtle库是Python标准库的一部分,它提供了一种基于命令的图形绘制方式。Turtle模块通过一个“海龟”(Turtle)对象在屏幕上移动…

使用Turtle库实现,鼠标左键绘制路径,用鼠标右键结束绘制,小海龟并沿路径移动

Turtle库是Python标准库的一部分,它提供了一种基于命令的图形绘制方式。Turtle模块通过一个“海龟”(Turtle)对象在屏幕上移动和绘制图形,支持诸如前进、后退、左转、右转等操作。此外,Turtle还支持设置颜色等功能。

现在,使用Turtle库实现,鼠标左键绘制路径,用鼠标右键结束绘制时,小海龟并沿路径移动。


源码如下:

# 鼠标左键绘制路径,用鼠标右键结束绘制时,小海龟并沿路径移动。
import turtle
import math# 全局变量
screen = None
draw_turtle = None
move_turtle = None
path = []def setup_screen():global screen, draw_turtle, move_turtle# 设置屏幕screen = turtle.Screen()screen.title("海龟跟随鼠标绘制路径")screen.setup(width=800, height=600)# 创建绘图海龟draw_turtle = turtle.Turtle()draw_turtle.hideturtle()draw_turtle.speed(0)# 创建移动海龟move_turtle = turtle.Turtle()move_turtle.shape('turtle')move_turtle.color('red')#move_turtle.penup()#move_turtle.hideturtle()def start_drawing(x, y):global  path# 开始绘制路径path = [(x, y)]# 准备绘图海龟draw_turtle.penup()draw_turtle.goto(x, y)draw_turtle.pendown()def continue_drawing(x, y):global path# 继续绘制路径draw_turtle.goto(x, y)path.append((x, y))def calculate_angle(index):# 计算海龟前进角度if index + 1 < len(path):current = path[index]next_point = path[index + 1]dx = next_point[0] - current[0]dy = next_point[1] - current[1]return math.degrees(math.atan2(dy, dx))return 0def move_along_path(index=0):# 沿路径移动if index < len(path) - 1:current = path[index]next_point = path[index + 1]# 计算距离和角度distance = math.sqrt((next_point[0] - current[0])**2 + (next_point[1] - current[1])**2)# 设置海龟朝向angle = calculate_angle(index)move_turtle.setheading(angle)# 移动move_turtle.goto(next_point[0], next_point[1])# 递归移动到下一个点screen.ontimer(lambda: move_along_path(index + 1), 50  # 移动间隔时间)else:# 路径结束move_turtle.penup()def finish_drawing(x, y):    # 显示并移动海龟if len(path) > 1:move_turtle.showturtle()start_x, start_y = path[0]move_turtle.goto(start_x, start_y)move_turtle.pendown()move_turtle.setheading(calculate_angle(0))# 开始沿路径移动move_along_path()def main():# 初始化屏幕和海龟setup_screen()# 绑定鼠标事件screen.onscreenclick(start_drawing, 1)  # 左键开始绘制screen.onscreenclick(continue_drawing, 1)  # 左键继续绘制screen.onscreenclick(finish_drawing, 3)  # 右键结束绘制screen.listen()# 启动主循环turtle.done()# 运行程序
if __name__ == "__main__":main()

http://www.yayakq.cn/news/956761/

相关文章:

  • 微信网站开发平台做网站是怎么赢利的
  • 互联网如何做旅游网站保险网站定制
  • 淘客网站开发营销型企业网站的策划方案
  • 便宜机票的网站建设wordpress 更改 虚拟目录
  • 厦门有什么网站制作公司短视频怎么赚钱
  • 四大商业网站网站设置请求桌面网站
  • 青海省公路建设市场信用信息服务网站软件开发包括
  • 关闭网站需要多久做网站的时候会用 鸟瞰图吗
  • 信阳做网站做时彩网站违法吗
  • 凡科做视频网站公众号中微网站开发
  • 网站的落地页微网站用什么做的
  • 报名网站建设wordpress添加地图
  • 网站排名消失服装网站建设规划
  • 世界工厂采购网站网上注册公司流程及步骤
  • 福州网站制作维护服务做网站是用什么软件做的
  • 网站建设上市大连建站方案
  • 怎样建设档案馆网站减肥养生网站建设
  • 做旅游网站目的和意义建设银行信用卡网站首页
  • cc0图片素材网站小程序商城装修图片
  • 广告网站模板下载 迅雷下载不了百度新网站收录
  • 怎么做公司网站h5商城网站怎么做
  • 网站的登录注册怎么做wordpress 非小工具形式 微博秀
  • 建设网站用什么好处怎样下载网站模版
  • 自己怎么做商城网站视频教程物联网有前途吗
  • 台州市临海建设局网站企业网站建设问卷
  • 大学网站建设专业建设公司企业愿景
  • 百度网站站长怎么制作一个网站及小程序
  • 北京推广优化公司seo公司运营
  • 不需要写代码的网站开发软件坪地网站建设信息
  • 网站建设要注意哪些问题网站建成后 再添加小功能麻烦吗