## c't-Projekte - Mailinglisten

[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

### Re: [ct-bot] neues Stackverhalten zum Merken relevanter Wegepositionen

Absender: Timo Sandmann
Datum: Sa, 29.03.2008 19:59:46
In-reply-to: <000401c8892e$86793350$0200a8c0@mexpnew>
References: <000401c8892e$86793350$0200a8c0@mexpnew>

    Hallo,

    ich habe da mal eine Frage zu folgender Funktion:

    /*!

`* berechnet Winkeldifferenz zwischen aktueller Botausrichtung und` `einem Zielwinkel`

     * param dest_head Zielwinkel
     * @return berechnete Winkeldifferenz
     */
    int16 calc_diff_from_angles(int16 dest_head) {
    	int16_t to_turn = (int16_t)(dest_head - (int16_t)heading) % 360;
    	if (to_turn > 180) to_turn = 360 - to_turn;
    	else if (to_turn < -180) to_turn += 360;
    	to_turn = 360 - abs(to_turn);

    	return to_turn;
    }

`Was genau soll die Funktion jetzt berechnen? Wenn die aktuelle` `Botausrichtung = 20 Grad ist, und ich die Funktion mit 10 aufrufe,` `kommt 350 heraus, wenn die aktuelle Botausrichtung = 10 Grad ist und` `ich die Funktion mit 20 aufrufe, kommt auch 350 heraus. Irgendwie ist` `das nicht das, was ich intuitiv erwarten würde nach der Dokumentation...` `Und warum eigentlich modulo 360? dest_head und heading liegen doch` `beide immer zwischen 0 und 360.`

    Gruß Timo

- Antworten:
  - AW: [ct-bot] neues Stackverhalten zum Merken relevanter Wegepositionen
    - From: Frank Menzel

- Referenzen:
  - [ct-bot] neues Stackverhalten zum Merken relevanter Wegepositionen
    - From: Frank Menzel

- Voriger (Datum): Re: [ct-bot] Bot-2-Bot-Kommunikation - Status, Timo Sandmann
- Nächster (Datum): AW: [ct-bot] neues Stackverhalten zum Merken relevanter Wegepositionen, Frank Menzel
- Voriger (Thread): Re: [ct-bot] neues Stackverhalten zum Merken relevanter Wegepositionen, Timo Sandmann
- Nächster (Thread): AW: [ct-bot] neues Stackverhalten zum Merken relevanter Wegepositionen, Frank Menzel
- Indizes:
  - Datum
  - Thread