python matplotlib画三角形内切圆
时间: 2023-09-12 18:08:43 浏览: 157
python应用实例
要画一个三角形内切圆,需要先求出三角形的内心和半径。内心是三角形三条边的垂直平分线的交点,半径等于三角形面积除以半周长。
以下是一个 Python Matplotlib 代码示例,可以画出一个三角形及其内切圆:
```python
import math
import matplotlib.pyplot as plt
# 定义三角形的三个顶点坐标
A = [1, 4]
B = [4, 1]
C = [7, 5]
# 计算三角形的半周长
a = math.sqrt((B[0]-C[0])**2 + (B[1]-C[1])**2)
b = math.sqrt((A[0]-C[0])**2 + (A[1]-C[1])**2)
c = math.sqrt((A[0]-B[0])**2 + (A[1]-B[1])**2)
s = (a + b + c) / 2
# 计算三角形的面积和内切圆的半径
area = math.sqrt(s * (s-a) * (s-b) * (s-c))
r = area / s
# 计算内心坐标
x = (a * A[0] + b * B[0] + c * C[0]) / (a + b + c)
y = (a * A[1] + b * B[1] + c * C[1]) / (a + b + c)
center = [x, y]
# 画出三角形和内切圆
fig, ax = plt.subplots()
ax.plot([A[0], B[0], C[0], A[0]], [A[1], B[1], C[1], A[1]], 'b') # 画三角形
circle = plt.Circle(center, r, color='r', fill=False) # 画内切圆
ax.add_artist(circle)
plt.axis('equal')
plt.show()
```
该代码会生成一个三角形及其内切圆的图像。如果需要画其他的三角形,只需要修改三个顶点的坐标即可。
阅读全文