使用函数测试坐标距离
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))
我有一个坐标点
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))