编写程序 求三个圆 共同的交点坐标 已知三个圆 圆心的坐标 和每个圆的半径

作者&投稿:蔺桂 (若有异议请与网页底部的电邮联系)
如何编写程序,输入平面上3个点,求过这3个点的圆的圆心和半径~

首先判断这三个点不在一条直线上,如果在一条直线上,那么就不可能;
既然不在一条直线上就可以组成一个三角形,用三角形的外接圆公式就可以求出来半径;
根据半径,三个点位置关系很容易求出圆心坐标。

就是一个三角形的外接圆咯。拿高中的圆锥曲线知识解出来之后,反推回去写程序就行了。

只能跟你说下思路了 

1 首先判断两圆圆心的距离d是否大于两圆的半径之和 如果大于就无交点 反之则有

2 求出两圆点之间的中间点a的坐标(xa,ya)

3 求出a点到两交点的距离d3 用勾股定理 c1的平方-d1的平方 = c2的平方- d2的平方

                                                             d=d1+d2;

   通过这两个式子可以求出d1和d2  然后  d3的平方 = c1的平方 - d1的平方

  即可求出d3了

4 求以a点为圆心d3为半径的圆上的坐标与圆心的连线 与 前两圆的圆心连线垂直 的坐标 即交点了

5 判断垂直用向量的乘积就行了 



这个不太难吧。先判断任意两个圆是否相交,相交的话求一下焦点。然后把这两个焦点验证是否在第三个圆上,在的话就是共同焦点了啊。只是一点思路。

设(x, y)

(x-X1)^2 + (y-Y1)^2 = c1^2
(x-X2)^2 + (y-Y2)^2 = c2^2

联立解方程组

程序思路倒是有 但是数学算法不会了


光山县17291504836: 用MATLAB求三圆交点(条件如下)新手没分,跪求好心人 -
舌绿尚德: clear; %------------圆相交----------% %-----------k打酱油k---------% x1=input('圆心1坐标x1=?'); y1=input('圆心1坐标y1=?'); r1=input('圆1半径r1=?'); x2=input('圆心2坐标x2=?'); y2=input('圆心2坐标y2=?'); r2=input('圆2半径r2=?'); x3=input('圆...

光山县17291504836: 已知三点求圆的方程的c语言编程 -
舌绿尚德: /*************** * 已知三点求圆的 get_circle() 函数 * x1, y1为第一个点的坐标,以此类推 * r为求出的半径,x0, y0为圆心坐标 * 调用函数之前应先检查三点是否共线 否则会弹出被零除的错误 ***************/ # include <math.h> void get_circle(double...

光山县17291504836: MATLAB.以一个三角形顶点为圆心的三个圆,两两相交求在三角形内的交点,如何写M文件? -
舌绿尚德: 你应该知道该边的方程,那么2圆的交点分布在该直线的2侧,判断交点是在直线上面还是下面进行选择.

光山县17291504836: 请问如何用c语言编写一个程序,输入平面上3个点,求过这3个点的圆的圆心和半径 -
舌绿尚德: #include<stdio.h> int main() { printf("hello world!"); return 0; }<定厂翅断俨登愁券传猾br />这是一个很简单的C程序,只有一个输出语句.希望我的回的能帮助到你.

光山县17291504836: 抛物线y=x2+ax - b2与坐标轴有三个不同的交点,过这三个点作圆,证明圆都通过同一个定点,并求这个定点的坐标.已知二次函数y=x2+ax - b2,当实数a,b变... -
舌绿尚德:[答案] 还有啊.下面看多! 二次函数:Y = AX ^ 2 + BX + C(A,B,C为常数,并且不等于0) 一> 0 开辟了 0,AX ^ 2 + BX + C = 0有两个不相等的实数根 B ^ 2-4ac 0)为单位,分析公式Y = A(X + B / 2A + D)^ 2 +(4AC-B ^ 2)/ 4A,右 功能是减少向上当> 0移动D(...

光山县17291504836: 怎么求两个圆的交点坐标? -
舌绿尚德: 要求两个圆的交点坐标,可以使用以下方法:假设有两个圆,圆A和圆B,其圆心分别为 (x1, y1) 和 (x2, y2),半径分别为 r1 和 r2.1. 计算两个圆心之间的距离 d: d = √((x2 - x1)² + (y2 - y1)²)2. 判断两个圆是否相离、相切或相交: a. 若 d >...

光山县17291504836: matlab如何求三个椭圆公共交集内的交点? -
舌绿尚德: 你能画出图来,说明你有一定的MATLAB基础,我就简单讲一下思路吧.首先,上述椭圆方程的所有系数中,x^2的系数a和y^2的系数c一定是同号的,即同为正值或同为负值.若是一正一负,那就是双曲线方程了.既然是椭圆方程,那么所有系...

光山县17291504836: 已知3个点的坐标,求过这3点圆的方程 -
舌绿尚德:[答案] 方法1:(x-a)^2+(y-b)^2=r^2,把已知三个点的坐标代入圆方程,解方程组即可. 方法2:各求出2点的中点坐标,过各中点垂直线的交点C是圆心坐标,再求出半径 方法3:过两点中点的垂直线是圆心所在直线:y=kx+b C(a,ka+b) C到另外两点的距离=半...

光山县17291504836: 求两个圆交点的C/C++代码 -
舌绿尚德: 首先分析是否有交点. 以下情况,无交点:两个圆相隔太远(圆心之间的距离 大于 半径和)一个圆在一个圆的内部. 还有几种特殊的情况:相切 ,只有一个焦点.分为内切和外切.两个圆大小一样(半径相同),而且圆心坐标也相同,那么就有无穷多个交点. 然后剩下的就是套公式计算了.

光山县17291504836: 已知三条直线L1:X - 2Y=0L2:Y+1=0L3:2X+Y - 1=0两两相交,先画出图形,再求过这三个交点的圆的方程 -
舌绿尚德: 图形你应该会画的吧.分别联立方程,L1L2,L2L3,L1L3求出三个交点的坐标. 设圆的方程为(x-a)^2+(y-b)^2=r^2.将你求得的三个点的坐标代入到圆的方程中(注意是代入x和y的值).现在你有3个未知数a、b、r,和三个方程.解吧.就能求出来了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网