gpt4 book ai didi

javascript - 使用 atan2() 返回的 Angular 围绕另一个点旋转一个点

转载 作者:行者123 更新时间:2023-11-30 08:34:50 24 4
gpt4 key购买 nike

我有一个旋转 Angular :

var dx = this.mouseX - this.startX;
var dy = this.mouseY - this.startY;

_this.rotation = Math.atan2(dy, dx);

我知道我的枢轴点(我的图像的中心):

var pivotX = this.x + (this.imageWidth / 2);
var pivotY = this.y + (this.imageHeight / 2);

现在我还有一点:

var rightX = 600;
var rightY = 400;

如何使用从 atan2() 函数获得的 Angular 围绕我的轴心点旋转该点?

最佳答案

要将点 {x, y} 围绕原点 {0, 0} 旋转给定的弧度 Angular ,请执行以下数学运算:

new_x_point = old_x_point * cos(Angle) - old_y_point * sin(Angle);
new_y_point = old_y_point * cos(Angle) + old_x_point * sin(Angle);

现在,如果原点或枢轴点不是 {0, 0},那么您需要先从原点的坐标中减去要旋转的点,然后执行在该点上旋转,然后将旋转点的偏移量加回去,以便它平移回其原始位置。

关于javascript - 使用 atan2() 返回的 Angular 围绕另一个点旋转一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32609662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com