确定点是否在椭圆内(Python和枕头)

确定点是否在椭圆内(Python和枕头),python,python-imaging-library,Python,Python Imaging Library,使用PIL,我使用圆周围的方坐标(即,形状的X和Y坐标,如果它是正方形)绘制了一个椭圆 我想确定我传入的坐标是否在椭圆的坐标范围内。如果这是一个正方形,我想这会相对容易,因为我可以简单地要求脚本确定坐标(x和y)是否在正方形的x和y坐标范围内 然而,因为它是一个椭圆,我不知道弧产生的直线的坐标。出于这个原因,我认为我需要一个PIL解决方案,首先给出椭圆线的范围。这是否存在于PIL中?全手工解决方案 由于椭圆只是一个“填充圆”,因此可以将椭圆调整为一个圆,然后从那里继续 你有坐标,所以第一步是调整

使用PIL,我使用圆周围的方坐标(即,形状的X和Y坐标,如果它是正方形)绘制了一个椭圆

我想确定我传入的坐标是否在椭圆的坐标范围内。如果这是一个正方形,我想这会相对容易,因为我可以简单地要求脚本确定坐标(x和y)是否在正方形的x和y坐标范围内


然而,因为它是一个椭圆,我不知道弧产生的直线的坐标。出于这个原因,我认为我需要一个PIL解决方案,首先给出椭圆线的范围。这是否存在于PIL中?

全手工解决方案

由于椭圆只是一个“填充圆”,因此可以将椭圆调整为一个圆,然后从那里继续

你有坐标,所以第一步是调整大小

x_diff = abs(x_max - x_min)
x = (x - x_min ) / x_diff
y_diff = abs(y_max - y_min)
y = (y - y_min ) / y_diff
这会将椭圆调整为半径为
.5
的圆


使用毕达哥拉定理,到
(0,0)
的距离应该小于到x轴和y轴的距离,每个距离都是平方。因此
a²+b²=c²
变成
c
scikit image
有一个
draw.eliple()
函数,它为您提供了
x,y
其中所有点的坐标。。。这是一个我没有考虑的数学解决方案!谢谢
import math

c = math.sqrt(x**2 + y**2)
if c <= .5:
    print("Coordinate lies within ellipse!")
else:
   print("Try again :(")