使用函数测试坐标距离

testing coordinates distance with a function

我有一个坐标点

p = (x,y)

我正在尝试通过 lambda 函数执行测试,如果与 (0,0) 的距离小于 1,它将评估 p=(x,y) 在单位圆中。因此,公式应该是下面的:

test_unit = lambda p: (here is the test)

我尝试了以下解决方案,但实际上,我不确定它能否正常工作。

sum_items = lambda x,y: x > 0 and y > 0
print(sum_items(-0.8, -0.2))

我认为我的方法可能是错误的,因为它没有考虑 p 点 以及点的总和可能不适合这种情况.如果有人可能有一些线索,请在下面留下您的评论。

谢谢

要计算两点 (x1, y1) 和 (x2, y2) 之间的距离,您应该使用以下公式:sqrt((x1 - x2)**2 - (y1 - y2)**2)

对于您想要确保到圆的距离小于 1 的特定情况,您不需要取平方根。应该这样做:

within_unit_circle = lambda x,y: x**2 + y**2 <= 1
print(within_unit_circle(-0.8, -0.2))

请查收https://en.wikipedia.org/wiki/Pythagorean_theorem

[编辑] 显示如何将点作为元组传递:

within_unit_circle = lambda p: p[0]**2 + p[1]**2 <= 1
p = (-0.8, -0.2)
print(within_unit_circle(p))