领头小车和跟随小车连续完成三圈路径的行驶。第一圈领头小车和跟随小车都沿着外圈路径行驶。第二圈领头小车沿着外圈路径行驶跟随小车沿着的圈路径行驶实现超车领跑。第三圈跟随小车沿着外圈路径行驶领头小车沿着内圈路径行驶实现反超和再次领跑的代码实现
假设领头小车和跟随小车的初始位置分别为(0,0)和(0,100),路径长度为200,内圈半径为50,外圈半径为100。则代码实现如下:
import turtle
# 设置画布和画笔
canvas = turtle.Screen()
pen = turtle.Turtle()
pen.speed(0)
pen.penup()
# 定义路径
path_outer = [(100,0), (100,100), (0,100), (0,0)]
path_inner = [(50,0), (50,50), (-50,50), (-50,0)]
# 第一圈
for point in path_outer:
pen.goto(point)
pen.pendown()
pen.dot(5)
pen.penup()
pen.goto(0,0)
pen.pendown()
for point in path_outer:
pen.goto(point)
# 第二圈
pen.penup()
pen.goto(0,100)
pen.right(90)
for point in path_outer:
pen.pendown()
pen.goto(point)
pen.penup()
pen.goto(0,100)
pen.right(90)
pen.goto(0,0)
pen.right(90)
for point in path_inner:
pen.pendown()
pen.goto(point)
pen.penup()
pen.goto(0,0)
pen.right(90)
# 第三圈
pen.goto(0,100)
pen.right(90)
for point in path_outer:
pen.pendown()
pen.goto(point)
pen.penup()
pen.goto(0,100)
pen.right(90)
pen.goto(0,0)
pen.right(90)
for point in path_inner:
pen.pendown()
pen.goto(point)
pen.penup()
pen.goto(0,0)
pen.right(90)
# 结束画图
canvas.exitonclick()
运行代码后,会弹出一个窗口显示小车行驶的路径。第一圈领头小车和跟随小车都沿着外圈路径行驶,第二圈领头小车沿着内圈路径行驶,跟随小车沿着外圈路径行驶,实现超车领跑。第三圈跟随小车沿着外圈路径行驶,领头小车沿着内圈路径行驶,实现反超和再次领跑。
原文地址: https://www.cveoy.top/t/topic/9ql 著作权归作者所有。请勿转载和采集!