javascript - 围绕一个点旋转矩形

标签 javascript 2d trigonometry

如何让 4 个点围绕一个指针旋转一定 Angular 以形成一个矩形?我可以围绕一个点旋转一个点,但我不能偏移它来制作一个不变形的矩形。

最佳答案

如果您可以围绕一个点旋转一个点,那么旋转一个矩形应该很容易 - 您只需旋转 4 个点。

这是一个围绕原点旋转点的js函数:

function rotate_point(pointX, pointY, originX, originY, angle) {
    angle = angle * Math.PI / 180.0;
    return {
        x: Math.cos(angle) * (pointX-originX) - Math.sin(angle) * (pointY-originY) + originX,
        y: Math.sin(angle) * (pointX-originX) + Math.cos(angle) * (pointY-originY) + originY
    };
}

然后你可以对每个点都这样做。 这是一个例子:http://jsfiddle.net/dahousecat/4TtvU/

改变 Angular 并点击运行以查看结果...

关于javascript - 围绕一个点旋转矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4465931/

相关文章:

php - 使用 AJAX 更改 <img> 的样式类

Javascript:图像对象似乎没有加载图像

javascript - 为什么我的 js 在返回 Safari 时不运行?

java - LibGDX/Java - 尝试找到从一个对象到另一个对象的 vector

c# - 二维数组中的寻路

algorithm - 绘制圆弧点

javascript - 选中所有复选框并隐藏

java - 在 Java 游戏上轻松从 2D 移植到 3D

linux - MSVC下有调用__libm_sse2_sincos的接口(interface)吗?

javascript - 通过 tan 从比率获得度数