C语言编程 已知八个点坐标,任意选取三个点确定一个圆(三点定圆定理) 10
已知八个点坐标,任意选取三个点(考虑到所有的排列组合)确定一个圆(三点定圆定理),然后求出所求圆的圆心及半径。分别求出剩下五点与圆心之间的距离的平均值。将平均值最小的圆心...
已知八个点坐标,任意选取三个点(考虑到所有的排列组合)确定一个圆(三点定圆定理),然后求出所求圆的圆心及半径。分别求出剩下五点与圆心之间的距离的平均值。将平均值最小的圆心作为返回值。
展开
3个回答
展开全部
取出三个二维数组之后
x0 = ((y3 - Y1) * (Y2 * Y2 - Y1 * Y1 + X2 * X2 - X1 * X1) + (Y2 - Y1) * (Y1 * Y1 - y3 * y3 + X1 * X1 - x3 * x3)) / (2 * (X2 - X 1) * (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 - Y 1) * (x3 - X1) - 2 * (y3 - Y1) * (X2 - X1))
r=sqr((x1-x0)*(x1-x0)+(y1-y0)*(y1- y0)
x0 = ((y3 - Y1) * (Y2 * Y2 - Y1 * Y1 + X2 * X2 - X1 * X1) + (Y2 - Y1) * (Y1 * Y1 - y3 * y3 + X1 * X1 - x3 * x3)) / (2 * (X2 - X 1) * (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 - Y 1) * (x3 - X1) - 2 * (y3 - Y1) * (X2 - X1))
r=sqr((x1-x0)*(x1-x0)+(y1-y0)*(y1- y0)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个貌似有相关的api可以做到吧,你看看windows 画图的api
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询