Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Sinus funktion (https://www.delphipraxis.net/56237-sinus-funktion.html)

shadow24 2. Nov 2005 17:29


Sinus funktion
 
Hallo
mir is was aufgefallen weiss net ob ich was falsch gemacht habe oder delphi vllt so ist aber wenn ich die sinus funktion mir zeichnen lasse wird sie falschherum gezeichnet und weiss nicht wieso vielleicht kann mir ja jemand helfen
danke

Matze 2. Nov 2005 17:33

Re: Sinus funktion
 
Hallo und herzlich willkommen.

Ohne deinen Code können wir reichlich wenig dazu sagen. Poste ihn doch bitte noch. ;)

stoxx 2. Nov 2005 17:39

Re: Sinus funktion
 
der Koordinatenursprung von TCanvas liegt oben links und nicht wie in der Mathematik üblich unten links.
Positive Werte werden nach unten abgetragen.
Vielleicht liegt da schon Dein Fehler ?

Khabarakh 2. Nov 2005 17:48

Re: Sinus funktion
 
Ich denke auch, dass es daran liegt.
Ein weiterer gern gemachter Fehler ist noch, den Winkel in Grad statt im Bogenmaß zu übergeben. Da sollte aber trotzdem keine umgekehrte Sinusfunktion herauskommen.

PS: Bitte bemühe dich doch etwas mehr beim Schreiben deiner Posts. Du hast gerade 8 Haupt-/Nebensätze ohne ein einziges Satzzeichen und ohne Groß-/Kleinschreibung zusammengehängt. Da brauchen wir mehr Zeit, um deinen Post zu entziffern, als deine Frage zu beantworten :wink: .

shadow24 2. Nov 2005 21:55

Re: Sinus funktion
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var x,y,y1,x1,dx : real;
    xx,yy : integer;
begin
With Image1.Canvas DO
begin
  MoveTo(200,0);
  LineTo(200,400);
  MoveTo(0,200);
  LineTo(400,200);
  x:=0;
  dx:=0.001;
  While x<=6.3 DO
    begin
      y:=sin(-x);
      y1:=y*25+200;
      x1:=x*25+200;
      yy:=trunc(y1);
      xx:=trunc(x1);

      Pixels[xx,yy]:=clred;
      x:=x+dx;
    end;
end;
end;

end.

Danke für Die Tips ,aber seht euch den Quelltext an.Kann sein das irgentwas nicht stimmt und es daran liegt

3_of_8 2. Nov 2005 21:59

Re: Sinus funktion
 
1. Ist X wirklich ein Winkel?
2. Du verwendest wahrscheinlich Grad. Wenn du Grad verwenden willst, musst du schreiben sin(degtorad(x));
3. Du weißt schon, dass du -x geschrieben hast? Da muss die Sinuskurve verkehrt herum sein.

shadow24 2. Nov 2005 22:02

Re: Sinus funktion
 
Durch da -x wird sie erst Richtig herum. Ohne das Minus ist Sie falsherum.Aber ich werde es mit den "degtorad" mal versuchen.
Danke

ripper8472 2. Nov 2005 22:04

Re: Sinus funktion
 
erhoehe mal den faktor nach x (x*25 auf z.b. x*200)

himitsu 2. Nov 2005 22:09

Re: Sinus funktion
 
Versuchs mal so ... wie gesagt, die Koordinaten sind anders, als in Mathe.

Code:
y1:=200[color=#ff0000][b]-[/b][/color]y*25;
x1:=200+x*25;
Aber bei TPrinter sind sie wieder richtig ... wenn ich das noch richtig im Kopf hab (links-unten = Nullpungt)

@ 3_of_8 :
Ja, X ist ein Winkel ...
6.3 = ~2*Pi und das ist ja bekanntlich ein Vollkreis ^^

shadow24 2. Nov 2005 22:21

Re: Sinus funktion
 
Danke himitsu.
Ich hab den Code geändert wie du es geschrieben hast und es funktioniert.
Danke vielmals für eure Hilfe.

PS:
DegToRad nimmt er bei mir nicht als Befehl an.Keine Ahnung wieso aber jetzt funktioniert es


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:17 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz