onde varie

esci con turbomatematica.htm

altre immagini (foto) trigo9x.htm

program sfasa2;
(* onde con vario sfasamento e loro risultante *)
uses crt,graph;
var pausa:integer;

procedure grafica;
var sc,tp:integer;
stringa:string;
begin
sc:=0;
tp:=0;
stringa:='bgi';
initgraph(sc,tp,stringa);
end;

procedure disegna(g1,f,a1,a2:integer);
var onda1,onda2,x,y,angolo,risu:integer;
rad1,rad2:real;
fase,sa1,sa2,sr:string;
begin
cleardevice;
x:=10;
y:=200;
str(f,fase);
str(a1,sa1);
str(a2,sa2);
setcolor(7);
outtextxy(10,10,'due onde con diverso sfasamento,stessa frequenza');
outtextxy(10,30,'con diversa ampiezza');
outtextxy(200,30,sa1);outtextxy(300,30,sa2);
outtextxy(10,50,'sfasamento=');
outtextxy(200,50,fase);
outtextxy(10,70,'risultante');
line(x,y,700,y);
line(x,10,x,400);
f:=trunc(f/g1);
for angolo:=0 to 640 do
begin
setcolor(3);
rad1:=angolo*PI/(180/g1);
rad2:=((angolo+f)*PI/(180/g1));
onda1:=-trunc(a1*sin(rad1));
onda2:=-trunc(a2*sin(rad2));
risu:=onda1+onda2;
str(-risu,sr);
line(x+angolo,y,angolo+x,y+onda1);
setcolor(4);
line(x+angolo,y,x+angolo,y+onda2);
setcolor(5);
outtextxy(200,70,sr);
line(x+angolo,y+risu,x+angolo,y+risu);
delay(pausa);
setcolor(0);
outtextxy(200,70,sr);
end;
readln;
end;

begin
clrscr;
writeln('scrivi valore per velocita disegno');
writeln('scrivi 0..10..100..200.500..');
readln(pausa);
grafica;
(* inserire frequenza e sfasamento e ampiezze *)
disegna(1,0,50,30);
disegna(1,30,40,20);
disegna(1,60,40,30);
disegna(1,90,50,40);
disegna(1,120,30,20);
disegna(1,150,60,40);
disegna(1,180,60,30);
disegna(2,0,60,40);
disegna(2,30,70,40);
disegna(2,60,60,30);
disegna(2,90,70,50);
disegna(2,120,60,30);
disegna(2,150,70,50);
disegna(2,180,60,30);
readln;
closegraph;
end.