Absender: Benjamin Benz
Datum: Mo, 28.08.2006 16:13:06
In-reply-to:
<000801c6c872$966a8cb0$fe78a8c0@mexpnew>
References:
<000801c6c872$966a8cb0$fe78a8c0@mexpnew>
Frank Menzel wrote: > Hallo, > dies ist keine Antwort auf die Frage. Aber das Wegstecken der Division > durch 0 ist mir auch schon aufgefallen. Ein paar Zeilen tiefer in der > sensor.c heißt es: > /* Schnittpunkt berechnen */ > xd=(a2-a1)/(s1-s2); > yd=(s1*a2-s2*a1)/(s1-s2); > > Und s1-s2 ist durchaus 0, bereits zum Startzeitpunkt. Die Antwort würde > mich auch interessieren. Die ist ganz einfach. Wenn Sie den Code ein paar Zeilen darüber mitlesen: /* Geradeausfahrt? (s1==s2) */ if (s1==s2) { /* Bei Geradeausfahrt ist v_left==v_right==v_center */ v_mou_left=v_mou_right=v_mou_center; } else { /* y-Achsenabschnitte berechnen */ a1=old_y-s1*old_x; a2=y_mou-s2*x_mou; /* Schnittpunkt berechnen */ xd=(a2-a1)/(s1-s2); yd=(s1*a2-s2*a1)/(s1-s2); ... } So wird der Sonderfall s1==s2 vorher abgefangen. MfG Benjamin Benz -- Benjamin Benz Heise Zeitschriften Verlag Redaktion c't eMail: bbe@xxxxxxxx WWW : http://www.heise.de