HOME OGGETTI 3D LIBRI CORSI TUTORIAL FORUM SHOP CONTATTI   LOGIN









Autore Topic: Funzioni 2D: Sinusoide  (Letto 2125 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

marcomasetti

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 183
Funzioni 2D: Sinusoide
« il: 24 Giugno 2012, 23:00 »
Una funzione 2D è una linea curva definita dall’equazione:
y=f(x)
per cui ad ogni valore di x corrisponde soltanto un unico valore di y.

La funzione:
y=f(k*x)     (compressione in orizzontale di k)
si ottiene dalla precedente e rappresenta la stessa curva che viene compressa verso l’asse y,
infatti per x=xo  e  per  x=xo/k le due funzioni forniscono rispettivamente lo stesso valore di y.
Se k fosse minore di 1, allora la curva su dilaterebbe.
Praticamente porre k*x al posto di x equivale al comando 2D:
mul2  1,1/k

La funzione:
y=f(x-v)     (traslazione in orizzontale di v)
si ottiene dalla y=f(x)  e rappresenta la stessa curva che viene spostata verso la direzione positiva dell’asse x, che indichiamo come x+
Porre x-v  al posto di x equivale dunque al comando 2D:
add2  v,0

La funzione:
y=h+f(x)    (traslazione in verticale di h)
equivale al comando 2D applicato alla y=f(x)  :
add2  0,h

La funzione:
y=m*f(x)   (dilatazione in verticale del fattore m)
equivale al comando 2D applicato alla y=f(x)  :
mul2  1,m

La funzione:
y=f(-x)   (specchiatura in orizzontale)
equivale al comando 2D applicato alla y=f(x)  :
mul2  -1,1

La funzione:
y=-f(x)   (specchiatura in verticale)
equivale al comando 2D applicato alla y=f(x)  :
mul2  1,-1

La funzione:
y=-f(-x)   (doppia specchiatura, in verticale e in orizzontale)
equivale al comando 2D applicato alla y=f(x)  :
rot2 180

L’equazione della sinusoide è:
y=sin (x)
dove per x=0, x=180, x=360 risulta y=0; mentre per x=90 risulta y=1 (max),  per x=270 risulta y=-1 (min)
Nell’intervallo di x: (0,180) si ha la campata positiva; nell’intervallo di x: (180,360) si ha la campata negativa.
In base alle considerazioni precedenti  la funzione:
y=Am*sin(360/L*(x-v))
presenta una semi-ampiezza di oscillazione=Am , una lunghezza d’onda=L   e risulta traslata di v verso x+
Se l’intorno di definizione per x è (v,v+n*L), la traduzione della curva in GDL  2D è:
!inizio script: inserire i valori per i parametri
m=        !definizione della curva= parti in cui è divisa una intera sinusoide=campata positiva+negativa
n=         !numero campate
Am=      !semi-ampiezza di oscillazione=altezza di una singola campata
Lt=        !lunghezza totale=L*n,  L=Lt/n
ox=        !offset x, corrispondente al punto di inizio sopra indicato con v
for i=0  to  m*n-1
line2   ox+Lt/(m*n)*i,    Am*sin(360* i/m ),      != Am*sin(360/L*( ox+L/m*i - ox))
        ox+Lt/(m*n)*(i+1),Am*sin(360*(i+1)/m)
next i
line2 ox,0,ox+Lt,0      !asse della curva, si può omettere
!fine script------------------------------------------------------------------------
Infatti al posto della x occorre inserire il valore ox+L/m*i=ox+Lt/(m*n)*i
« Ultima modifica: 24 Giugno 2012, 23:27 da marcomasetti »