Skip to content
 

Willkommen bei CCTzur Galerie

CCTeam - Home> | Anthony Haley

Projekt: Sinus

Die Programme "Sinus-Kurve" und "Sinus-Superposition" befassen sich mit der grafischen Darstellung von Sinus-Kurven und gehen auf die verschiedenen Möglichkeiten ein, deren Parameter zu aendern.

Ich beschraenke mich in meinen Erklaerungen auf das Kernprogramm unter Verzicht auf alle delphi-spezifischen Umgebungsmodule.

KERN-ROUTINE
with Paintbox1 do begin
 Y0 := 300;
 X01:= 625+round(K1pi72/4); {K=Phasenposition}
 X02:= 625+round(K2pi72/4);
 F:=(F1+F2)/2;
 S:=1;
 if (F1 >10) or (F2 >10)
 then S:= 1/F;
 A:=-4000; { Periode links; 0-PUNKT ZENTRIERUNG}
 REPEAT
 Z1:=(A(PI/1000F1)); { Argument fuer Sinus }
 X1:=X01+ROUND(72Z1/F1 ; { X-Achsen-Dehnung }
 Y1:=Y0+ROUND(150L1SIN(Z1)); { Funktion }
 Z2:=(A(PI/1000F2)); { Argument fuer Sinus }
 X2:=X02+ROUND(72Z2/F2); { X-Achsen-Dehnung }
 Y2:=Y0+round(150L2SIN(Z2));
 Y3:=Y1+Y2-Y0; {Ueberlagerung}
 canvas.Pixels[X1,Y1]:= 250;
 canvas.Pixels[X1,Y1+1]:= 250;
 canvas.Pixels[X1+1,Y1]:= 250;
 canvas.Pixels[X1+1,Y1+1]:= 250;
 canvas.Pixels[X2,Y2]:= clgreen;
 canvas.Pixels[X2,Y2+1]:= clgreen;
 canvas.Pixels[X2+1,Y2]:= clgreen;
 canvas.Pixels[X2+1,Y2+1]:= clgreen;
 canvas.Pixels[X1,Y3]:= clblue;
 canvas.Pixels[X1,Y3+1]:= clblue;
 canvas.Pixels[X1+1,Y3]:= clblue;
 canvas.Pixels[X1+1,Y3+1]:= clblue;
 A:=A+S;
 UNTIL (A>4000); { Periode rechts; 0-PUNKT ZENTRIERUNG }
 end;
 end;
Y ist die Funktion, X das Argument. Die Indices 1 und 2 beziehen sich auf Funktion1 und Funktion2. Die Null-Indices bezeichnen die (konstanten) Anfangswerte.
F1 und F2 sind die Frequenzen,
L1 und L2 die zugehörigen Amplituden.
K1 und K2 sind Phasen.

Beim Aufruf des Programms erscheint eine Darstellung mit folgenden Standardwerten:
L1=1 L2=1
F1=1 F2=2
K1=1 K2=2

Diese Standardwerte können vom Benutzer im Eingabefenster geaendert werden.

A ist der Iterationsbereich, der in Schritten von S veraendert wird.
Bei grossen Werten von F(>10) könnte es Probleme mit der grafischen Umsetzung geben (pixel to integer). Deshalb wird S in Abhaengigkeit von F korrigiert, wodurch sich eine Kompensation der Bilddarstellung erreichen laesst.

Die Grafik zeigt das Bild der Kurven Sinus1(rot) und Sinus2(gruen) und deren Ueberlagerung(blau).

Hier geht's zum Autor dieses Programms.

Zuletzt geändert am 2.5.2006
Von diesem Server wird auf zahlreiche Seiten anderer Anbieter verwiesen, für die wir nicht verantwortlich sind und nicht haften.