平面直角坐标系 围绕一个点旋转一定角度的目标坐标

已知条件

平面直角坐标系 围绕一个点旋转一定角度的目标坐标_第1张图片
r0,a0的坐标及旋转的角度angle

    var rx0=200;
    var ry0=200;
    var ax0=0;
    var ay0=0;
    var angle = 60*Math.PI/180;
    var ax1 = (ax0-rx0)*Math.cos(angle) + (ay0-ry0)*Math.sin(angle) + rx0;
    var ay1 = (ax0-rx0)*Math.cos(angle) - (ay0-ry0)*Math.sin(angle) + ry0;
    alert("顺时针x1-->"+ax1+"y1-->"+ay1);
    var ax2 = (ax0-rx0)*Math.cos(angle) - (ay0-ry0)*Math.sin(angle) + rx0;
    var ay2 = (ax0-rx0)*Math.cos(angle) + (ay0-ry0)*Math.sin(angle) + ry0;
    alert("逆时针x1-->"+ax2+"y1-->"+ay2);

实例

顺时针旋转

ax1 = (ax0-rx0)*Math.cos(angle) + (ay0-ry0)*Math.sin(angle) + rx0;
ay1 = (ax0-rx0)*Math.cos(angle) - (ay0-ry0)*Math.sin(angle) + ry0;

逆时针旋转

ax2 = (ax0-rx0)*Math.cos(angle) - (ay0-ry0)*Math.sin(angle) + rx0;
ay2 = (ax0-rx0)*Math.cos(angle) + (ay0-ry0)*Math.sin(angle) + ry0;

你可能感兴趣的:(Math)