python 求三角形面积
时间: 2023-09-12 18:10:26 浏览: 247
求三角形面积
有多种方法可以求解三角形面积,下面列举两种常用的方法。
方法一:海伦公式
海伦公式是求解三角形面积的经典公式,可以通过三角形的三条边长度来求解。公式如下:
$$
S=\sqrt{p(p-a)(p-b)(p-c)}
$$
其中,$a$、$b$、$c$ 分别表示三角形的三条边长,$p$ 表示三角形的半周长,即:
$$
p=\frac{a+b+c}{2}
$$
Python 代码实现:
```python
import math
def triangle_area(a, b, c):
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
return area
```
方法二:向量法
向量法是一种基于向量的几何方法,可以通过三角形的两个边向量来求解三角形面积。公式如下:
$$
S=\frac{1}{2}|\vec{a}\times \vec{b}|
$$
其中,$\vec{a}$、$\vec{b}$ 分别表示三角形的两个边向量,$\times$ 表示向量的叉积,$|\vec{a}\times \vec{b}|$ 表示向量的模长。
Python 代码实现:
```python
import numpy as np
def triangle_area(a, b, c):
vec_a = np.array(b) - np.array(a)
vec_b = np.array(c) - np.array(a)
area = 0.5 * np.linalg.norm(np.cross(vec_a, vec_b))
return area
```
其中,`np.array` 表示将列表转化为向量,`np.cross` 表示向量的叉积,`np.linalg.norm` 表示向量的模长。
阅读全文