我有一个笛卡尔点(蓝线),我需要将其转换为相对于旋转平面的点(绿框)。平面旋转 28.227º,如下所示。
可悲的是,我缺乏数学教育让我完全不知道如何解决这个问题。我需要能够获取任何 x,y 点并将其转换为旋转平面。
在这方面的任何帮助将不胜感激,因为我完全不知所措。
尽我所能,根据输入点的位置,我将需要几种不同的计算。
(来源:adam-meyer.com)
我有一个笛卡尔点(蓝线),我需要将其转换为相对于旋转平面的点(绿框)。平面旋转 28.227º,如下所示。
可悲的是,我缺乏数学教育让我完全不知道如何解决这个问题。我需要能够获取任何 x,y 点并将其转换为旋转平面。
在这方面的任何帮助将不胜感激,因为我完全不知所措。
尽我所能,根据输入点的位置,我将需要几种不同的计算。
(来源:adam-meyer.com)
我喜欢懂数学的朋友。谢谢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);
}