Bauinformatik Teil 1 - Baustatik-Info-Server
Bauinformatik Teil 1 - Baustatik-Info-Server
Bauinformatik Teil 1 - Baustatik-Info-Server
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Seite 20 <strong>Bauinformatik</strong> - <strong>Teil</strong> 1 - Übungsskript / 2011<br />
5.3 Winkel zwischen 2 Vektoren des R n<br />
Der Winkel α zwischen 2 Vektoren ⃗a und ⃗ b aus dem R n kann mit Hilfe des Skalarprodukts wie<br />
folgt berechnet werden.<br />
( )<br />
⃗a ·⃗b<br />
α = arccos<br />
||⃗a|| · || ⃗ (4)<br />
b||<br />
Das Skalarprodukt zwischen den Vektoren ⃗a und ⃗ b berechnet sich wie folgt.<br />
⃗a ·⃗b =<br />
n∑<br />
a i · b i (5)<br />
i=1<br />
Die Beträge im Nenner können wie folgt mit dem Skalarprodukt berechnet werde.<br />
||⃗a|| = √ ⃗a · ⃗a (6)<br />
5.3.1 Pseudocode für Hauptprogramm<br />
Der Pseudocode für das Programm könnte wie folgt lauten.<br />
(1) Einlesen der Vektoren aus Tabelle und Prüfung der Dimensionen.<br />
(2) Berechnung des Betrages von ⃗a mit der Funktion a = SP rod(⃗a,⃗a).<br />
(3) Berechnung des Betrages von ⃗ b mit der Funktion b = SP rod( ⃗ b, ⃗ b).<br />
(4) Berechnung des Skalarprodukts von ⃗a mit ⃗ b mit der Funktion x = SP rod(⃗a, ⃗ b).<br />
(5) Winkelberechnung α = arccos( x<br />
a · b )<br />
5.3.2 Pseudocode für Funktion SP rod<br />
Der Pseudocode für die Funktion des Skalarproduktes könnte wie folgt lauten.<br />
(1) Bestimme die Dimension der Vektoren (Muß identisch sein!).<br />
(2) Initialisiere die Summenvariable (s = 0).<br />
(3) Setze Vektorindex auf Startposition (i = 1)<br />
(4) Berechne für die Position i das Produkt p = a(i) ∗ b(i)<br />
(5) Summiere das Produkt auf die Summenvariable s = s + p<br />
(6) Inkrementiere den Vektorindex um 1<br />
(7) Falls i ≤ n gehe zu (4).<br />
(8) Beende die Routine mit der Übergabe des Summenwertes s.<br />
E. Baeck