用python计算三角形的面积
时间: 2023-09-25 13:16:06 浏览: 46
可以使用海伦公式或矢量叉积来计算三角形的面积。
海伦公式:
海伦公式可以用三角形的三条边长来计算三角形面积,公式如下:
$$
S = \sqrt{p(p-a)(p-b)(p-c)}
$$
其中,$a$、$b$、$c$ 分别为三角形的三条边长,$p$ 为半周长,即:
$$
p = \frac{a+b+c}{2}
$$
代码实现:
```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} \left\| \vec{a} \times \vec{b} \right\|
$$
其中,$\vec{a}$、$\vec{b}$ 分别为三角形的两条边向量,$\left\| \vec{a} \times \vec{b} \right\|$ 表示向量 $\vec{a} \times \vec{b}$ 的模长。
代码实现:
```python
import numpy as np
def triangle_area(a, b, c):
vec_a = np.array(a)
vec_b = np.array(b)
vec_c = np.array(c)
area = 0.5 * np.linalg.norm(np.cross(vec_b-vec_a, vec_c-vec-a))
return area
```
其中,`np.array` 将列表转换为向量,`np.cross` 计算矢量叉积,`np.linalg.norm` 计算向量模长。