求助已知3点怎么用MATLAB编程求圆的方程(已作答,含三点画圆的程序)
求助已知3点怎么用MATLAB编程求圆的方程急需大虾求助, QQ312268755
[ 本帖最后由 huright 于 2007-5-14 09:33 编辑 ] 1.三点连成的直线没有斜率,判断条件(y1==y2)&&(y2==y3)
2.判断任意两点连成的直线斜率是否相等。
3.解方程组,设圆心坐标为(x,y)
圆心到任意两点的距离相等,由此求出x,y的表达式,代入程序。
4.求出圆心,半径迎刃而解。
参考程序:
x1=2;y1=4;x2=8;y2=12;x3=14;y3=19;%三点坐标
if((y1==y2)&(y2==y3))
disp('三点不构成圆!');
elseif((y1~=y2)&(y2~=y3))
k1=(x2-x1)/(y2-y1);
k2=(x3-x2)/(y3-y2);
end
if(k1==k2)
disp('三点不构成圆!');
end
a=2*(x2-x1);
b=2*(y2-y1);
c=x2*x2+y2*y2-x1*x1-y1*y1;
d=2*(x3-x2);
e=2*(y3-y2);
f=x3*x3+y3*y3-x2*x2-y2*y2;
disp('圆心为::');
x=(b*f-e*c)/(b*d-e*a)
y=(d*c-a*f)/(b*d-e*a)
disp('半径为::');
r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))
剩下的你自己来写吧(plot函数)
[ 本帖最后由 huright 于 2007-5-14 08:46 编辑 ] 这只是一个初等几何问题. 是啊
不过不忍心不作答阿 不好意思啊,我学的是机械设计的毕业设计竟然做这个
寻找huright ,
大虾有个问题要问你下 ,留个QQ吧 mean()函数 建议cbbkula:(1)找本基础的matlab书籍看上3~5h(2)多使用google等工具;
(3)多使用matlab的help命令。
[ 本帖最后由 eight 于 2007-5-14 13:06 编辑 ] 谢谢哈
页:
[1]