我正在尝试计算每个椭圆环内给定数据点的数量:
问题是我有一个用于检查以下内容的函数: 因此为了确保一个点是否在每个椭圆中,需要计算三个输入参数:
def get_focal_point(r1,r2,center_x):
# f = square root of r1-squared - r2-squared
focal_dist = sqrt((r1**2) - (r2**2))
f1_x = center_x - focal_dist
f2_x = center_x + focal_dist
return f1_x, f2_x
def get_distance(f1,f2,center_y,t_x,t_y):
d1 = sqrt(((f1-t_x)**2) + ((center_y - t_y)**2))
d2 = sqrt(((f2-t_x)**2) + ((center_y - t_y)**2))
return d1,d2
def in_ellipse(major_ax,d1,d2):
if (d1+d2) <= 2*major_ax:
return True
else:
return False
现在我正在检查它是否在椭圆内:
for i in range(len(data.latitude)):
t_x = data.latitude[i]
t_y = data.longitude[i]
d1,d2 = get_distance(f1,f2,center_y,t_x,t_y)
d1_array.append(d1)
d2_array.append(d2)
if in_ellipse(major_ax,d1,d2) == True:
core_count += 1
# if the point is not in core ellipse
# check the next ring up
else:
for i in range(loop):
.....
但我需要计算外部循环的每一对焦点...有没有更有效或更聪明的方法来完成这个任务?
r1
来识别它们,并创建一个函数,为每个点分配最小的r1
,以使该点位于椭圆内。我是正确的还是我误解了什么? - Tadeckx
和y
才能确定某个点是在椭圆内还是外部。 - Tadeck