错误ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()通常是由于逻辑操作符在对数组进行比较时引发的。在这个错误中,points[:,2]是一个数组,不能对两个比较同时进行广播操作,因此会报错。
源程序如下:
mask = (wall_min_height + min_section - section_thickness) < points[:, 2] < (wall_min_height + min_section + section_thickness)
修改后代码如下:
lower_bound = wall_min_height + min_section - section_thickness
upper_bound = wall_min_height + min_section + section_thickness
mask = (lower_bound < points[:, 2]) & (points[:, 2] < upper_bound)