python - 检测 180 度旋转并从数组中删除旋转的元素
问题描述
我想检测具有以下点矩阵的第二张图片b)是否实际上是旋转后的第一张a)而图片c)不是。首先,我喜欢删除两个任意矩阵之间的重复点,并检测它们在旋转后是否相同。如果旋转后它们相同,我想删除第二个。
def reverse(set1, set2):
a_prime =[x for x in set1 if not x in set2]
b_prime =[x for x in set1 if not x in set2]
reverse = None # will store a tuple of delta_x, delta_y
for (x1, y1), (x2, y2) in zip(a_prime, b_prime):
cur_reverse = x2 + x1, y1 + y2
if not shift:
reverse = cur_reverse
elif shift != cur_reverse:
return False
return True
a = [[(1, 1), (2, 1)], [(3, 1), (1, 2), (1, 3)], [(3, 1), (3, 2), (1, 3), (2, 3), (3, 3)], [(1, 1), (2, 1), (3, 1), (2, 2), (1, 3)]]
length = len(a)
for i in range(0, length):
for j in range(1, length):
if (i<j):
if (is_shift(a[i], a[j])==True):
a.remove(a[j])
else:
print(a[i])
print(a[j])
i -= 1
j -= 1
length -= 1
解决方案
推荐阅读
- javascript - 拒绝直接访问 IIS Web 服务器中的 JavaScript 文件
- git - git - 如何从远程存储库中获取特定文件
- javascript - 在嵌入的 PDF、Javascript 中插入超链接
- python - 在调整框架大小时克服自定义 ButtonFrame 的缓慢按钮和框架显示以及不完整的背景。
- react-native - 使用 moment.js 计算睡眠时间并做出本机反应。
- angular - 是否可以将动态值传递给 Angular 6 中的自定义表单验证器?
- python - Use an array as the index of another array in Python
- amazon-web-services - EC2 CLI docker 中可用的 AWS ECR 映像
- php - 弄清楚如何为过滤器循环合并数组
- ios - 应用程序崩溃然后重新加载 tableview 数据