【发布时间】:2013-01-09 08:56:44
【问题描述】:
我正在围绕可变原点旋转 html5 画布中的对象。
如果用户单击新旋转矩形中的给定点,我需要将返回的鼠标坐标围绕同一原点旋转回来。
我做了一个非常快速的绘图,希望能更好地说明:
我本质上需要一个函数,它将实际单击的鼠标坐标作为 x 和 y,并将它们转换为旋转之前的对象位置。
var origin = {
x: 100,
y: 100
};
var angle = 45;
function transformCoordinates(x,y){
//Perform calculation to transform coordinates
return {
x : newx,
y : newy
};
}
可用的变量将是旋转的变换原点和角度。以及画布上的鼠标点击坐标(相对于画布本身,0,0 是左上角等)
不幸的是,数学不是我的强项。希望有人可以提供帮助。
【问题讨论】:
-
您的图片似乎不正确。您将“鼠标单击”文本放置在元素的“新”旋转位置,而不是旧位置。
-
不,这实际上是我想要的行为。用户应该点击新对象,它应该返回坐标,就好像在旧的未旋转对象上点击了位置一样。我知道令人困惑。
-
你还画了它旋转了 45 度,但实际上你旋转了 90 度。
标签: javascript canvas html5-canvas