пусть A
будет набором координат (например, array([[ 10., 110.],[200., 90.],[210., 0.], [-10., 10.],[ 10., 110.]])
.
Если subdivision(coordinate)
является кодом деления, дающим два результата - subdivisionR, subdivisionL
, то subdivision(A)
дает array([[ 10., 110.],[110.0, 99.47],[110.0, 4.54],[-10., 10.],[ 10., 110.]]), array([[110.0, 99.47],[200.,90.],[210., 0.],[110.0, 4.54],[110.0, 99.47]])
.
Поскольку я хотел разделить многоугольник до тех пор, пока все подразделенные многоугольники не достигнут области, ближайшей к 200, и не получат все подразделенные координаты, я использовал следующий код:
n=1
t=0
r=0
k=A
while area(subdivision(k)[n-1])>200:
for i in range(t,n):
k.append(subdivision(k[i])[0])
k.append(subdivision(k[i])[1])
t=2**r
r=r+1
n=2**r
Однако я получаю предупреждение - 'numpy.ndarray' object has no attribute 'append'
.
Как я могу это исправить?