Open ishi720 opened 1 month ago
Pythonで2つの線分の間の角度を求める
import math def angle_between_lines(p1, p2, p3, p4): # ベクトルを計算 vector1 = (p2[0] - p1[0], p2[1] - p1[1]) vector2 = (p4[0] - p3[0], p4[1] - p3[1]) # 内積を計算 dot_product = vector1[0] * vector2[0] + vector1[1] * vector2[1] # ベクトルの大きさを計算 magnitude1 = math.sqrt(vector1[0]**2 + vector1[1]**2) magnitude2 = math.sqrt(vector2[0]**2 + vector2[1]**2) # コサインθを計算 cos_theta = dot_product / (magnitude1 * magnitude2) # 角度をラジアンから度に変換 angle = math.degrees(math.acos(cos_theta)) return angle # 例: 点 (1, 2) - (4, 6) の線と点 (2, 1) - (6, 5) の線の間の角度を計算 p1 = (1, 2) p2 = (4, 6) p3 = (2, 1) p4 = (6, 5) angle = angle_between_lines(p1, p2, p3, p4) print(f"2つの線分の間の角度: {angle}度")
Pythonで2つの線分の間の角度を求める