我正在尝试编写一种算法,在 2D 中围绕其中心旋转一个正方形,直到它与从相同位置开始、大小相同且中心相同的旋转正方形匹配或“足够接近”。这很容易。
然而,正方形的角需要匹配,因此要获得匹配,要旋转的正方形的右上角必须足够接近旋转正方形的原始右上角。
我正在尝试使其尽可能高效,因此如果基于上述标准的两个正方形的接近度变得更差,我知道我需要尝试朝相反的方向旋转。
我已经编写了旋转正方形的方法,并测试它们彼此之间的接近程度
我的主要问题是我应该如何根据我得到的接近程度来改变每次迭代的旋转量
例如,如果当前测量值比前一个更近,则将角度减半并沿相同方向移动,否则将角度加倍并沿相反方向旋转?
但是,我认为这在效率方面并不是一个很差的解决方案。
任何想法将不胜感激。