![]() |
Fehler bei der Grafikberechnung!
Hallo!
Ich weiß einfach nicht weiter... Die unteren beiden Prozeduren sind Teil einer Grafikberechnung Nachdem ich das Programm compiliert habe und die Grafik gestartet wurde, erhielt ich in "Zeile X" folgende Fehlermeldung: "Im Projekt Schattenwurf1.exe ist eine Exception der Klasse EInvalidOp aufgetreten. Meldung: 'Ungültige Gleitkommaoperationen'. Prozeß wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen." Wenn ich mit der Maus über die Vaiablen Dekli und Ts0 (die beide als Globale Variablen festgelegt wurden) fuhr, erhielt ich den Wert 0 BR=54,459 und Tag=5 wurden in anderen Prozeduren deklariert. Kann mir jemand den Fehler oder das Problem erklären?
Code:
Danke im voraus..
...
procedure Deklination(Tag: integer); var d0, De, DeltaT, EF, Ge, Omega, DeltaL, DeltaEp, gee, EE, Aj, ZL, Ls, Epsi, gut :real; begin d0:=36524.0+Tag; De:=0.0001*d0; DeltaT:=0.00037+0.00000003*(d0-22000); EF:=11.25+13.22935*d0; Ge:=350.74+12.190749*d0; Omega:=259.18-0.052954*d0; DeltaL:=-0.00479*sin(Omega)-0.00035*sin(2*(EF-Ge+Omega)); DeltaEp:=0.00256*cos(Omega)+0.00015*cos(2*(EF-Ge+Omega)); gee:=358.475833+0.985600267*d0-0.0000112*De*De-0.00000007*De*De*De; {gee:=356.04783+0.9856003*d0;} EE:=0.01675104-0.000011444*De-0.0000000094*De*De; Aj:=0.00569*(1+EE*cos(gee))/(1-EE*EE); ZL:=(2*EE*sin(gee)+1.25*EE*EE*sin(2*gee)+EE*EE*EE*(13*sin(3*gee) -3*sin(gee))/12)*180/Pi; Ls:=279.696678+0.9856473354*d0+0.00002267*De*De+ZL+DeltaT-Aj; Epsi:=23.452294-0.0035626*De-0.000000123*De*De+0.0000000103*De*De*De +DeltaEp; Dekli:=arcsin(sin(Ls)*sin(Epsi)); gut:=sin(0.5*Epsi)/cos(0.5*Epsi); gut:=gut*gut; ZG:=12*(gut*sin(2*Ls)-0.5*gut*gut*sin(4*Ls)-2*EE*sin(gee)-1.25*EE*EE *sin(2*gee))/Pi; end; procedure AU(Tag :integer); {Auf-und Untergang der Sonne} var WOZa, WOZu, u9 :real; begin u9:=cos(BR)*cos(Dekli); Ts0:=(sin(-0.85)/u9)-(sin(BR)*sin(Dekli)/u9); Ts0:=arccos(Ts0); ---------------------------------------(*Zeile X*) WOZa:=12-TS0/15; WOZu:=12+TS0/15; ZZA:=WOZa-ZG+(L0-LA)/15; ZZU:=WOZu-ZG+(L0-LA)/15; end; ... |
Re: Fehler bei der Grafikberechnung!
Es ist gut möglich, das Ts0 ausserhalb des zulässigen Wertebereiches liegt.
Zitat:
|
Re: Fehler bei der Grafikberechnung!
Hy!
Ich habe einen Haltepunkt gesetzt und stellte für Ts0 einen Wert von 3,1078... fest, welcher natürlich aus dem Bereich von 1 bis -1 liegt. Somit müsste der Fehler sicherlich bei einer der vorherigen Deklarationen liegen. Ich habe somit, bei Ts0 angefangen, die Formeln mit dem Taschenrechner nachzurechnen und ich bekam z.B. für Ts0 einen Wert von -0,02017954 heraus und auch für u9 und Dekli bekam ich nach mehrfacher Überprüfung andere Werte heraus. Woher kommt das? Wie rechnet Delphi? Die Unit Math ist bereits vorhanden Gruß TF |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz