我正在尝试为 2D 游戏创建绳索物理,因此作为起点,我有一个小的旋转图像,我需要在其末端添加另一条绳索。不幸的是,当旋转发生在图像的顶部时,我在尝试跟踪图像的底部时遇到了麻烦。我已经设法使用以下代码跟踪图像的 (0,0) 坐标,但我需要能够跟踪点 (32,57)。这是我到目前为止所拥有的:
xr = xm + (xPos - xm) * Math.cos(a) - (yPos - ym) * Math.sin(a);
yr = ym + (xPos - xm) * Math.sin(a) + (yPos - ym) * Math.cos(a);
任何帮助表示赞赏!
编辑:
所以嘿,我得到了它的工作=D使用极坐标结果比我以前做的任何事情都容易得多。
前 2 个变量是不变的并且保持不变:
theta0 = Math.atan2(y, x);
r = 25;
theta = theta0 + a;
xr = (r * Math.cos(theta)) + xm;
yr = (r * Math.sin(theta)) + ym;
xm 和 ym 是我图像的位置。