Esercitazioni di Lettura del micrometro centesimale – linguaggio SVG
In questa pagina è riportato il codice scritto per creare degli esercizi di metrologia ad uso scolastico. Gli esercizi possono essere utilizzati come strumento di apprendimento e/o verifica. Lo strumento disegnato è un micrometro centesimale
A parte il disegno dello strumento e l’organizzazione del file contenente le soluzioni la parte più complicata del codice consiste nella realizzazione dei tamburi con graduazione centesimale o cinquantesimale. Sul tamburo la successione delle tacche avviene con una funzione di tipo coseno. Il problema più complicato è che in alcune misure bisogna disegnare l’ultima tacca (la cinquantesima o centesima) e immediatamente dopo la tacchetta dello zero.

Per capire a cosa serve il codice riportato in questa pagina scaricate le verifiche di esempio
Ogni aggiornamento del codice e le nuove versioni delle verifiche, sono postate sulla pagina facebook: www.facebook.com/idroslab
Disegno del calibro con nonio avente 100 divisioni (passo 1 mm)
% Autori% Prof. Paolo Sordi IPSIA A. Pacinotti, Pontedera (Pisa)% Prof. Danilo Pasquini IPSIA P.P. Delfino, Colleferro (Roma)%function micrometro ()
global larghezza_lineaglobal altezza_tacche_astaglobal altezza_tacche_asta_lungheglobal altezza_tacche_nonioglobal larghezza_nonioglobal raggio_millimetratoglobal raggio_spigolo_nonioglobal larghezza_prima_dello_zeroglobal fid1global scalaglobal numero_letturaglobal colonne_risultatiglobal righe_risultatiglobal matrice_risultatiglobal numero_esercitazionenumero_lettura = 0;larghezza_prima_dello_zero = 3;larghezza_linea = 0.2;larghezza_dopo_nonio = 14; % l1
larghezza_zigrinato = 24; % l1
larghezza_dopo_zigrinato = 10; % l1
larghezza_attacco_frizione = 3; % l1
larghezza_frizione = 7; % l1
larghezza_battuta_asta = 3;altezza_tacche_asta = 2;altezza_tacche_asta_lunghe = 5;altezza_tacche_nonio = 3;larghezza_nonio = 15;raggio_millimetrato = 11;raggio_spigolo_nonio = 14.5;scala = 3.54;altezza_testo = 1.6;numero_esercitazione = numero_esercitazione + 1;testo = num2str(ceil(numero_esercitazione));
colonne_risultati = 1;matrice_risultati (righe_risultati, colonne_risultati) = str2num(testo);
nomefile = ['c:\micro100\100_micro_' testo '.svg'];
nomefile1 = ['c:\micro100\100_micro_' testo '.txt'];
fid = fopen([nomefile], 'wt');
fid1 = fopen([nomefile1], 'wt');
fprintf(fid, ['<!--?xml version="1.0" encoding="iso-8859-1" standalone="no"?--> \n']);
fprintf(fid, ['\n']);
fprintf(fid, ['\n']);
portata_strumento = 2500;lunghezza_casuale = (ceil (rand*portata_strumento));
colonne_risultati = 1 + colonne_risultati;matrice_risultati (righe_risultati, colonne_risultati) = lunghezza_casuale;
pos_x = 90;pos_y = 38;[fid] = scrivere (fid,30,15,'left',2.5,'Nome: _________________________________________________ Classe: ___________ Data: _____________');
[fid] = scrivere (fid,15,30,'left',2,['Soluzione: ', testo]);
[fid] = scrivere (fid,8,15,'left',6,'A');
[fid] = scrivere (fid,10,283,'right',2.5,'www.tiny.cc/disegno');
[fid] = scrivere (fid,124,282,'right',2,'Autori: Prof. Paolo Sordi ITIS Marconi, Pontedera (Pisa)');
[fid] = scrivere (fid,132,285,'right',2,'Prof. Danilo Pasquini IPSIA P.P. Delfino, Colleferro (Roma)');
disegna_micrometro (fid, pos_x, pos_y, lunghezza_casuale)
fid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio, pos_y-raggio_spigolo_nonio, ...
larghezza_dopo_nonio , raggio_spigolo_nonio * 2, 0, 0, 0, 0.2);
% a destra del noniofid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio+larghezza_dopo_nonio, pos_y-raggio_spigolo_nonio, ...
larghezza_zigrinato , raggio_spigolo_nonio * 2, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio+larghezza_dopo_nonio+larghezza_zigrinato , pos_y-raggio_spigolo_nonio, ...
larghezza_dopo_zigrinato , raggio_spigolo_nonio * 2, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio+larghezza_dopo_nonio+larghezza_zigrinato , pos_y-raggio_spigolo_nonio, ...
larghezza_dopo_zigrinato , raggio_spigolo_nonio * 2, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio+larghezza_dopo_nonio+larghezza_zigrinato+larghezza_dopo_zigrinato , pos_y-raggio_spigolo_nonio*.4, ...
larghezza_attacco_frizione , raggio_spigolo_nonio*0.8, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio+larghezza_dopo_nonio+larghezza_zigrinato+larghezza_dopo_zigrinato+larghezza_attacco_frizione, pos_y-raggio_spigolo_nonio*0.5, ...
larghezza_frizione , raggio_spigolo_nonio, 0, 0, 0, 0.2);
% a destra del noniofid = rettangolo (fid, pos_x+10 - larghezza_prima_dello_zero , pos_y-raggio_millimetrato, ...
10 , raggio_millimetrato * 4, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x+10 - larghezza_prima_dello_zero - portata_strumento/100 + lunghezza_casuale , pos_y-raggio_millimetrato*0.3, ...
portata_strumento/100 - lunghezza_casuale , raggio_millimetrato * 0.6, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x+10 -larghezza_prima_dello_zero-portata_strumento/100- larghezza_battuta_asta , pos_y+raggio_millimetrato*2.0, ...
portata_strumento/100 + larghezza_battuta_asta , raggio_millimetrato * 1, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x+10 -larghezza_prima_dello_zero-portata_strumento/100 - larghezza_battuta_asta , pos_y-raggio_millimetrato*0.3, ...
larghezza_battuta_asta , raggio_millimetrato * 0.6, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x+10-10 - larghezza_prima_dello_zero-portata_strumento/100 - larghezza_battuta_asta , pos_y-raggio_millimetrato, ...
10 , raggio_millimetrato * 4, 0, 0, 0, 0.2);
for i=1:4
for j=[20, 90, 160]
lunghezza_casuale = 4 * (ceil (rand*(portata_strumento-2)))/ 100;
colonne_risultati = 1 + colonne_risultati;matrice_risultati (righe_risultati, colonne_risultati) = lunghezza_casuale;
disegna_micrometro (fid, j, 43+51*i, lunghezza_casuale)
endendfprintf(fid, [' \n']);
fclose(fid)
stringa_dos = ['c:\Programmi\Inkscape\inkscape -e ' nomefile ' -E ' 'C:\micro100\100_micro_' testo '.pdf']
dos(stringa_dos)
fclose (fid1)
% -------------------------------------------------------------------------function disegna_micrometro (fid,pos_x,pos_y,lunghezza)
global larghezza_lineaglobal altezza_tacche_astaglobal altezza_tacche_asta_lungheglobal altezza_tacche_nonioglobal larghezza_nonioglobal raggio_millimetratoglobal raggio_spigolo_nonioglobal larghezza_prima_dello_zeroglobal fid1global numero_letturanumero_lettura = numero_lettura + 1;fid = commento (fid,'*************************** NUOVO MICROMETRO ***************************');
fid = rettangolo (fid,pos_x+larghezza_prima_dello_zero, pos_y-raggio_millimetrato, ...
lunghezza+larghezza_prima_dello_zero, raggio_millimetrato*2, 0, 0, 0, 0.2);
[fid] = scrivere (fid,pos_x+1,pos_y+2 * raggio_millimetrato,'left',3,'misura: _______');
fid = linea (fid,pos_x,pos_y,pos_x+lunghezza,pos_y,180,180,180,larghezza_linea);
for i=0:floor(lunghezza)
tacca = altezza_tacche_asta;
if rem(i,5) == 0
tacca = altezza_tacche_asta_lunghe;
if i + 1 < floor(lunghezza)
[fid] = scrivere (fid,pos_x+i,pos_y+tacca+2,'middle',2,num2str(i));
endendfid = linea (fid,pos_x+i,pos_y,pos_x+i,pos_y+tacca, 0, 0, 0,0.1);
endfid = commento (fid,'spigolo nonio')
fid = rettangolo (fid, pos_x+lunghezza, pos_y-raggio_spigolo_nonio, ...
larghezza_nonio, raggio_spigolo_nonio*2, 0, 0, 0,0.2);
fid = commento (fid,'tacche nonio');
% parte sotto del noniocentesimo = round((lunghezza - floor(lunghezza))*100);
altezza_testo_nonio = 1.7;stacchetto = 3;for i=0:25
tacca_nonio = 3;tacca_altezza = cos((pi/2) * i / 25) * raggio_spigolo_nonio;
if rem(centesimo-i,5) == 0
tacca_nonio = 6;numero_nonio = centesimo-i;if numero_nonio < 0 numero_nonio = numero_nonio + 100; end if numero_nonio > 99
numero_nonio = numero_nonio - 100;endif i < 18
[fid] = scrivere (fid,pos_x+lunghezza+tacca_nonio+ stacchetto,pos_y+tacca_altezza,'middle',altezza_testo_nonio,num2str(numero_nonio));
endendfid = linea (fid, pos_x+lunghezza, pos_y+tacca_altezza, ...
pos_x+lunghezza+tacca_nonio, pos_y+tacca_altezza,0, 0, 0,0.1);
endfor i=0:25
tacca_nonio = 3;centesimo+i;tacca_altezza = sin((pi/2) * i / 25) * raggio_spigolo_nonio;
if rem(centesimo+i,5) == 0
tacca_nonio = 6;numero_nonio = centesimo+i;if numero_nonio < 0 numero_nonio = numero_nonio * 100; end if numero_nonio > 99
numero_nonio = numero_nonio - 100;endif i < 18
[fid] = scrivere (fid,pos_x-lunghezza+tacca_nonio+ stacchetto,pos_y-tacca_altezza,'middle',altezza_testo_nonio,num2str(numero_nonio));
endendfid = linea (fid,pos_x+lunghezza, pos_y-tacca_altezza, ...
pos_x+lunghezza+tacca_nonio, pos_y-tacca_altezza, 0, 0, 0, 0.1);
endfprintf(fid1, ['misura' num2str(numero_lettura) ': ' num2str(lunghezza, '%10.2f') '\n'])
%[fid] = scrivere (fid,pos_x+lunghezza+tacca_nonio + 4+30,pos_y,'middle','7',num2str(lunghezza));% -------------------------------------------------------------------------function [fid] = linea (fid,x1,y1,x2,y2,colore1,colore2,colore3,larghezza)
global scalafprintf(fid, [' \n']);
% -------------------------------------------------------------------------function [fid] = cerchio (fid,x1,y1,raggio,colore1,colore2,colore3)
global scalafprintf(fid, [' \n']);
% --------------------------------------------------------------------------function [fid] = rettangolo (fid,x1,y1,lato1,lato2,colore1,colore2,colore3,larghezza)
global scalafprintf(fid, [' \n']);
% --------------------------------------------------------------------------function [fid] = commento (fid,testo_commento)
fprintf(fid, ['/* ' '\n']);
fprintf(fid, [testo_commento '\n']);
fprintf(fid, ['*/ ' '\n']);
% --------------------------------------------------------------------------function [fid] = scrivere (fid,x1,y1,giustificazione,altezza_testo,testo)
global scalaaltezza_testo = altezza_testo*1;fprintf(fid, ['' testo '' '\n']);
%rettangolo_per_coprire_numero (fid, x1, y1, altezza_testo , altezza_testo, 0, 0, 0, 0.2)% --------------------------------------------------------------------------function [fid] = rettangolo_per_coprire_numero (fid,x1,y1,lato1,lato2,colore1,colore2,colore3,larghezza)
global scalafprintf(fid, [' \n']);
% Autori% Prof. Paolo Sordi IPSIA A. Pacinotti, Pontedera (Pisa)% Prof. Danilo Pasquini IPSIA Parodi Delfino, Colleferro (Roma)%function micrometro ()
global larghezza_lineaglobal altezza_tacche_astaglobal altezza_tacche_asta_lungheglobal altezza_tacche_nonioglobal larghezza_nonioglobal raggio_millimetratoglobal raggio_spigolo_nonioglobal larghezza_prima_dello_zeroglobal fid1global scalaglobal matrice_risultatiglobal numero_esercitazioneglobal righe_risultatilarghezza_prima_dello_zero = 3;larghezza_linea = 0.2;larghezza_dopo_nonio = 14; % l1
larghezza_zigrinato = 24; % l1
larghezza_dopo_zigrinato = 10; % l1
larghezza_attacco_frizione = 3; % l1
larghezza_frizione = 7; % l1
larghezza_battuta_asta = 3;altezza_tacche_asta = 2;altezza_tacche_asta_lunghe = 5;altezza_tacche_nonio = 3;larghezza_nonio = 15;raggio_millimetrato = 11;raggio_spigolo_nonio = 14.5;scala = 3.54;clcnumero_esercitazione = numero_esercitazione + 1;testo = num2str(ceil(numero_esercitazione));
colonne_risultati = 1;matrice_risultati (righe_risultati, colonne_risultati) = str2num(testo);
nomefile = ['c:\micro100\50_micro_' testo '.svg'];
nomefile1 = ['c:\micro100\50_micro_' testo '.txt'];
fid = fopen([nomefile], 'wt');
fid1 = fopen([nomefile1], 'wt');
fprintf(fid, ['<!--?xml version="1.0" encoding="iso-8859-1" standalone="no"?--> \n']);
fprintf(fid, ['\n']);
fprintf(fid, ['\n']);
portata_strumento = 2500lunghezza_casuale = (ceil (rand*portata_strumento))/ 100
colonne_risultati = 1 + colonne_risultati;matrice_risultati (righe_risultati, colonne_risultati) = lunghezza_casuale;
pos_x = 90;pos_y = 40;[fid] = scrivere (fid,30,15,'left',3,'Nome: __________________________________ Classe: _________ Data: _____________');
[fid] = scrivere (fid,15,30,'left',2,['Soluzione: ' testo]);
[fid] = scrivere (fid,8,15,'left',6,'B');
[fid] = scrivere (fid,10,283,'right',2.5,'www.tiny.cc/disegno');
[fid] = scrivere (fid,124,282,'right',2,'Autori: Prof. Paolo Sordi ITIS Marconi, Pontedera (Pisa)');
[fid] = scrivere (fid,132,285,'right',2,'Prof. Danilo Pasquini IPSIA P.P. Delfino, Colleferro (Roma)');
disegna_micrometro (fid, pos_x, pos_y, lunghezza_casuale)
fid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio, pos_y-raggio_spigolo_nonio, ...
larghezza_dopo_nonio , raggio_spigolo_nonio * 2, 20, 20, 20, 0.2);
% a destra del noniofid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio+larghezza_dopo_nonio, pos_y-raggio_spigolo_nonio, ...
larghezza_zigrinato , raggio_spigolo_nonio * 2, 20, 20, 20, 0.2);
fid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio+larghezza_dopo_nonio+larghezza_zigrinato , pos_y-raggio_spigolo_nonio, ...
larghezza_dopo_zigrinato , raggio_spigolo_nonio * 2, 20, 20, 20, 0.2);
fid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio+larghezza_dopo_nonio+larghezza_zigrinato , pos_y-raggio_spigolo_nonio, ...
larghezza_dopo_zigrinato , raggio_spigolo_nonio * 2, 20, 20, 20, 0.2);
fid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio+larghezza_dopo_nonio+larghezza_zigrinato+larghezza_dopo_zigrinato , pos_y-raggio_spigolo_nonio*.4, ...
larghezza_attacco_frizione , raggio_spigolo_nonio*0.8, 20, 20, 20, 0.2);
fid = rettangolo (fid, pos_x+lunghezza_casuale+larghezza_nonio+larghezza_dopo_nonio+larghezza_zigrinato+larghezza_dopo_zigrinato+larghezza_attacco_frizione, pos_y-raggio_spigolo_nonio*0.5, ...
larghezza_frizione , raggio_spigolo_nonio, 20, 20, 20, 0.2);
% a destra del noniofid = rettangolo (fid, pos_x-10 - larghezza_prima_dello_zero , pos_y-raggio_millimetrato, ...
10 , raggio_millimetrato * 4, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x-10 - larghezza_prima_dello_zero - portata_strumento/100 + lunghezza_casuale , pos_y-raggio_millimetrato*0.3, ...
portata_strumento/100 - lunghezza_casuale , raggio_millimetrato * 0.6, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x-10 -larghezza_prima_dello_zero-portata_strumento/100- larghezza_battuta_asta , pos_y+raggio_millimetrato*2.0, ...
portata_strumento/100 + larghezza_battuta_asta , raggio_millimetrato * 1, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x-10 -larghezza_prima_dello_zero-portata_strumento/100 - larghezza_battuta_asta , pos_y-raggio_millimetrato*0.3, ...
larghezza_battuta_asta , raggio_millimetrato * 0.6, 0, 0, 0, 0.2);
fid = rettangolo (fid, pos_x-10-10 - larghezza_prima_dello_zero-portata_strumento/100 - larghezza_battuta_asta , pos_y-raggio_millimetrato, ...
10 , raggio_millimetrato * 4, 0, 0, 0, 0.2);
for i=1:4
for j=[20, 90, 155]
lunghezza_casuale = 2 + (ceil (rand*portata_strumento-2))/ 100
disegna_micrometro (fid, j, 45+50*i, lunghezza_casuale)
colonne_risultati = 1 + colonne_risultati;matrice_risultati (righe_risultati, colonne_risultati) = lunghezza_casuale;
endendfprintf(fid, [' \n']);
fclose(fid)
stringa_dos = ['c:\Programmi\Inkscape\inkscape -f ' nomefile ' -A ' 'C:\micro100\50_micro_' testo '.pdf']
dos(stringa_dos)
fclose (fid1)
% -------------------------------------------------------------------------function disegna_micrometro (fid,pos_x,pos_y,lunghezza)
global larghezza_lineaglobal altezza_tacche_astaglobal altezza_tacche_asta_lungheglobal altezza_tacche_nonioglobal larghezza_nonioglobal raggio_millimetratoglobal raggio_spigolo_nonioglobal larghezza_prima_dello_zeroglobal fid1fid = commento (fid,'*************************** NUOVO MICROMETRO ***************************');
fid = rettangolo (fid,pos_x-larghezza_prima_dello_zero, pos_y-raggio_millimetrato, ...
lunghezza+larghezza_prima_dello_zero, raggio_millimetrato*2,0,0,0,0.2);
[fid] = scrivere (fid,pos_x,pos_y+2 * raggio_millimetrato,'left',3,'misura: __________');
fid = linea (fid,pos_x,pos_y,pos_x+lunghezza,pos_y,0,0,0,larghezza_linea);
for i=0:floor(lunghezza)
tacca = altezza_tacche_asta;
if rem(i,5) == 0
tacca = altezza_tacche_asta_lunghe;
if i + 1 < floor(lunghezza)
[fid] = scrivere (fid,pos_x+i,pos_y+tacca+3,'middle',2,num2str(i));
endendfid = linea (fid,pos_x+i,pos_y,pos_x+i,pos_y+tacca,20,20,50,0.1);
end% mezzo millimetrofor i=0:floor(lunghezza-0.5)
tacca = altezza_tacche_asta;
fid = linea (fid,pos_x+i+0.5,pos_y,pos_x+i+0.5,pos_y-tacca,0,0,0,0.1);
endfid = commento (fid,'spigolo nonio')
fid = rettangolo (fid, pos_x+lunghezza, pos_y-raggio_spigolo_nonio, ...
larghezza_nonio, raggio_spigolo_nonio*2, 0,0,0,0.2);
fid = commento (fid,'tacche nonio')
% parte sotto del noniocentesimo = round((lunghezza - floor(lunghezza))*100)
for i=0:13
tacca_nonio = 3;centesimo-i;tacca_altezza = sin((pi/2) * i / 13) * raggio_spigolo_nonio;
if rem(centesimo-i,5) == 0
% disp('ddd');tacca_nonio = 6;numero_nonio = centesimo-i;if numero_nonio < 0 numero_nonio = numero_nonio + 50; end if numero_nonio > 49
numero_nonio = numero_nonio - 50;endif i < 10
[fid] = scrivere (fid,pos_x+lunghezza+tacca_nonio + 2,pos_y+tacca_altezza,'middle',2,num2str(numero_nonio));
endendfid = linea (fid, pos_x+lunghezza, pos_y+tacca_altezza, ...
pos_x+lunghezza+tacca_nonio, pos_y+tacca_altezza,0,0,0,0.1);
endfor i=0:13
tacca_nonio = 3;centesimo+i;tacca_altezza = sin((pi/2) * i / 13) * raggio_spigolo_nonio;
if rem(centesimo+i,5) == 0
% disp('dddxx');tacca_nonio = 6;numero_nonio = centesimo+i;if numero_nonio < 0 numero_nonio = numero_nonio + 50; end if numero_nonio > 49
numero_nonio = numero_nonio + 50;endif i < 10
[fid] = scrivere (fid,pos_x-lunghezza+tacca_nonio - 2,pos_y-tacca_altezza,'middle',2,num2str(numero_nonio));
endendfid = linea (fid,pos_x+lunghezza, pos_y-tacca_altezza, ...
pos_x+lunghezza+tacca_nonio, pos_y-tacca_altezza, 0, 0, 0, 0.1);
end%[fid] = scrivere (fid,pos_x+lunghezza+tacca_nonio + 4+30,pos_y,'middle','3',num2str(lunghezza));fprintf(fid1, ['misura: ' num2str(lunghezza, '%10.2f') '\n'])
% -------------------------------------------------------------------------function [fid] = linea (fid,x1,y1,x2,y2,colore1,colore2,colore3,larghezza)
global scalafprintf(fid, [' \n']);
% -------------------------------------------------------------------------function [fid] = cerchio (fid,x1,y1,raggio,colore1,colore2,colore3)
global scalafprintf(fid, [' \n']);
% --------------------------------------------------------------------------function [fid] = rettangolo (fid,x1,y1,lato1,lato2,colore1,colore2,colore3,larghezza)
global scalafprintf(fid, [' \n']);
% --------------------------------------------------------------------------function [fid] = commento (fid,testo_commento)
fprintf(fid, ['/* ' '\n']);
fprintf(fid, [testo_commento '\n']);
fprintf(fid, ['*/ ' '\n']);
% --------------------------------------------------------------------------function [fid] = scrivere (fid,x1,y1,giustificazione,altezza_testo,testo)
global scalafprintf(fid, ['' testo '' '\n']);
%rettangolo_per_coprire_numero (fid, (x1+5), y1, altezza_testo,altezza_testo,0, 0, 0, 0.2)% --------------------------------------------------------------------------function [fid] = rettangolo_per_coprire_numero (fid,x1,y1,lato1,lato2,colore1,colore2,colore3,larghezza)
global scalafprintf(fid, [' \n']);
% Autori% Prof. Paolo Sordi IPSIA A. Pacinotti, Pontedera (Pisa)% Prof. Danilo Pasquini IPSIA Parodi Delfino, Colleferro (Roma)%function stampa_pdf_risultati ()
global larghezza_lineaglobal altezza_tacche_astaglobal altezza_tacche_asta_lungheglobal altezza_tacche_nonioglobal larghezza_nonioglobal raggio_millimetratoglobal raggio_spigolo_nonioglobal larghezza_prima_dello_zeroglobal fid1global scalaglobal numero_letturaglobal matrice_risultatiglobal colonne_risultatiglobal righe_risultatinumero_lettura = 0;larghezza_prima_dello_zero = 3;larghezza_linea = 0.2;altezza_tacche_asta = 2;altezza_tacche_asta_lunghe = 5;altezza_tacche_nonio = 3;larghezza_nonio = 15;raggio_millimetrato = 11;raggio_spigolo_nonio = 14.5;scala = 3.54;altezza_testo = 1.6;testo = num2str(ceil(rand*100));
nomefile = ['c:\micro100\risultati_' testo '.svg'];
nomefile1 = ['c:\micro100\risultati_' testo '.txt'];
fid = fopen([nomefile], 'wt');
fid1 = fopen([nomefile1], 'wt');
fprintf(fid, ['<!--?xml version="1.0" encoding="iso-8859-1" standalone="no"?--> \n']);
fprintf(fid, ['\n']);
fprintf(fid, ['\n']);
portata_strumento = 2500;lunghezza_casuale = (ceil (rand*portata_strumento))/ 100;
pos_x = 90;pos_y = 40;[fid] = scrivere (fid,30,10,'left',3,'Risultati letture micrometro');
[fid] = scrivere (fid,145,10,'right',3,'www.tiny.cc/disegno');
[righe,colonne] = size(matrice_risultati);
passo = 10for i=1:righe
for j=1:colonne
if j==1
[fid] = scrivere (fid,4 + j*passo*1.3, 10 + i*passo*0.78, 'middle', 3.5, num2str(matrice_risultati(i,j)));
else[fid] = scrivere (fid,7 + j*passo*1.3, 10 + i*passo*0.78, 'middle', 3, num2str(matrice_risultati(i,j), '%10.2f'));
endendendfprintf(fid, [' \n']);
fclose(fid)
stringa_dos = ['c:\Programmi\Inkscape\inkscape -f ' nomefile ' -A ' 'C:\micro100\Risultati' testo '.pdf']
dos(stringa_dos)
fclose (fid1)
% -------------------------------------------------------------------------function [fid] = linea (fid,x1,y1,x2,y2,colore1,colore2,colore3,larghezza)
global scalafprintf(fid, [' \n']);
% -------------------------------------------------------------------------function [fid] = cerchio (fid,x1,y1,raggio,colore1,colore2,colore3)
global scalafprintf(fid, [' \n']);
% --------------------------------------------------------------------------function [fid] = rettangolo (fid,x1,y1,lato1,lato2,colore1,colore2,colore3,larghezza)
global scalafprintf(fid, [' \n']);
% --------------------------------------------------------------------------function [fid] = commento (fid,testo_commento)
fprintf(fid, ['/* ' '\n']);
fprintf(fid, [testo_commento '\n']);
fprintf(fid, ['*/ ' '\n']);
% --------------------------------------------------------------------------function [fid] = scrivere (fid,x1,y1,giustificazione,altezza_testo,testo)
global scalaaltezza_testo = altezza_testo*0.8;fprintf(fid, ['' testo '' '\n']);
%rettangolo_per_coprire_numero (fid, x1, y1, altezza_testo , altezza_testo, 0, 0, 0, 0.2)% --------------------------------------------------------------------------function [fid] = rettangolo_per_coprire_numero (fid,x1,y1,lato1,lato2,colore1,colore2,colore3,larghezza)
global scalafprintf(fid, [' \n']);
