function polygons( n, nc )
% function per creare una figura con i poligoni regolari 
% dal triangolo fino all'(n)-agono, 
% disposti in sottografici di nc colonne su un grafico

if n < 3
    error('WARNING: Non esistono figure regolari con meno di 3 lati')
end

% prepara la figura
figure(n)
clf
hold on

% numero di poligoni da tracciare
nk = n-2;
% determinare numero di righe
nr = ceil( nk/nc );

for k=1:nk
    % selezioniamo la finestrella
    subplot(nr,nc,k)
    
    % determiniamo i settori in cui dividere un cerchio
    % per k servono k+2 lati, ossia k+3 punti
    theta = linspace( 0, 2*pi, k+3);
    % calcoliamo le x e y; attenzione all'uso di .^ e .* per operare 
    % 'elementwise'
    x = cos( theta );
    y = sin( theta );
    
    % si noti l'uso degli "handle" per modificare
    % le caratteristiche di un grafico... (*)
    plhndl = plot(x, y);
    set( plhndl, 'Color', [ k/nk 0 (nk-k)/nk ]); 
    % convertiamo k+2 in una stringa (di un carattere) per il titolo
    kappa = num2str(k+2);
    % con la virgola, concateniamo le stringhe
    title(['Polig. reg. con ', kappa, ' lati']);
    

    % i quadrati e i cerchi devono sembrare tali....
    axis tight
    axis equal
    
    % non disegnamo gli assi
    axis off
    
    
end