4.编写程序,读入3维空间3个点的坐标(实数),输出这三个点所构成的三角形面积(保留小数点后2位
时间: 2024-06-12 20:03:38 浏览: 71
)。
提示:可以使用海伦公式计算三角形面积。
海伦公式:假设三角形的三边长分别为a、b、c,则:
s = (a+b+c)/2
area = sqrt(s(s-a)(s-b)(s-c))
其中,sqrt表示开平方根。s表示半周长(即s=(a+b+c)/2),area表示三角形的面积。
程序如下:
```python
import math
# 读入三个点的坐标
x1, y1, z1 = map(float, input("请输入第1个点的坐标(以空格分隔):").split())
x2, y2, z2 = map(float, input("请输入第2个点的坐标(以空格分隔):").split())
x3, y3, z3 = map(float, input("请输入第3个点的坐标(以空格分隔):").split())
# 计算三边长
a = math.sqrt((x2-x1)**2 + (y2-y1)**2 + (z2-z1)**2)
b = math.sqrt((x3-x2)**2 + (y3-y2)**2 + (z3-z2)**2)
c = math.sqrt((x1-x3)**2 + (y1-y3)**2 + (z1-z3)**2)
# 计算半周长
s = (a + b + c) / 2
# 计算三角形面积
area = math.sqrt(s * (s-a) * (s-b) * (s-c))
# 输出结果
print("三角形面积为:%.2f" % area)
```
运行结果示例:
```
请输入第1个点的坐标(以空格分隔):0 0 0
请输入第2个点的坐标(以空格分隔):1 0 0
请输入第3个点的坐标(以空格分隔):0 1 0
三角形面积为:0.50
```
阅读全文