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 + -
显示快捷键?