function poligono(P,Q,N) % Disegna un poligono di N lati con centro P e un vertice in Q. % Esempio: % >> compito2([1,2], [3,4],5) % Controllo dei dati. if N<=2 disp 'N deve essere un intero maggiore o uguale a 3'; return end V=Q-P; vx=V(1); vy=V(2); d=norm(V); % Distanza PQ. a=atan2(vy, vx); % Coordinata angolare di Q (rispetto a P). h=2*pi/N; % Anglo che intercorre tra due vertici consecutivi. B=(0:h:2*pi)+a; % Vettore con i valori dell'angolo di ogni vertice. X=d.*cos(B)+P(1); % Ascisse dei vertici. Y=d.*sin(B)+P(2); % Ordindate dei vertici. % Istruzioni grafiche. hold on; plot(P(1),P(2),'*b'); plot(Q(1),Q(2),'*r'); plot(X,Y); axis equal; hold off;