椭圆外点切线夹角计算:已知两直线斜率如何获取目标锐角?
代码输出结果说明
- 你当前的代码输出的永远是两条直线的锐角夹角alpha,不会返回钝角beta,也不会输出负角度,完全符合你要获取alpha值的需求:
- 计算逻辑中你对整个分式
(m1 - m2)/(1 + m1*m2)取了绝对值,所以传入atan的参数永远是非负的,atan函数的返回值范围在[0, π/2)弧度区间,转换为角度就是[0, 90)度 - 当
1 + m1*m2 == 0时两条直线垂直,代码直接输出90度,对应直角的特殊情况
- 计算逻辑中你对整个分式
- 代码修正提示:你当前的代码存在语法错误,
alpha赋值行缺少一个右括号,修正后的可运行代码如下:
from math import atan, degrees from operator import abs if 1 + m1 * m2: alpha = degrees(atan(abs((m1 - m2)/(1 + m1 * m2)))) print(alpha) else: print(90)
- 关于D点位置的说明:两条直线的夹角大小仅和斜率有关,和直线所处的坐标位置无关,只要你输入的m1、m2是两条对应直线的正确斜率,即便D点始终在正象限变动,计算结果也始终是你需要的锐角alpha值。

内容的提问来源于stack exchange,提问作者user16657590
相关产品推荐
相关产品推荐

