知道一段圆弧上的几个坐标点,如何通过这几个坐标点拟合一个圆出来?用matlab

 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
昱婷漫步
2017-05-22 · TA获得超过1169个赞
知道小有建树答主
回答量:713
采纳率:94%
帮助的人:460万
展开全部
代码:
clear all;
clc;
close all;
%已知随便三点,不在同一条直线上的三点确定一个圆?
A1=[0 0];
A2=[1 1];
A3=[0 4];
%求圆心坐标
A=[A1-A2;A2-A3];
B=([sum(A1.^2-A2.^2); sum(A2.^2-A3.^2)])/2;
if det(A)~=0
O=(A\B)';%O=[x y]是圆心坐标
r=sqrt(sum((O-A1).^2));%三点找一点算半径
else
error('不是三角形');%三点共线,不形成三角形就无解
end
%画图
cc=[A1;A2;A3];
plot(cc(:,1),cc(:,2),'r*');
hold on;
plot(O(1),O(2),'rO');
sita=0:pi/20:2*pi;
x=r*cos(sita)+O(1);
y=r*sin(sita)+O(2);
plot(x,y)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式