JavaScript: 使用 atan2 来绘制 箭头 和 曲线 - 救火队

      2020-08-02 11:54      HTML5

在坐标系中理解tan 和 atan

回顾一下三角函数tan:

tan

tan

为何存在atan2 ?

那么atan2又是怎么回事呢?

要知道这个,需要知道arctan的不足之处:

arctan

它的计算过程是怎样的呢?

关于这个,我从wikipedia上摘取了它的计算过程:

atan2的应用

atan2

如果两个点在第一象限内:

如果两个点在第四象限内:

如果两个点在不同的象限内,我们也可以平移来看。

何时需要使用atan2 ?

目前我遇到了两种情况,是通过atan2来解决的:

1)在平面坐标系内任意两个点间画一条带有箭头的直线(可以是单向箭头,可以是双向箭头)。在这个需求中,另外也知道了箭头的一条边与直线的夹角和箭头的长度。

这个需求的难点就是要计算出箭头的另外两个点坐标。

2)

这两个需求的共同特点是:

1)两个已知的点

2)根据这两个点和其他的条件去计算一些必须的(画line,arc等必须的)点坐标。

目前我遇到了这两种需求,都通过atan2来解决的。其他的情况,目前尚且未知,待后续发现时,补充上。