如何计算起点相同的两条线之间的角度?

时间:2019-03-31 14:40:37

标签: javascript math canvas html5-canvas

我正在直接开发一个小型HTML画布游戏,在这里我需要一条直线和一条垂直线之间的角度。我该如何计算?我的直线如下:

(示例行)

var line = {x_start:192,x_end:288,y_start:256,y_end};

这是我希望以视觉方式了解的内容:

Visual illustration

此get_degree()的输出应为角度格式的角度

1 个答案:

答案 0 :(得分:1)

如果输入始终尝试计算相对于垂直线的角度,那么这应该不太困难。首先,减去结束值的起始值,找到切线角,然后加90。如果端点上的x小于起始点上的x,则加180。

deltaY = 320-256 = 64

deltaX = 288-192 = 96

(deltaY / deltaX)的切线角为30.96度。

由于x的端点大于起点,所以您添加90。否则添加180。您可以使用atan()计算正切度,但是它返回弧度,因此您可以将其乘以将其转换为度每人180点。