AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tangeskurve

Ein Thema von faux · begonnen am 15. Feb 2005 · letzter Beitrag vom 15. Feb 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

Tangeskurve

  Alt 15. Feb 2005, 15:11
Hallo!

Ich stell' mich anscheinend gerade etwas dumm an, aber ich versuche das jetzt schon seit über zwei Stunden und ich hab anscheinend einen Denkfehler:

Delphi-Quellcode:
procedure TForm1.DrawTangens;
var
  x, y: Integer;
begin
  with Image1.Canvas do
  begin
    MoveTo(0, Image1.Height div 2);
    for x := 0 to Image1.Width do
      if x mod 90 mod 2 = 0 then //Hier will ich sicherstellen, dass der Tangeswert ein gültiger ist
      begin
        y := round(Amp.Value * tan(x / Image1.Width * Frq.Value * pi)); //Amp und Frq sind zwei SpinEdits
        LineTo(x, Image1.Height div 2 - y); //Hier ziehe ich den Wert von der Nullinie der Funktion ab
      end;
  end;
end;
Zur Zeile 9:
cos ist null, bei 90, 270, 450, etc. und tan = sin / cos

Delphi-Quellcode:
function tan(const X: Extended): Extended;
begin
  result := sin(X) / cos(X)
end;
Das ganze funktioniert mal, wenn Frq.Val 4 ist. Verändere ich Frq aber, gibts wieder einen Fehler...
Warum aber? Wo liegt mein Fehler?

Danke für die Antwort.
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Bart82

Registriert seit: 27. Aug 2004
24 Beiträge
 
Delphi 7 Professional
 
#2

Re: Tangeskurve

  Alt 15. Feb 2005, 15:40
Achtung: Die Winkel der sin(x) und cos(x) werden in rad (0 bis 2*Pi) angegeben und nicht in Grad!

Carsten
Carsten
Life's a piece of shit
when you look at it!
- Monty Python -
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Tangeskurve

  Alt 15. Feb 2005, 15:51
Um den Tangens eines Winkels im Gradmaß zu berechnen, muss man den Winkel erst ins Bogenmaß umrechnen. Das geht mit Delphi-Referenz durchsuchenDegToRad und Delphi-Referenz durchsuchenRadToDeg.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Tangeskurve

  Alt 15. Feb 2005, 18:01
OK, das ist klar...
Da lag mein Denkfehler.

Danke.
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Tangeskurve

  Alt 15. Feb 2005, 18:10
OK, ich komm nicht weiter...

Es kommt immer folgender Fehler:

Code:
Project Functioneer.exe raised exception class EInvalidOp with message 'Invalid floating point operation'.
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Tangeskurve

  Alt 15. Feb 2005, 18:24
Mit Debugger (IDE) laufen lassen. Dann bekommst du auch die Stelle, wo es passiert. Das hilft dir weiter. Falls nicht, zeig uns die Stelle.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Tangeskurve

  Alt 15. Feb 2005, 18:30
Das ist ja das Komische, der Debugger zeigt die STelle nicht an, er bricht nur ab....
Ich kapier den Delphi 2005 Debugger sowieso nicht ganz, da kann man zum Beispiel keine Lokalen Variablen wärend der Laufzeit abfragen...

EDIT: Ich habs mit dem Delphi 7 Debugger nochmals probiert und der bringt mich auch nicht an die Richtige Stelle....
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Tangeskurve

  Alt 15. Feb 2005, 18:38
könnte irgendwann eine division durch 0 erfolgen ??
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#9

Re: Tangeskurve

  Alt 15. Feb 2005, 18:40
wie wäre es denn mit einzelschritten!
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Tangeskurve

  Alt 15. Feb 2005, 18:46
wieso eigentlich:
for x := 0 to Image1.Width wäre es nicht eher:
for x := 0 to Image1.Width - 1
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:39 Uhr.
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