• Non ci sono risultati.

A.1 Simulazione dell’interazione tra le zampe e il substrato

N/A
N/A
Protected

Academic year: 2021

Condividi "A.1 Simulazione dell’interazione tra le zampe e il substrato"

Copied!
3
0
0

Testo completo

(1)

Appendici A-1

A.1

Simulazione dell’interazione tra le zampe e il substrato

clear all; close all;

%Segue l'impostazione del filmato

aviobj = avifile('legs.avi', 'fps', 30, 'quality', 100, 'compression', 'Cinepak'); %Si definiscono i parametri utilizzati per la simulazione

%N è numero di segmenti longitudinali per il tubo %M ènumero di frame, frammenti, per il filmato N = 10;

M = 100;

%I vertici anteriori sono 10 equispaziati lungo l’ellisse che %definisce la prima sezione di estremità del tubo

%I vertici anteriori si trovano in x=10

Vt_f =[linspace(10,10,N)', 0.7*cos(linspace(0,2*pi,N))', 0.3*sin(linspace(0,2*pi,N))',]; %I vertici posteriori sono 10 equispaziati lungo l’ellisse che

%definisce la seconda sezione di estremità del tubo %I vertici posteriori si trovano in x=-5

Vt_r =[linspace(-5,-5,N)', 0.7*cos(linspace(0,2*pi,N))', 0.3*sin(linspace(0,2*pi,N))',]; for i = 1:M

%Si definiscono le coordinate dei vertici delle zampe

%Ci sono 3 zampe anteriori poste a 120 gradi le une rispetto %alle altre in moto ellittico sui piani xz e xy di raggi 0.8 e 1.5 %I 360 gradi della rotazione sono divisi in M parti, quindi ad ogni %Frame si considera un incremento della posizione pari a 1/M*2*pi V_f = [5+1.5*sin(j/M*2*pi), 0, 0.7+0.8*cos(j/M*2*pi);

5+1.5*sin(j/M*2*pi), -(0.7-0.8*cos(j/M*2*pi))*sin(pi/3),… (0.7-0.8*cos(j/M*2*pi))*sin(pi/6);

(2)

Appendici A-2

(0.7+0.8*cos(j/M*2*pi))*sin(pi/6)];

%A seguire si seleziona la prima colonna di V_f0 e le si sottrae 5, %Cioè si trasla indietro di 5 la posizione delle zampe definendo quelle %Posteriori dotate dello stesso moto delle prime

%Si considerano zampe ruotate di 60 gradi rispetto alle prime attorno %Ad un asse parallelo a x

V_f0 = V_f;

V_f0(:,1) = V_f(:,1)-5;

V_r = V_f0*[1, 0, 0; 0, sin(pi/6), sin(pi/3); 0, -sin(pi/3), sin(pi/6)]; %Quella sotto è la matrice dei vertici

X = [Vt_f; V_f; V_r; Vt_r];

%Quindi si fa la triangolazione. Si definisce la superficie costruita attraverso %I triangoli che uniscono i vertici in X in modo che tutti gli altri stiano al di sotto %Dei piani su cui giacciono detti triangoli.

%v(i) rappresenta il volume racchiuso.

%K è una matrice le cui righe determinano i vertici dei triangoli [K,v(i)] = convhulln(X)

%Quindi si escludono i triangoli che non interessano. %Sono quelli che chiudono le facce estreme del tubo.

%Lo si fa selezionando quelli che connettono tre vertici della sezione di estremità e %mettendo a zero la corrispondente colonna di K

K(sum((K<N+1),2)==3,:) = []; K(sum((K>N+8),2)==3,:) = [];

%Comandi per l’impostazione del filmato

patch('Vertices',X,'Faces',K,'FaceVertexCdata',[ones(size(X,1),1)*[1 0 0]],... 'FaceColor','interp','EdgeColor','none');

alpha(1); axis equal;

(3)

Appendici A-3 set(gca,'CameraPosition',[30 10 11],'CameraTarget',... [2.5 0 0],'CameraUpVector',[0 0 1],'CameraViewAngle',8.23,'XColor',... 'w','YColor','w','ZColor','w'); light('Color','w','Position',[2.5 10 10]); hold on; plot3(X(N+1:N+8,1),X(N+1:N+8,2),X(N+1:N+8,3),'o','MarkerFaceColor',... 'k','MarkerEdgeColor','k','MarkerSize',8); set(gcf,'Color','w'); F = getframe(gcf); aviobj = addframe(aviobj,F); clf; end aviobj = close(aviobj);

Riferimenti

Documenti correlati

Sotto quali condizioni essa non ha

Calcola la velocità e il periodo di rotazione di un satellite che orbita attorno a Marte ad una quota di 1000 km dalla sua superficie3. Calcola la distanza dal centro di Giove e

[r]

Una opportuna forza allontana la spira dal filo indefinito, mantenendola in moto rettilineo uniforme con velocit` a di modulo v = 8.22 × 10 3 m/s nella direzione perpendicolare

Calcolo dei valori centrali e dei momenti campionari: media, varianza, scarto quadratico medio, coefficiente di

Dato che le variabili aleatorie di varianza nulla

Se il grafo è stabilizzato ad un livello n e l’insieme di insiemi di subgoals memoizzati per il livello n dalla ricerca corrente è uguale a quello della ricerca precedente,

I limiti di questi tentativi sono stati segnalati da tempo dalla dottrina: non rendere troppo difficile alle parti l'esercizio dei diritti; evitare la definizione delle