所以我承认我真的不知道如何表达这个问题。但完整的解释应该有助于阐明一些情况。这是我所知道的。我在 HTML5 Canvas 上绘制了一个矩形。我知道所有 4 个角的点以及宽度和高度。由此我可以计算出中点。我想知道的是,如果我将矩形旋转 n 度,新的点将会是什么。例如,我想将其从中心点旋转 45 度。四个角的新顶点是什么?希望这能充分解释我正在寻找的内容。代码示例(最好是 JavaScript)会很棒。提前致谢。
这个函数可以计算出你所需要的。 “枢轴”是旋转的原点(在您的情况下是矩形的中心)。
function rotatePoint(pivot, point, angle) {
// Rotate clockwise, angle in radians
var x = Math.round((Math.cos(angle) * (point[0] - pivot[0])) -
(Math.sin(angle) * (point[1] - pivot[1])) +
pivot[0]),
y = Math.round((Math.sin(angle) * (point[0] - pivot[0])) +
(Math.cos(angle) * (point[1] - pivot[1])) +
pivot[1]);
return [x, y];
};
要将度数转换为弧度:
function degToRad(deg) {
return deg * Math.PI / 180;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)