===== Skalarprodukt ===== Nochmal die Gedächtnisstütze zum anguggen: [[http://www.rither.de/a/mathematik/lineare-algebra-und-analytische-geometrie/winkel/winkel-zwischen-vektor-und-vektor/]] Der Kopf der Funktion sieht folgendermaßen aus: function sprodukt($a,$b,$text="") Das zweite Argument wird hierbei **vorbelegt**, dadurch wird es optional und wir müssen es beim Aufruf der Funktion nicht angeben (können aber natürlich, wenn wir wollen!) Für die Fallunterscheidung verwenden wir wieder eine **if-Abfrage**. Um den Winkel zwischen den Vektoren zu berechnen gehen wir folgendermaßen vor: - Wir berechnen das Skalarprodukt der Vektoren. - Dann jeweils deren Länge. **abs()** gibt den Betrag zurück, **sqrt()** berechnet die Wurzel. - **acos()** ist der normale cos^(-1), wird allerdings im **Bogenmaß** ausgerechnet. - Um den Winkel im Gradmaß zu erhalten benutzen wir die Funktion **rad2deg()**. function sprodukt($a,$b,$text=""){ if ($text == "winkel") { $skal = $a[0]*$b[0]+$a[1]*$b[1]+$a[2]*$b[2]; $laenge_a = abs(sqrt($a[0]*$a[0]+$a[1]*$a[1]+$a[2]*$a[2])); $laenge_b = abs(sqrt($b[0]*$b[0]+$b[1]*$b[1]+$b[2]*$b[2])); $winkel = acos($skal / ($laenge_a * $laenge_b)); $winkel = rad2deg($winkel); return $winkel; } else { $ergebnis = $a[0]*$b[0]+$a[1]*$b[1]+$a[2]*$b[2]; return $ergebnis; } } Wie immer hier das fertige Programm: {{:funktionen:skalarprodukt.php|}}