注册 登录
编程论坛 Matlab

请教如何画圆弧

chunna 发布于 2006-05-15 08:53, 3506 次点击
已知圆弧的起点、终点,圆心角(带方向)
如何划出圆弧
命令怎么写呀
4 回复
#2
Genial2006-05-15 20:21
可能用极坐标方式会简单点儿,极坐标绘图指令polar
#3
abingchem2006-05-15 22:48

用极坐标的办法不错,数据离散化的办法不适合这种情况

#4
qingfen2006-06-12 01:49
有代码吗?什么算法都行!!
#5
zhangenter2006-06-12 13:45
大约根据你的意思编的
function h=yuanhu(x1,y1,x2,y2,theta)
a=linspace(0,theta,100);
xy12=sqrt((x1-x2)^2+(y1-y2)^2);
if x1==x2
x1=x1-0.01;
end
if x1>x2
p=x1;x1=x2;x2=p;
q=y1;y1=y2;y2=q;
end
r=0.5*xy12/sin(0.5*theta);
theta12=atan((y1-y2)/(x1-x2));
theta01=-0.5*pi+theta12+0.5*theta;
x0=x1+r*cos(theta01);y0=y1+r*sin(theta01);
line(x0+r*cos(pi+theta01-a),y0+r*sin(pi+theta01-a));
theta01=theta12+0.5*pi-0.5*theta;
x0=x1+r*cos(theta01);y0=y1+r*sin(theta01);
h=line(x0+r*cos(theta01+a-pi),y0+r*sin(theta01+a-pi));
set(h,'color','red');
1