首页 > 解决方案 > 动态计算运动物体前面一点的坐标?

问题描述

我正在做一个网络项目,我有一辆汽车在画布上移动,我需要获取汽车前面像素的颜色。我知道如何获得它们的颜色,但是由于我的汽车的移动角度正在改变,所以它们的坐标有问题。我可以知道汽车的中心点及其角度旋转以某种方式动态计算它们的坐标吗?

它看起来如何

标签: javascriptcanvasgeometry

解决方案


是的,您可以像这样使用正弦和余弦:

function xyFromVector(angle, mag){
  return {
    x: Math.cos(angle)*mag,
    y: Math.sin(angle)*mag,
  }
}

const { x: xd, y: yd } = xyFromVector(carAngle, carLength/2);
//car x + xd = x position of front of car
//car y + yd = y position of front of car

角度必须以弧度为单位。


推荐阅读