clear all t = 0:0.01:2; L0 = 0.5; x1 = 0.5*ones(1,length(t)); x2 = 0.5 + 0.25*cos(2*pi*t); for i=1:length(x1), a = acos( (L0^2 + x1(i)^2 - x2(i)^2)/(2*L0*x1(i)) ); Xp(i) = x1(i)*cos(a); Yp(i) = x1(i)*sin(a); plot([0 Xp(i)],[0 Yp(i)],'b-','linewidth',4) hold on plot([L0 Xp(i)],[0 Yp(i)],'r-','linewidth',4) plot(Xp,Yp,'k.') plot(0,-0.02,'k^','markersize',10,'markerfacecolor','k') plot(L0,-0.02,'k^','markersize',10,'markerfacecolor','k') plot(0,0,'ko','markersize',10,'markerfacecolor','w') plot(L0,0,'ko','markersize',10,'markerfacecolor','w') plot(Xp(i),Yp(i),'ko','markersize',10,'markerfacecolor','w') hold off text(0.02,0,'A','fontsize',12) text(L0+0.02,0,'B','fontsize',12) text(Xp(i)+0.02,Yp(i),'P','fontsize',12) axis([-0.1 0.6 -0.1 0.6]) axis square grid on pause(0.01) end