在Python中,角度值通常以弧度表示,因为大多数数学函数(如`sin`、`cos`、`tan`等)都接受弧度作为参数。如果需要将角度从度数转换为弧度,可以使用`math.radians()`函数。
1. 将角度从度数转换为弧度:
import math
角度(以度数表示)
angle_degrees = 45
转换为弧度
angle_radians = math.radians(angle_degrees)
print(angle_radians) 输出大约 0.7854(弧度)
2. 计算正弦值(角度以弧度表示):
import math
弧度表示的角度
angle_radians = math.pi / 4 45度角的弧度表示
计算正弦值
sin_value = math.sin(angle_radians)
print(sin_value) 输出大约 0.7071
3. 将弧度值转换回度数:
import math
弧度表示的角度
angle_radians = math.pi / 4
转换为度数
angle_degrees = math.degrees(angle_radians)
print(angle_degrees) 输出大约 45.0
4. 在Matplotlib中绘制线段并计算它们之间的角度:
import matplotlib.pyplot as plt
from matplotlib.patches import Arc
from matplotlib.lines import Line2D
def get_angle_plot(line1, line2, offset=1, color=None, origin=[0,0], len_x_axis=1, len_y_axis=1):
l1xy = line1.get_xydata()
l2xy = line2.get_xydata()
slope1 = (l1xy - l1xy) / float(l1xy - l1xy)
angle1 = abs(math.degrees(math.atan(slope1)))
slope2 = (l2xy - l2xy) / float(l2xy - l2xy)
angle2 = abs(math.degrees(math.atan(slope2)))
计算两线段之间的角度
angle = abs(angle1 - angle2)
如果角度大于180度,取补角
if angle > 180:
angle = 360 - angle
绘制角度的弧
arc = Arc((origin + len_x_axis * angle / 2, origin + len_y_axis / 2),
len_x_axis * angle, len_y_axis,
angle=0, theta1=0, theta2=angle,
color=color, linewidth=2)
fig, ax = plt.subplots()
ax.add_patch(arc)
绘制线段
ax.plot(l1xy[:, 0], l1xy[:, 1], color=color)
ax.plot(l2xy[:, 0], l2xy[:, 1], color=color)
显示角度值
plt.text(origin + len_x_axis * angle / 2, origin + len_y_axis / 2,
f'{angle:.2f}°', ha='center', va='center', color='black')
plt.show()
5. 使用Unicode字符表示度数符号:
angle = 60
degree_symbol = '°'
print(f"The angle is {angle}{degree_symbol}") 输出 "The angle is 60°"
以上示例展示了如何在Python中表示和使用角度值,包括转换、计算以及可视化