Javascript 获取旋转的顶部和左侧坐标

Javascript 获取旋转的顶部和左侧坐标,javascript,Javascript,我想计算特定点(顶部和左侧)的旋转。这有点复杂。我知道原来的顶部和左侧。然后添加缩放,然后计算旋转 目前我正在这样做。(原始左侧:-350,原始顶部:-10,f1_刻度:0.544444,旋转角度:-30度) 这适用于左(x)坐标,但y坐标太远了 有人能看出我做错了什么,或者有人已经试过了吗 谢谢。你需要理解它背后的数学。首先,看看这张图片,其中: (x0,y0)是起点的坐标 (x1,y1)是旋转后的坐标 (p,q)是旋转点的坐标 为了找到(x1,y1),您需要知道(p,q)的值,以及(x0,y

我想计算特定点(顶部和左侧)的旋转。这有点复杂。我知道原来的顶部和左侧。然后添加缩放,然后计算旋转

目前我正在这样做。(原始左侧:-350,原始顶部:-10,f1_刻度:0.544444,旋转角度:-30度)

这适用于左(x)坐标,但y坐标太远了

有人能看出我做错了什么,或者有人已经试过了吗


谢谢。

你需要理解它背后的数学。首先,看看这张图片,其中:

  • (x0,y0)
    是起点的坐标
  • (x1,y1)
    是旋转后的坐标
  • (p,q)
    是旋转点的坐标
  • 为了找到
    (x1,y1)
    ,您需要知道
    (p,q)
    的值,以及(x0,y0)和角度a。如果我们应用初等几何,我们得到:

    sin(a)( q - y0 ) = q - y1
    y1 = q - sin(a)( q - y0 )
    

    或者你可以用毕达哥拉斯定理来求第二个值


    当我们理解这一点时,我认为将其转换为代码不会有问题。

    你在旋转什么,旋转点在哪里?
    sin(a)( q - y0 ) = q - y1
    y1 = q - sin(a)( q - y0 )
    
    cos(a)( p - x0 ) = p - x1
    x1 = p - cos(a)( p - x0 )