13.01.2015 Aufrufe

Bauinformatik Teil 1 - Baustatik-Info-Server

Bauinformatik Teil 1 - Baustatik-Info-Server

Bauinformatik Teil 1 - Baustatik-Info-Server

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!