1

我有一个笛卡尔点(蓝线),我需要将其转换为相对于旋转平面的点(绿框)。平面旋转 28.227º,如下所示。

可悲的是,我缺乏数学教育让我完全不知道如何解决这个问题。我需要能够获取任何 x,y 点并将其转换为旋转平面。

在这方面的任何帮助将不胜感激,因为我完全不知所措。

尽我所能,根据输入点的位置,我将需要几种不同的计算。


(来源:adam-meyer.com

4

1 回答 1

1

我喜欢懂数学的朋友。谢谢KJ!这是答案。

function convertPoint(x,y){

    var degree = -28.227;
    var offset = 0; //change if your corner is not 0,0

    x2 = x *Math.cos(radians(degree)) + (y - offset) *Math.sin(radians(degree));
    y2 = x *Math.sin(radians(degree)) - (y - offset) *Math.cos(radians(degree));

    return {x: x2, y: y2}
}

function radians(degrees){
    return degrees * (Math.PI / 180);
}
于 2013-04-05T16:33:03.653 回答