首页 > 解决方案 > 如何在python中的一个循环中合并两种类型

问题描述

Ifsubdivision(coordinate)是使用边界框理论的除法代码,给出两个结果 - subdivisionR, subdivisionL;

A = array([[ 10., 110.],[200.,  90.],[210.,   0.], [-10.,  10.],[ 10., 110.]])
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]])
area(A) = 19550.0

细分(A)

由于我想subdivision()对所有细分的多边形重复,直到每个区域达到 200 附近,我制作了以下代码。但是,元组索引area()是单个整数,元组索引subdivision()是坐标数组。如果我想追加所有细分的多边形,直到每个区域在坐标列表中达到 200,我该如何修复下面的代码?

n=1
t=0
r=0
k=A

while area(subdivision(k)[n-1])>200:
    for i in range(t,n):
        np.append(k[0],subdivision(k)[0])[i]
        np.append(k[1],subdivision(k)[1])[i]
    t=2**r
    r=r+1
    n=2**r

标签: pythonappendtuples

解决方案


推荐阅读