|
Na początek narysujemy jednowymiarową "falę stojącą", która np występuje jako fala poprzeczna na strunie gitarowej.
Zakładam, że przeczytałeś (np w Wikipedii) definicje podstawowych pojęć takich jak węzeł, strzałka, częstość drgań (patrz odnośniki we wstępie).
Aplet obok pokazuje falę stojącą jako przypadek interferencji dwóch fal poruszających się w takim samym kierunku, ale mających przeciwne zwroty.
Oto równanie takiej fali:
(1) y=A · sin(ω·t - k·x + β1) + A · sin(ω·t + k·x + β2)
|
zaś po uproszczeniu
(2) y= 2 · A · sin(k·x + ½ (β1 - β2)) · sin(ω·t + ½ (β1 + β2)).
|
Ze wzoru (2) możemy łatwo np obliczyć współrzędne węzłów :
y(x) = 0 => k·x + ½ (β1 - β2) = i· Π + ½· Π =>
x=[i· Π + ½· Π - ½ (β1 - β2)] / k
Narysować dynamiczny efekt fali stojącej można teraz dość prosto :
1° Definiuję potrzebne funkcje 2° Organizuję procedury odpowiedzialne za pokaz:
double f1(double x)
{
return(A*Math.sin(wt+b1-k*x));
}
//--------------------------------------
double f2(double x)
{
return(A*Math.sin(wt+b2+k*x));
}
//--------------------------------------
double f(double x,int ktora)
{
switch(ktora)
{
case 1:return(f1(x));
case 2:return(f2(x));
case 3:return(f1(x)+f2(x));
}
return 1;
}
|
public void paint(Graphics g)
{
lo28.uklad(g);
wykres(g,1,Color.pink);
wykres(g,2,Color.lightGray);
wykres(g,3,figura);
}
|
i jeszcze sekwencja animacyjna:
|