够计算三角形的面积非常重要,因为通常可以轻松地将许多更复杂的任务简化为三角形(我们将在稍后使用它)。
Heron公式是最古老的已知方法之一,该公式将三角形边的长度作为输入。
但是,在此问题中,您将编写一个使用三角形顶点的X和Y坐标的程序。 因此,您可以以某种方式使用此公式,也可以找到另一个公式。
输入数据将包含要处理的三角形数量。
下一行将按顺序X1 Y1 X2 Y2 X3 Y3包含6个值,描述一个三角形的三个顶点。
答案应给出以空格分隔的三角形区域(预期精度约为1e-7)。
例:
data:
3
1 3 9 5 6 0
1 0 0 1 10000 10000
7886 5954 9953 2425 6250 2108
answer:
17 9999.5 6861563
代码
import math
def triangel_area(a,b,c):
if a+b>c and a+c>b and b+c>a:
d=(a+b+c)/2
s=math.sqrt(d*(d-a)*(d-b)*(d-c))
return s
else:
print("无法构成三角形")
def coordinate_sidelength(x1,y1,x2,y2):
return math.sqrt((y2-y1)**2+(x2-x1)**2)
num=input()
result=[]
for i in range(int(num)):
line_input=list(map(int,input().split()))
a=coordinate_sidelength(line_input[0],line_input[1],line_input[2],line_input[3])
b=coordinate_sidelength(line_input[0],line_input[1],line_input[4],line_input[5])
c=coordinate_sidelength(line_input[2],line_input[3],line_input[4],line_input[5])
result.append(round(triangel_area(a,b,c),7))
print(*result)