创建一个函数in_circle(x,origin),它使用distance来确定二维点是否落在具有给定原点的单位圆内。 Related question
def distance(x, y):
return math.sqrt((x[0] - y[0])**2 + (x[1] - y[1])**2)
如何在以下功能中使用距离(x,y)功能
def in_circle(x, origin = [0]*2):
确定一个点是否在圆圈内。
答案 0 :(得分:1)
我假设你定义了半径
#example for 5 radius
r = 5
def in_circle(x, origin = [0]*2):
if distance(x,origin)<r:
print("inside")
else:
print("outside")
答案 1 :(得分:0)
您需要做的第一件事是定义圆的结构。对于此示例,我将圆定义为两个元素的元组,其中第一个元素是原点的坐标,第二个元素是圆的半径。例如,((0,0), 3)
是一个原点为(0,0)
且半径为3
的圆圈。
现在您已经定义了一个圆圈,您可以继续检查给定点是否在圆圈内,如下所示:
import math
# Create a unit circle
mycircle = ((0,0), 1)
# Create points
mypoint1 = (3,3)
mypoint2 = (1,1)
# Your definition of distance function
def distance(point1, point2):
return math.sqrt((point1[0] - point2[0])**2 + (point1[1] - point2[1])**2)
# Defining the function to check if the point is inside or on a circle
def in_circle(point, circle):
origin, radius = circle
return radius >= distance(point, origin)
# Test
print(in_circle(mypoint1, mycircle))
# False
print(in_circle(mypoint2, mycircle))
# False
我希望这会有所帮助。