首先,对不起我的英语不好。
所以我有一组点,我想创建一个lambda函数来为每两个连续的点创建一个线函数。这条线是这样的,Ax + By + C = f(x,y)。因此,对于每组点,A,B和C将带有不同的值。但是,在我的程序中使用它时,它不起作用,每次创建新函数时,每个函数的值A,B,C都会改变。 这是我的代码,
for x in range(len(poly)):
y = x + 1
if y == len(poly):
y = 0
x1, y1 = poly[x]
x2, y2 = poly[y]
A = y2 - y1
B = x1 - x2
C = (y1 * (x2 - x1) - x1 * (y2 - y1))
line.append(lambda x, y: A * x + B * y + C)
我想过要解决此问题的方法,只需创建3个A,B,C值列表,并在每次创建函数时附加一个新值即可。但是我仍然认为应该为这个问题提供一个普遍的解决方案。
因此,如果您可以放弃任何帮助,我将不胜感激。
非常感谢您。