已知三角形三点坐标求外心坐标,用python编写函数
时间: 2023-05-25 17:05:22 浏览: 225
以下是用python编写的求三角形外心坐标的函数:
```python
import math
def outcenter(x1: float, y1: float, x2: float, y2: float, x3: float, y3: float) -> tuple:
'''
三角形外心坐标计算函数
:param x1: 第一个点的横坐标
:param y1: 第一个点的纵坐标
:param x2: 第二个点的横坐标
:param y2: 第二个点的纵坐标
:param x3: 第三个点的横坐标
:param y3: 第三个点的纵坐标
:return: 外心坐标
'''
a = math.sqrt((x2-x1)**2+(y2-y1)**2)
b = math.sqrt((x3-x2)**2+(y3-y2)**2)
c = math.sqrt((x1-x3)**2+(y1-y3)**2)
p = a + b + c
s = math.sqrt(p * (p - 2*a) * (p - 2*b) * (p - 2*c))
A = (x1 + x2 + x3) / 3
B = (y1 + y2 + y3) / 3
Ox = (a**2 * (b**2 + c**2 - a**2) * x1 + b**2 * (c**2 + a**2 - b**2) * x2 + c**2 * (a**2 + b**2 - c**2) * x3) / (16 * s**2)
Oy = (a**2 * (b**2 + c**2 - a**2) * y1 + b**2 * (c**2 + a**2 - b**2) * y2 + c**2 * (a**2 + b**2 - c**2) * y3) / (16 * s**2)
return Ox, Oy
```
该函数输入三个点的横纵坐标,返回三角形外心的坐标。使用方法示例:
```python
>>> outcenter(0, 0, 1, 0, 0, 1)
(0.5, 0.5)
```
阅读全文