Gefangen, nicht gefunden! #7

Informatik

  • Sieht jemand den Fehler in folgendem C++-Code? Was doch ein einzelnes Zeichen ausmachen kann…
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>

double foo(double a, double b = 0)
{
        return a * b;
}

int main()
{
        double var = foo(1. -3);
        std::cout << var << std::endl;
}
  • Kollisionserkennung mag ja in 2D recht trivial sein; in 3D wird das aber richtig kompliziert. Hätte das gar nicht gedacht. Nicht nur, dass sich z.B. Kugeln mit unterschiedlichen Massen und Geschwindigkeiten in unterschiedlichen Winkeln (im Vergleich zur Bewegungsrichtung) treffen können. Es gibt auch lustige Sonderfälle, die man beachten muss. Beispielsweise, wenn sich eine Kugel nicht bewegt und demnach ihr Bewegungsvektor der Nullvektor ist, kann man diesen nicht normieren. Im Physikunterricht muss man ja nur für einen konkreten Fall etwas berechnen. Will man das aber programmieren, so muss man jeden auch noch so seltenen Sonderfall beachten, weil der u.U. ne Exception auslöst. Wenn jemand mal zu viel zeit haben sollte, ist ne (einigermaßen) physikalisch korrekte Simulation eines Ballwurfs (mit Kollisionen an Wänden, anderen Bällen etc.) ne herausfordernde Aufgabe.
  • Ein Tutorial über Exceptions steht auch noch auf meiner Liste der noch zu schreibenden Tutorials. Die Idee ist insbesondere bei Anfängern noch nicht ganz erfasst. In diesem Post geb ich mal so einen kleinen Eindruck. Es gibt aber noch viel mehr zu sagen. Mal sehen, wann ich dazu komme…

Anderes

  • CiteSeer ist zwar ne tolle Seite, aber leider viel zu oft down…
  • Im Master-Studium gibts so viele interessante Vorlesungen, dass man sich kaum entscheiden kann. Und damit die Entscheidung auch ja nicht so leicht fällt, gibts Abhängigkeiten zwischen den Vorlesungen und manche Vorlesungen nur in unregelmäßigen Abständen angeboten. Allein die Planung ist da ja schon ne Wissenschaft für sich…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert