draw_arc.m
来自「这是一个用于语音信号处理的工具箱」· M 代码 · 共 31 行
M
31 行
%draw_arc
%modified by D. G. Childers 7/8/98
function draw_arc(p1_x,p1_y,p2_x,p2_y,center_x,center_y,ox,oy,wid,hei,xrat,yrat)
global BACK_COLOR TEXT_COLOR;
cq = distance(p1_x,p1_y, center_x,center_y);
wide = (xrat*2.0*cq);
high = (yrat*2.0*cq);
x = ox + (xrat*(center_x - cq));
y = oy + hei - yrat*(center_y + cq);
ang1 = angle(p1_x,p1_y, center_x,center_y);
ang2 = angle(p2_x,p2_y, center_x,center_y)-ang1;
if (ang2 < 0)
ang2 = 2*pi + ang2;
end
a1 = (round(ang1*100))/100;
a2 = (round(ang2*100))/100;
%for i=0.00:0.01:a2
%xx(100*i+1)=x+wide/2+(high*wide*cos(a1+i)/(2*sqrt((cos(a1+i)*high)^2+(sin(a1+i)*wide)^2)));
%yy(100*i+1)=8-(y+high/2-(high*wide*sin(a1+i)/(2*sqrt((cos(a1+i)*high)^2+(sin(a1+i)*wide)^2))));
for i=0:1:a2*100
xx(i+1)=x+wide/2+(high*wide*cos(a1+i/100)/(2*sqrt((cos(a1+i/100)*high)^2+(sin(a1+i/100)*wide)^2)));
yy(i+1)=8-(y+high/2-(high*wide*sin(a1+i/100)/(2*sqrt((cos(a1+i/100)*high)^2+(sin(a1+i/100)*wide)^2))));
end
plot(xx,yy,'color',TEXT_COLOR);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?