so
Delphi-Quellcode:
var
lCosWinkel : Double;
lCosWinkel := cos( winkel * 10 );
If ( lCosWinkel > 0 ) and ( lCosWinkel < 900 ) then
Begin
quadrant:= 1;
vorzeichen:= 1;
end;
If ( lCosWinkel > 900 ) and ( lCosWinkel < 1800 ) then
Begin
quadrant:= 2;
vorzeichen:= -1;
end;
If ( lCosWinkel > 1800 ) and ( lCosWinkel < 2700 ) then
Begin
quadrant:= 3;
vorzeichen:= -1;
end;
If ( lCosWinkel > 2700 ) and ( lCosWinkel < 3600 ) then
Begin
quadrant:= 4;
vorzeichen:= 1;
end;
Was soll eigentlich passieren, wenn lCosWinkel die Werte 0/3600, 900, 1800, 2700 hat?
Mit deiner Routine sind die dann im Nirwana, oder schlimmstenfalls haben die noch den alten Wert von quadrant, Vorzeichen
Zitat:
Code:
1.Quadrant: Winkel*10 von 0 bis 900
2.Quadrant: Winkel*10 von 901 bis 1800
3.Quadrant: Winkel*10 von 1801 bis 2700
4.Quadrant: Winkel*10 von 2701 bis 3600
So hast du das nicht umgesetzt und falsch ist es auch noch.
Bei einem Kreis ist 0°=360° und nach deiner Vorgabe würde das im Quadrant 1 und 4 liegen.
Und so ein Winkel im Bereich 900 < Winkel < 901 ???
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)