|
C-/C++-Quelltext
|
1
|
hypertenuse = delta_x * delta_x + delta_y * delta_y;
|
Das entspricht ja: c = a^2 * b^2
Eben nicht, das is ja genau dein Denkfehler. Verwechsle niemals eine Zuweisung mit einer Gleichung. Das = Zeichen da hat mit dem = im mathematischen Sinn
überhaupt nichts zu tun.
Da steht nur: Weise der Variable hypertenuse den Wert von delta_x * delta_x + delta_y * delta_y zu. Und wie wir alle wissen ist das Ergebnis von a² + b² eben c². Nur weil du es nicht c² sondern "hypertenuse" nennst bedeutet das noch lange nicht dass da auf einmal c rauskommt...
|
C-/C++-Quelltext
|
1
|
double abstand = hypertenuse * hypertenuse;
|
Jetzt entspricht es: c^2=a^2 * b^2
Eben nicht, jetzt entspricht es (a² + b²)², denn was eigentlich dasteht ist:
hypertenuse <- a² + b²
abstand <- hypertenuse² = (a² + b²)²
Hier setze ich jetzt nicht 13 sondern 13^2 ein und kann mir die Quadratwurzel sparen.
Ja klar, aber kommt es dir nicht komisch vor dass 13^2 eben nicht 300 ist!?