Winkelproblem mit der 0°-Grenze
Übersicht

![]() |
FetzeBetreff: Winkelproblem mit der 0°-Grenze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab da grad bei meinem Projekt StarTrade ein Problem mit Winkeln: Ich will einem Geschützturm einen Bereich definieren können, in dem er sich bewegen kann, also zwischen Winkel maxangle und Winkel minangle, und der aktuelle Winkel des Geschützes ist angle. Jetzt überprüfe ich das so(Function, ob sich das Geschütz in die gegebene Richtung bewegen kann):
Zitat: If angle>=maxangle Then Return 0 If angle<=minangle Then Return 0 Return 1 Jetzt hab ich aber ein Problem: Was, wenn der Bereich über die 0°-Grenze geht ? Definiere ich zum Beispiel einen minwinkel von 300° und einen maxwinkel von 60°, funzt das ganze nicht. Daher hab ich beschlossen auch negative und winkel über 360° anzunehmen, aber da angle nur von 0-360 sein kann, wirft das wieder probleme auf. Wie mach ich das jetzt also ? |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] if angle < 0 then angle = angle + 360
if angle > 359 then angle = angle - 360 auf die schnelle! |
||
between angels and insects |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Function Name(maxangle,minangle,angle)
If maxangle - minangle > 0 Then ; wenn ja dann bereich von 0 - 359 If angle >= minangle And angle =< maxangle Then Return 1 Else ;wenn nein dann nicht der normalfall If angle < 360 And angle >= minangle Then Return 1 If angle >= 0 And angle =< maxangle Then Return 1 End If Return 0 End Function damit sollte es gehen,... um angle in den Natürlichen bereich von 0 - 359 Grad zu bekommen mach das mit mod beispiel Code: [AUSKLAPPEN] angle = (angle+360) Mod 360;mit +360 stellt man sicher das Angle eine positive zahl ist
anstatt Code: [AUSKLAPPEN] if angle < 0 then angle = angle + 360
if angle > 359 then angle = angle - 360 |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group