画布宽高为1920 1080,在里面添加一个长方形,宽高为200 20,长方形在画布的坐标xy为100 100,这个长方形使用rotate旋转任意角度后,怎么计算旋转后长方形在画布上的xy的轴距
未旋转
旋转30度
旋转76度
如何平均计算每次随机旋转后长方形距离左上角画布的Xy
算数不行,问了gpt试验之后也不正确
画布宽高为1920 1080,在里面添加一个长方形,宽高为200 20,长方形在画布的坐标xy为100 100,这个长方形使用rotate旋转任意角度后,怎么计算旋转后长方形在画布上的xy的轴距
未旋转
旋转30度
旋转76度
如何平均计算每次随机旋转后长方形距离左上角画布的Xy
算数不行,问了gpt试验之后也不正确
function rotatePoint(x, y, x1, y1, r, a) {
const angle = a * Math.PI / 180;
const x2 = x + r * Math.cos(angle);
const y2 = y + r * Math.sin(angle);
const dx = x1 - x;
const dy = y1 - y;
const distance = Math.sqrt(dx * dx + dy * dy);
const angle2 = Math.atan2(dy, dx) + angle;
const x3 = x + distance * Math.cos(angle2);
const y3 = y + distance * Math.sin(angle2);
return `(${x3}, ${y3})`;
}
const x = 0;
const y = 0;
const x1 = 1;
const y1 = 1;
const r = 1;
const a = 45;
console.log(rotatePoint(x, y, x1, y1, r, a));
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
5 回答2k 阅读
2 回答4.8k 阅读✓ 已解决
最后的结果是这么算出来了,各种角度也都是没有问题的