2
如何有效地计算图形旋转?
我有一个通过字节矩阵(类似位图的矩阵)表示的图形。示例图显示在上Picture 1。 目的是找到给定图形的最佳旋转角度。当图形旋转最佳角度时,与X和Y轴平行并刻有图形的矩形的面积最小。 刻有图形的矩形在图片上显示为浅灰色。在中Picture 2,您可以看到图形的理想旋转方向为顺时针大约30度。 现在,我知道算法如何找到该角度,但是在我看来这是非常低效的。它是这样的: 循环从0到45度的角度。 对于当前角度,为每个图形点计算新的旋转位置 查找包含图形(最小和最大x,y)的矩形的边界,如果到目前为止最匹配,则对其进行注册 下一个角度 这是一种蛮力方法,对于小人物来说效果很好且相当快。但是,我需要处理包含多达1000万点的图形,并且算法变得缓慢。 什么是解决这个问题的好算法?
13
c#
algorithms
geometry