C语言编程 已知八个点坐标,任意选取三个点确定一个圆(三点定圆定理)

已知八个点坐标,任意选取三个点(考虑到所有的排列组合)确定一个圆(三点定圆定理),然后求出所求圆的圆心及半径。分别求出剩下五点与圆心之间的距离的平均值。将平均值最小的圆心作为返回值。

垂径定理: 垂直于弦的直径平分这条弦,并且平分这条弦所对的两条弧
推论:弦的垂直平分线经过圆心,并且平分这条弦所对的弧
所以分别连接两点做垂直平分线。交点即圆心
三点确定唯一的圆
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-13
取出三个二维数组之后
x0 = ((y3 - Y1) * (Y2 * Y2 - Y1 * Y1 +X2 * X2 - X1 * X1) + (Y2 - Y1) * (Y1 * Y1 - y3 * y3 + X1 * X1 - x3 * x3)) / (2 * (X2 - X1) * (y3 - Y1) - 2 * (x3 - X1) * (Y2 - Y1))
y0 = ((x3 - X1) * (X2 * X2 - X1 * X1 +Y2 * Y2 - Y1 * Y1) + (X2 - X1) * (X1 * X1 - x3 * x3 + Y1 * Y1 - y3 * y3)) / (2 * (Y2 - Y1) * (x3 - X1) - 2 * (y3 - Y1) * (X2 - X1))  
r=sqr((x1-x0)*(x1-x0)+(y1-y0)*(y1-y0)本回答被网友采纳
第2个回答  2013-09-13
这个貌似有相关的api可以做到吧,你看看windows 画图的api

C语言编程 已知八个点坐标,任意选取三个点确定一个圆(三点定圆定理)
推论:弦的垂直平分线经过圆心,并且平分这条弦所对的弧 所以分别连接两点做垂直平分线。交点即圆心 三点确定唯一的圆

C语言编程 已知八个点坐标,任意选取三个点确定一个圆(三点定圆定理)
取出三个二维数组之后 x0 = ((y3 - Y1) * (Y2 * Y2 - Y1 * Y1 +X2 * X2 - X1 * X1) + (Y2 - Y1) * (Y1 * Y1 - y3 * y3 + X1 * X1 - x3 * x3)) \/ (2 * (X2 - X1) * (y3 - Y1) - 2 * (x3 - X1) * (Y2 - Y1))y0 = ((x3 - X1) * (...

已知三点求圆的方程的c语言编程
\/ 已知三点求圆的 get_circle() 函数 x1, y1为第一个点的坐标,以此类推 r为求出的半径,x0, y0为圆心坐标 调用函数之前应先检查三点是否共线 否则会弹出被零除的错误 \/ include <math.h> void get_circle(double x1, double y1, double x2, double y2, double x3, double y3, doubl...

c语言编一个程序判断一个点是否在单位圆上,需要以小数点后三位为精 ...
%.3f)在单位圆上!\\n",x,y); else printf("坐标(%.3f,%.3f)不在单位圆上!\\n",x,

c语言,求输出一个圆的图形的程序
circle(320 y*20,240-x*20,3);circle(320 x*20,240-y*20,3);} void MidBresenhamcircle(int r) \/* 中点Bresenham算法画圆的程序 *\/ { int x,y,d;x=0;y=r;d=1-r; \/* 计算初始值 *\/ while(x<y){ circlePoint(x,y); \/* 绘制点(x,y)及其在八分圆中的另外7个对称点 *\/...

用C语言 定义一个关于空间点的结构体,它包含了点的3个坐标值,编写一个...
1、首先我们找到头文件与main函数之间。2、写上,我们的第一个关键字【struct】。3、然后我们对该结构体进行命名。4、在里面,我们便可以编写他的成员。5、可以编写数组也可以是普通变量。6、书写完毕后,我们一定要用分号结束。

用C语言编写一个程序:定义一个点的坐标,然后定义两个点,求这两个点间...
&a, &b)); return 0;}说明:1、distance() 函数的两个参数 const struct Point *a 和 b 使用了 const 修饰,是表示 a 和 b 在函数执行过程中不会被修改;这样即使函数体内部写错,修改了 a 和 b 的值,编译也不会通过。2、对 double,scanf 用 %lf,printf 用 %f。以上。

C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少?
我测试过了,四点一线,凹四边形,四边形,有两个点共点,都可以,这里使用一条知道N边形N个顶点坐标求N边形的面积的公式,这些情况其实已经可以不考虑,呵呵,自动求 凹四边形情况:有三点共一线形成三角形的情况:include "stdio.h"include "math.h"void main(){ double x[4],y[4];for(...

速求c语言编程 给定n个点的坐标,这n个点依次围成一闭合多边形,再给一 ...
可以定好3个点得坐标(因为要构成闭合的图形,至少得3个点才行)分别计算出每两个点的直线方程,如果点得个数大于3,则根据每两个相距最近的点连成直线然后还是求出该直线方程判断要判断的点是否在线上,还是左右侧等……根据这个去编程写代码,我觉得是可以实现的,还有就是n个点的个数,可以先定下来,当然也可以先...

c语言三点法画圆 要交作业 在线等
同意楼上的,明明就是一个数学题:圆心坐标就是 ((x1+x2+x3)\/3,(y1+y2+y3)\/3),然后半径就是任意一点与刚求圆心的距离:sqrt(((x1+x2+x3)\/3-x1)^2,(y1+y2+y3)\/3-y1)^2),

相似回答