gpt4 book ai didi

android - 围绕二维坐标系中的特定点缩放

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:08:02 27 4
gpt4 key购买 nike

下图是我的坐标系: enter image description here

我想做的是我想围绕 Canvas 中的特定点开始缩放,缩放效果很好,但我的问题是我不知道如何计算在缩放时移动 Canvas 的量,请注意,我没有使用 canvas.scale。

我只是在缩放时增加了系统中每 2 个单元之间的距离,它工作得很好。

那么有什么公式可以帮助我找出在特定点缩放时偏移 Canvas 的量吗?

假设我想围绕点 (0,4) 进行缩放,如何知道在缩放时将 Canvas 移动多少?

最佳答案

在这种情况下,方程式不如了解正确的原理有用。答案只有一句话,但我需要先解释一下原理。

当您说“围绕一个点缩放”时,您要寻找的是暂时将另一个点视为原点。围绕原点缩放是微不足道的;它只是标量乘法。围绕另一个点缩放是三个操作:

  • 平移指定点到原点
  • 在(临时的、新的)原点缩放。
  • 向后平移,使原点回到指定点。

在数学符号中,称缩放算子S。称以指定点为原点的平移算子T。以原点为指定点的算子为T的逆,记为T-1 。那么做“点缩放”的算子就是T-1ST。 (从右到左应用运算符。)

算子T-1ST称为S对T的共轭。在线性代数中,也称为相似变换。如果 S 和 T 可以用矩阵表示(在此设置中为真),则组合运算符是矩阵的乘积。

所以这是一句话答案:通过平移到原点来结合你的缩放操作。

我应该补充一点,虽然这不是问题的一部分,但结合也是围绕一个点旋转的方式。

关于android - 围绕二维坐标系中的特定点缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38446666/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com