Angle 意为“角度”,在几何学中主要指平面角。平面角是由两条射线(称为角的边)所夹区域构成的图形。如果将一个完整的圆分成 360 份,那么每一份的角度就为 1 度。
angle 函数是计算和返回两个或三个点的夹角的函数。如果输入两个点,则计算这两个点的夹角,如果输入三个点,则计算由这三个点构成的两条向量的夹角。
使用 angle 函数很简单,在 C 中可以这样写:
// 计算 (1, 0) 和 (0, 1) 构成的夹角,注意参数顺序 double rad = atan2(0, 1) - atan2(1, 0); double deg = rad * 180.0 / M_PI;
上述代码中的 atan2 函数是 C 中的反正切函数,可以计算点所处的象限,并返回相应的弧度值。
值得注意的是,在计算机程序中,浮点数的精确值非常有限。当两条射线非常接近时,angle 函数有可能返回一些奇怪的结果。为了避免这种情况,我们通常会判断两个夹角之差的绝对值,如果小于一个极小的值,就认为这两个夹角是相等的。
使用 angle 函数需要注意一些细节,但只要掌握得当,就可以轻松地计算并测量各种角度了。