function poligono(P, Q, N) % Disegna un poligono di N lati con centro P e un vertice in Q. % Esempio: % >> poligono([1,2], [3,4], 5) % Controllo dei dati. if N<=2 disp 'N deve essere un intero maggiore o uguale a 3'; return end % Angolo tra due vertici consecutivi. a = 2*pi/N; % Calcola i vettori delle ascisse e delle ordinate dei vertici. U = Q - P; b = a .* (0:N); x = cos(b) .* U(1) + sin(b) .* U(2) + P(1); y = - sin(b) .* U(1) + cos(b) .* U(2) + P(2); % Istruzioni grafiche. hold on; axis equal; plot(x, y, 'k'); plot(P(1), P(2), '*b'); plot(Q(1), Q(2), '*r'); hold off;