将笛卡尔点转换为旋转平面上的点(pic)

时间:2013-04-05 11:17:38

标签: math trigonometry cartesian

我有一个笛卡尔点,我被给予(蓝线),我需要将它转换为相对于旋转平面(绿色框)的点。飞机旋转28.227º,如下图所示。

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

任何对此的任何帮助都将非常感激,因为我完全失去了。

最好我能弄清楚,根据输入点的位置,我需要几个不同的计算。

http://adam-meyer.com/lab/rotatedPlane2.png

1 个答案:

答案 0 :(得分: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);
}