python画三角形外接圆 代码
时间: 2023-09-11 08:08:18 浏览: 179
以下是Python代码,用于绘制一个三角形的外接圆:
```python
import math
import turtle
# 定义三角形的三个顶点坐标
A = (-100, 0)
B = (0, 200)
C = (100, 0)
# 计算三角形的外接圆半径和圆心坐标
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
R = a * b * c / (4 * math.sqrt(s * (s - a) * (s - b) * (s - c)))
x = (a**2 * (b**2 + c**2 - a**2) * A[0] + b**2 * (c**2 + a**2 - b**2) * B[0] + c**2 * (a**2 + b**2 - c**2) * C[0]) / (16 * R**2 * (a**2 * (b**2 + c**2 - a**2) + b**2 * (c**2 + a**2 - b**2) + c**2 * (a**2 + b**2 - c**2)))
y = (a**2 * (b**2 + c**2 - a**2) * A[1] + b**2 * (c**2 + a**2 - b**2) * B[1] + c**2 * (a**2 + b**2 - c**2) * C[1]) / (16 * R**2 * (a**2 * (b**2 + c**2 - a**2) + b**2 * (c**2 + a**2 - b**2) + c**2 * (a**2 + b**2 - c**2)))
# 设置海龟的起始位置和方向
turtle.penup()
turtle.goto(A)
turtle.pendown()
# 绘制三角形和圆
turtle.forward(a)
turtle.left(math.degrees(math.acos((a**2 + c**2 - b**2) / (2 * a * c))))
turtle.forward(c)
turtle.left(math.degrees(math.acos((a**2 + b**2 - c**2) / (2 * a * b))))
turtle.forward(b)
turtle.goto(A)
turtle.penup()
turtle.goto(x, y - R)
turtle.pendown()
turtle.circle(R)
# 显示绘制结果并保持窗口打开
turtle.done()
```
运行以上代码,你将看到一个三角形和它的外接圆。
阅读全文