Math 计算从矢量到坐标的角度

Math 计算从矢量到坐标的角度,math,vector,formula,angle,algebra,Math,Vector,Formula,Angle,Algebra,我绞尽脑汁试图找到一个合适的公式来计算一个什么听起来是一个简单的任务,但在实践中是一个巨大的数学头痛 我想找出将向量的角度(X,Y,角度)转向坐标(X,Y)所需的偏移量 我的向量不会总是面对360度,所以我也需要它作为变量。。 希望在我打破电脑屏幕之前得到答案。 谢谢。向量之间的差异也是一个向量 然后计算tangens(y部分/x部分)并将其反转为一个角度 当然,如果x=0,则使用y符号。如果面坐标为(x2,y2) deltaY=y2-y1 deltaX=x2-x1 使用此公式,可以得到两点之

我绞尽脑汁试图找到一个合适的公式来计算一个什么听起来是一个简单的任务,但在实践中是一个巨大的数学头痛

我想找出将向量的角度(X,Y,角度)转向坐标(X,Y)所需的偏移量

我的向量不会总是面对360度,所以我也需要它作为变量。。 希望在我打破电脑屏幕之前得到答案。
谢谢。

向量之间的差异也是一个向量

然后计算tangens(y部分/x部分)并将其反转为一个角度

当然,如果x=0,则使用y符号。

如果面坐标为(x2,y2)

deltaY=y2-y1

deltaX=x2-x1

使用此公式,可以得到两点之间的角度(以度为单位)

角度指数=arctan(三角洲/三角洲)*180/PI

减去向量的原始角度,就可以得到正确的偏移量

输入

  • p1=(x1,y1)
    point1(向量原点)
  • p2=(x2,y2)
    point2
  • a1=360度
    矢量方向
  • 假设你的坐标系是:X+是对的,Y+是向上的,并且+是逆时针的
  • 您的图像表明您的X、Y混合(角度通常从X轴开始,而不是从Y轴开始)
  • da=?
    改变a1以匹配
    p2-p1的方向
解决方案1:

  • da=a1-a2=a1 atanxy(x2-x1,y1-y1)
  • atanxy(dx,dy)在某些lib上也称为atan2,请确保操作数的顺序正确
  • 你也可以用我的
  • 它是四象限弧
解决方案2:

  • v1=(cos(a1),sin(a1))
  • v2=(x2-x1,y2-y1)
  • da=acos(点(v1,v2)/(|v1 |*| v2 |))
还是相同的稍有不同

  • v1=(cos(a1),sin(a1))
  • v2=(x2-x1,y2-y1)
  • v2/=| v2 |
    //使v2成为单位向量,v1已经是单位
  • da=acos(点(v1,v2))
因此:

[附注]

  • 只需将其更改为与您的坐标系匹配(您未指定该坐标系)
  • 根据您的sin、cos、atan依赖项使用弧度或度数

这个问题似乎离题了,因为它是关于数学的。
da=acos((cos(a1)*(x2-x1)+sin(a1)*(y2-y1)/sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)));