缩放第二个枢轴点

时间:2018-09-19 03:06:13

标签: android performance matrix graphics matrix-transform

我目前正在为游戏开发人员处理转换矩阵。我们拥有的一项功能是基本缩放,当用户捏住屏幕时即可完成。现在我们知道,为了缩放/缩放某个点,我们需要使用用户两个手指之间的中点,而我实现了这一点。

转换顺序:

Matrix.translateM(matrix, 0, xPivot + xTranslate, yPivot + yTranslate, 0f)
Matrix.scaleM(matrix, 0, scale, scale, 1f)
Matrix.translateM(matrix, 0, -xPivot, -yPivot, 0f)

问题是用户在最近执行另一次缩放时在对象的另一部分进行缩放,或者如标题所述,在另一个枢轴点进行缩放。我当前的实现抖动并传送物体一定距离并在该区域执行缩放。所以;

  • 如何在第二个枢轴点上缩放?
  • 我需要参考上一个枢轴点吗?
  • 两个枢轴点如何相互关联,以及如何将它们转换为矩阵变换。

0 个答案:

没有答案