已知三点坐标求外接圆圆心坐标c语音
时间: 2023-09-03 19:13:13 浏览: 165
EXCEL已知三点坐标求外接圆的直径和圆心坐标
5星 · 资源好评率100%
可以使用数学公式来计算三角形外接圆圆心坐标,具体步骤如下:
1. 根据已知的三个点坐标计算出三条边的长度。
2. 根据海伦公式计算出三角形的面积。
3. 根据三角形面积、三条边长度,使用公式计算出外接圆半径。
4. 根据两条边的中垂线交点,计算出外接圆圆心坐标。
以下是C语言代码实现:
```c
#include <stdio.h>
#include <math.h>
// 定义点结构体
typedef struct {
double x;
double y;
} Point;
// 计算两点之间的距离
double getDistance(Point p1, Point p2) {
return sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
}
int main() {
Point p1, p2, p3;
double a, b, c, s, r, x, y;
// 输入三个点的坐标
printf("请输入三个点的坐标:\n");
scanf("%lf,%lf,%lf,%lf,%lf,%lf", &p1.x, &p1.y, &p2.x, &p2.y, &p3.x, &p3.y);
// 计算三条边长度
a = getDistance(p1, p2);
b = getDistance(p2, p3);
c = getDistance(p3, p1);
// 计算三角形面积
s = 0.5 * (a + b + c);
s = sqrt(s * (s - a) * (s - b) * (s - c));
// 计算外接圆半径
r = a * b * c / (4 * s);
// 计算中垂线交点坐标
x = (p2.y - p1.y + (p2.x - p1.x) * (p2.x + p1.x) / (p2.y - p1.y) -
(p3.x - p2.x) * (p3.x + p2.x) / (p3.y - p2.y)) / 2;
y = -1 * (x - (p1.x + p2.x) / 2) * (p2.x - p1.x) / (p2.y - p1.y) + (p1.y + p2.y) / 2;
// 输出结果
printf("外接圆圆心坐标为:(%.2lf, %.2lf)\n", x, y);
return 0;
}
```
输入三个点的坐标后,程序会输出计算得到的外接圆圆心坐标。
阅读全文