如果我理解正确,那么它应该像确保反射精灵的角度(相对于对角线)与原始精灵的角度(同样是对角线)相同但为负值一样简单。
在图像中显示这个(原始精灵在左下角,反射在右上角):
因此,如果您查看角度 θ I1和 θ R1,您可以看到:
θ I1是原始图像与对角线之间的角度
θ R1是反射图像与对角线之间的角度
这些角度相等且相反,即 55° 和 -55°。
不过,这可能不足以让您计算出一般情况下所需的旋转,所以我将更详细地介绍。基本上,就像我之前说的,反射精灵与线条之间的角度需要与原始精灵与线条之间的角度相等且相反。这与确保每个精灵和线之间的角度差相对于公共参考方向相等且相反是相同的。
再次查看图像,假设公共参考方向向右。只要你保持一致,你是否把它做成别的东西都没关系。还假设每个精灵上的绿色箭头在精灵旋转 0° 时将指向平行于参考方向。
因此,考虑到这一点,您可以看到线 θ L的角度为 35°(正向旋转为顺时针方向)。
您还可以看到原始精灵的旋转 θ I2为 45°。
所以原始精灵和直线之间的角度是 θ I2 - θ L,等于 10°。
再一次,每个精灵和线之间的角度需要相等且相反。那是:
θ I2 - θ L = -1 * (θ R2 - θ L )
要找到反射精灵所需的旋转,只需将该等式重新排列为:
θ R2 = 2θ L - θ I2
输入 θ L和 θ I2的值给出:
θ R2 = 2*35° - 45° = 25°
所以在这个例子中,反射精灵的旋转 θ R2被计算为 25°,你可以从图像中看到这是正确的。如果您想仔细检查,请注意反射精灵与线之间的角度差 (θ R2 - θ L ) 为 -10°,这与 θ I2 - θ L相等且相反。请记住在应用此旋转之前翻转反射的精灵(假设绿色箭头是您翻转它的轴)。