📅  最后修改于: 2023-12-03 15:10:46.333000             🧑  作者: Mango
给定一个循环四边形的四个点的坐标,编写一个程序来查找每一条边所对应的内角。
循环四边形是指四个点构成的四边形,其中第一个点和最后一个点也是相邻的。
内角是指两条相邻边所夹的角度,角度应该以度数为单位,并且应该给定一个小数点后两位的精度。如果两条相邻边之间的夹角是钝角,则应该返回负数。
def find_interior_angles(p1: Tuple[float, float], p2: Tuple[float, float], p3: Tuple[float, float], p4: Tuple[float, float]) -> List[float]:
pass
p1
,p2
,p3
,p4
($(-10^7 \leq x, y \leq 10^7)$)- 给定循环四边形的四个点的 $(x, y)$ 坐标。坐标是一个以逗号分隔的字符串,例如 "1,2"
。List[float]
- 每一条边所对应的内角的列表。列表中的每个元素应该是一个小数,表示相邻两条边之间的夹角,精度为两位小数。如果两条相邻边之间的夹角是钝角,则应该返回负数。
assert find_interior_angles("1,1", "1,4", "4,4", "4,1") == [90.0, -90.0, -90.0, 90.0]
在这个例子中,给定的四边形是一个正方形,每条边都是90度的角度。
assert find_interior_angles("1,1", "1,4", "4,2", "4,1") == [23.13, -156.87, -23.13, 156.87]
在这个例子中,给定的四边形不是正方形,每个内角的角度不是90度,并且其中两个角是钝角。