AMIN
和AMAX
,形状B也是如此(BMIN
/BMAX
)。AMIN < BMIN < AMAX < BMAX
或BMIN < AMIN < BMAX < AMAX
。让我们假设第一个情况。
AMAX-BMIN
的值是移动任一形状以使它们接触所需的距离,并且正在测试的轴提供了方向。如果您想要将它们朝特定方向移动,只需存储与该特定轴对应的值,这就成为您的位移向量(然后将其添加到一个形状的位置以使它们分离)。
我强烈建议您搜索“最小位移向量 sat”并查看前几个链接,特别是这个链接:http://www.dyn4j.org/2010/01/sat/。它有点复杂,但这就是我学习SAT的全部知识来源。
编辑...我错过了一部分。如果您想要沿一个轴(例如您的示例中的垂直轴)移动形状,基于从另一个轴(底部框长边的法线)获得的位移向量,则需要将位移向量投影到所需的(归一化)轴上(使用点积)以获得正确的距离,然后与所需轴相结合。