python - 如何知道两个圆是否相交?海龟图形
问题描述
我正在学习如何使用 Turtle-Python,我想知道如何编写一个程序,该程序将两个圆的 x,y 中心值和半径作为输入,在海龟窗口中绘制它们,并打印它们是否相交.
PD:我学到的东西不多,所以很高兴看到一些简单的代码,这样我就明白发生了什么
任何帮助,将不胜感激 :)
解决方案
如果我们将圆自己制作成海龟,而不是画圆,那么我们可以简单地使用海龟自己的distance()
方法来实现:
from turtle import Screen, Turtle
CURSOR_RADIUS = 10
screen = Screen()
x1, y1, radius1 = screen.textinput("Green Circle", "Please enter: x y radius").split(maxsplit=3)
turtle1 = Turtle()
turtle1.shape('circle')
turtle1.color('green')
turtle1.shapesize(int(radius1) / CURSOR_RADIUS)
turtle1.penup()
turtle1.goto(int(x1), int(y1))
x2, y2, radius2 = screen.textinput("Red Circle", "Please enter: x y radius").split(maxsplit=3)
turtle2 = Turtle()
turtle2.shape('circle')
turtle2.color('red')
turtle2.shapesize(int(radius2) / CURSOR_RADIUS)
turtle2.penup()
turtle2.goto(int(x2), int(y2))
if turtle1.distance(turtle2) < int(radius1) + int(radius2):
marker = Turtle()
marker.hideturtle()
marker.write("Overlap!", align='center', font=('Arial', 24, 'bold'))
screen.exitonclick()
推荐阅读
- checkbox - 我使用 icheck,我想检查所有 icheck
- python - 从麦克风和扬声器捕捉声音
- vue.js - 如何使用 quarkus、hibernate envers 和 keycloak 进行审计
- reactjs - 如何在“a href”链接中添加数据属性 htmlToDraft html-to-draftjs
- android - 使用 bitbucket 管道签署 apk
- apache - 使用 Apache 将更新部署到 install4j 应用程序的金丝雀
- reactjs - 反应,获取天气 Aync 等待错误
- laravel - 使用许多选择器 laravel 将照片上传到数据库
- python - 如何引用数据文件目录 Pyinstaller/auto-py-to-exe
- angular-cli - NGCC 失败。在 NgccProcessor.process (Angular\node_modules\@ngtools\webpack\src\ngcc_processor.js:139:19)