描述
平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。
输入
输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。
输出
输出也是一行,输出三角形的面积,精确到小数点后两位。
样例输入
0 0 4 0 0 3
样例输出
6.00
思路1:海伦公式
-
海伦公式
@email = renjx@stu.pku.edu.cn
@creat_time = 2021/10/16 21:00
计算三角形面积
1.海伦公式
s = (x+y+z)/2
a = sqrt(s*(s-x)*(s-y)*(s-z))
"""
import math
x1, y1, x2, y2, x3, y3 = list(map(float, input().split()))
x = math.sqrt((x3 - x2) ** 2 + (y3 - y2) ** 2)
y = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
z = math.sqrt((x3 - x1) ** 2 + (y3 - y1) ** 2)
s = (x + y + z) / 2
a = math.sqrt(s * (s - x) * (s - y) * (s - z))
print('%2.f'%a) # 注意round(a,2)会报错,因为round(6.0,2)==6.0
2.利用向量叉积计算面积
@email = renjx@stu.pku.edu.cn
@creat_time = 2021/10/16 21:00
计算三角形面积
2.叉积
"""
import math
a = math.fabs((x2 -x1)*(y3-y1) - (x3-x1)*(y2-y1))/2
print('%2.f'%a)