我有一个笛卡尔点,我被给予(蓝线),我需要将它转换为相对于旋转平面(绿色框)的点。飞机旋转28.227º,如下图所示。
可悲的是,我缺乏数学教育让我完全不知道如何解决这个问题。我需要能够获取任何x,y点并将其转换为旋转平面。任何对此的任何帮助都将非常感激,因为我完全失去了。
最好我能弄清楚,根据输入点的位置,我需要几个不同的计算。
答案 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);
}