有沒有人在javascript中旋轉後有x/y位置的翻譯功能?javascript旋轉翻譯功能
例如:
this.mousex = event.clientX - this.el.offsetLeft;
this.mousey = event.clientY - this.el.offsetTop;
給我的鼠標位置但是我父母的div是由這當然意味着mousex /像老鼠的x度旋轉,是不正確的。 JavaScript有這個內置的功能(不是我見過一個,但..)?
非常感謝
有沒有人在javascript中旋轉後有x/y位置的翻譯功能?javascript旋轉翻譯功能
例如:
this.mousex = event.clientX - this.el.offsetLeft;
this.mousey = event.clientY - this.el.offsetTop;
給我的鼠標位置但是我父母的div是由這當然意味着mousex /像老鼠的x度旋轉,是不正確的。 JavaScript有這個內置的功能(不是我見過一個,但..)?
非常感謝
我剛剛爲你寫了以下內容,我用(1,0,Math.PI/2)
和(0,1,Math.PI/2)
檢查了它,它工作正常。
function rotatePoints(x,y,angle){
var point={};
point.x = x*Math.cos(angle)- y*Math.sin(angle);
point.y = x*Math.sin(angle) + y*Math.cos(angle);
return point;
}
應該工作,看到Rotation Matrix in Wikipedia
當然,角度應在弧度。您可以將度數轉換爲弧度,乘以Math.PI
併除以180.如果要順時針旋轉角度或將sin更改爲-sin,則該角度逆時針旋轉。
假設你的div是由t
弧度順時針旋轉。然後,變換後的座標是:
X '= COS(T)* X - SIN(t)的* Y
Y'= SIN(t)的* X + cos(T)* Y
好吧,它有'Math.sin()','Math.cos()'和'Math.tan()'來幫助你,但數學必須由你來完成。 – Matt
該死的,不得不去刷牙我的學校trig ..希望js現在可能已經添加了一個簡單的點語翻譯 – Alex