【问题标题】:How to know if two circles are intersecting or not? Turtle Graphics如何知道两个圆是否相交?海龟图形
【发布时间】:2021-11-10 00:50:48
【问题描述】:

我正在学习如何使用 Turtle-Python,我想知道如何编写一个程序,将两个圆的 x,y 中心值和半径作为输入,在海龟窗口中绘制它们,并打印它们是否相交与否。

PD:我学到的东西不多,所以很高兴看到一些简单的代码,这样我就明白发生了什么

任何帮助将不胜感激:)

【问题讨论】:

标签: python turtle-graphics python-turtle


【解决方案1】:

如果我们将圆本身设为海龟,而不是画圆,那么我们可以简单地使用海龟自己的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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 2018-05-30
    • 2014-03-18
    • 1970-01-01
    相关资源
    最近更新 更多