Curva parametrica basata sulle spline cubiche

di il
2 risposte

Curva parametrica basata sulle spline cubiche

Buongiorno a tutti, io avrei un problema su come fare delle curve parametriche allora io ho questa traccia:
Scattare una fotografia di un oggetto o cercarne l'immagine su un motore di ricerca (scegliere qualcosa il
cui contorno permetta di riconoscere l'oggetto, ad esempio un pesce, una casa, la figura di galleggiamento
di una nave oppure la sezione di una fusoliera).
Memorizzare l'immagine nella cartella Matlab con il nome myfig e poi caricarla in Matlab dalla finestra
comandi usado il comando A=imread('myfig','jpg');
Visualizzare la foto dell'oggetto con il comando image(A)
Selezionare, procedendo in verso orario, 40 punti del contorno dell'oggetto usando il comando
[x,y]=ginput(40);.
(Osservare che il generico punto avrà coordinate x(i),y(i), )
Salvare la foto e i 40 punti del contorno completo sul proprio pc con il comando save DatiHW2 A x y
Nello script per il publish, usare il comando load DatiHW2 (per caricare la foto e i punti) e poi procedere
come segue.
1. Visualizzare nella stessa figura la foto dell'oggetto e successivamente i 40 punti evidenziati con
un asterisco rosso sul contorno (per comodità, le componenti dei vettori x e y possono essere scalate,
per es. dividendole per 1000).
2. Usando i 40 punti del contorno ottenuti in 1, costruire 'myfig_par_S', cioè la curva parametrica, basata
sulle spline cubiche, che interpola tali punti. Visualizzare sia il grafico della spline che interpola le
ascisse dei 40 punti, sia il grafico della spline che interpola le ordinate dei 40 punti, sia la myfig_par_S
indicando in blu i 40 punti (per tutti e tre i grafici, usare una griglia fitta di 500 punti).
3. Ripetere il punto precedente per costruire 'myfig_par_C', ovvero la curva parametrica, basata sulle
cubiche di Hermite
.
Allora io fino al punto 1 l'ho fatto, ora vi scrivo lo script:
A=imread('myfig','png');
%%
% In questo modo ho salvato nella variabile |A| la matrice dell'immagine
% utilizzando il comando |imread| dando in input il nome della figura e il
% formato, nel mio caso png.
%
% Dopodichè richiamo l'immagine vera e propria usando il comando image:

image(A);
%%
% in modo tale da avere l'immagine della mia figura di galeggiamento in 
% primo piano. 
% Dopo aver fatto ciò con il comando |ginput| e dando in input il numero di punti che voglio selezionare dall'immagine ottengo 40 punti sull'immagine selezionati da me stesso.

[x,y]=ginput(40);
%%
% Ho in questo modo dato in input i 40 punti.
% Ora con il comando save che mi permette di salvare in un file che chiamo
% DatiHMW2 le variabili del workspace definite da me: |A|,|x|,|y|.
 
save DatiHMW2 A x y
%%
% In questo modo ora con il comando load mi carica di nuovo le variabili in
% ogni momento

load DatiHMW2
%% *Punto 1*
% Ora la traccia al primo punto chiede di visualizzare l'immagine e i 40
% punti sul contorno definiti con un asterisco rosso, facciamolo:
% In primisi con il comando |image| mostriamo l'immagine e successivamente
% con il comando |plot| definiamo gli asterischi rossi, uniamo i due con il
% comando |hold on| in modo da visualizzare gli asterischi sulla figura.

image(A);
%%

image (A);
hold on
plot(x,y,'*','markerfacecolor','r');
%%
.
Il mio problema sono le curve parametriche, sinceramente non so quale comando utilizzare per trovarle sia nel caso di quelle basate sulle spline cubiche che sul caso della parametrica sulle cubiche di hermite.
qualcuno potrebbe aiutarmi?
Grazie mille

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte