myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Talk > Schule, Studium, Ausbildung & Beruf
Seite neu laden

Winkel Berechnung

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 10.08.11, 12:36   #1
naruto25
Anfänger
 
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
naruto25 ist noch neu hier! | 0 Respekt Punkte
Standard Winkel Berechnung

Hallo Leute,

ich bin es wieder mal. Wollte nur mal sicherheitsweiser fragen, ob meine Vorgehensweise korrekt ist.

Also ich habe Beschleunigungswerte von einem 3-achsen Beschleunigungssensor

Bsp: x = 167, y = 108 und z = 109

Zur Winkelberchnung bnötigt man die G-Werte.

Also: Gx = 0,768421053, Gy = 0,604395604, Gz = 0,346938776

Die Varianz (also die Norm der Vektoren) ergibt sich aus der Formel V = Wuzel(Gx^2 + Gy^2 + Gz^2) = 1,03736757

Da ich dann nicht mehr weiter wusste, wie ich aus diesen Daten die Winkel bzüglich der 3 Achsen berechnen kann, habe ich ziemlich lange im Internet gesucht. Aber gefunden habe ich nicht 100%iges das mir sagt wie man das macht. Ein Experte in Trigonometrie bin ich auch nicht gerade, da blick ich voll nicht durch.

Gefunden habe ich aber folgendes und wollte mal fragen ob das richtig ist.

Um die Lagewinkel der Sensorwerte zu errechnen wird die Varianz benutzt

=> Gx = -V * sin(beta)
Gy = -V * cos(beta) * sin(gamma)
Gz = V * cos(beta) * cos(gamma)

durch Umformen:

=> beta = -arcsin ( Gx/V)
gamma = arctan(-Gy/Gz)

ist das richtig?? Wie berechne ich dann alpha?

Wo anders habe ich das gefunden:

winkel_x = arcsin(Gx / V)
winkel_y = arcsin(Gy / V)
winkel_z = arcsin(Gz / V)

Wäre für jede Hilfe dankbar!
naruto25 ist offline   Mit Zitat antworten
Ungelesen 10.08.11, 23:37   #2
magnumgold
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 8
Bedankt: 5
magnumgold ist noch neu hier! | 0 Respekt Punkte
Standard

Ich kann mir nur ungefähr vorstellen, worum es geht....also du hast nen 3D-Vektor (Gesamtbeschleunigung) und willst die Winkel des Gesamtvektors zu den Koordinatenachsen berechnen...hab ich das richtig verstanden...?
magnumgold ist offline   Mit Zitat antworten
Ungelesen 11.08.11, 10:31   #3
naruto25
Anfänger
 
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
naruto25 ist noch neu hier! | 0 Respekt Punkte
Standard

Hallo magnumgold,

danke für die antwort.

also, ich hab eine grafik dazu hochgeladen.



Bei der Grafik sieht man die gemessenen Beschleunigungswerte (das geht bis max. 255) in einem bestimmten zeitintervall.

Datenreihe1 ist x, Datenreiehe2 ist y und Datenreiehe3 ist z.

Alle Werte habe ich in G (Erdbeschleunigung) umgewandelt bzw. auch die Varianz zu den jeweiligen Zeitpunkten bestimmt.

Nun muss ich die Winkel bzüglich bestimmter Achsen bestimmen, wo die Werte anhand der Grafik am höchsten sind (also da wo die Linien plötzlich steil nach oben bzw. unten gehen)

mach ich das richtig mit den oben genannten Formeln?

Danke
naruto25 ist offline   Mit Zitat antworten
Ungelesen 11.08.11, 16:27   #4
naruto25
Anfänger
 
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
naruto25 ist noch neu hier! | 0 Respekt Punkte
Standard

oben ist falsch. muss das mit dem skalarprodukt machen.
naruto25 ist offline   Mit Zitat antworten
Ungelesen 11.08.11, 17:12   #5
Quabla
Mitglied
 
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
Quabla ist noch neu hier! | 0 Respekt Punkte
Standard

also die formel für winkel zwischen vektoren lautet ja cos(\alpha) = \frac{\vec{a} \cdot \vec{b}}{|\vec{a}| \cdot |\vec{b}|}

(wenn mir mal jemand erklärt, wie man im forum mathematische zeichen benutzt, wärs veilleicht anschaulicher. so is es latex code ich hoffe du kannst das entziffern )

du musst dann nur noch den winkel zwischen deinem beschleunigungsvektor (Gx, Gy, Gz) und den einheitsvektoren (1,0,0), (0,1,0) und (0,0,1) ausrechnen, wenn ich dein problem richtig verstanden hab.
Quabla ist offline   Mit Zitat antworten
Ungelesen 12.08.11, 09:46   #6
naruto25
Anfänger
 
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
naruto25 ist noch neu hier! | 0 Respekt Punkte
Standard

du hast recht quabla.

ich denke ich weiss welche formel du meinst:

cos (vektor_a, vektor_b) = (vektor_a * vektor_b) / ( ||vektor_a|| * ||vektor_b|| )

was bedeutet eigentlich doppelter betragsstrich? ist das das gleiche wie mit einem betragsstrich?
naruto25 ist offline   Mit Zitat antworten
Ungelesen 12.08.11, 11:48   #7
Quabla
Mitglied
 
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
Quabla ist noch neu hier! | 0 Respekt Punkte
Standard

doppelter betragsstrich ist halt die norm. es gibt verschiedene normen jenachdem in welchem vektorraum du dich befindest. wenn du beispielsweise in nem unitären vektorraum bist, wo die komponenten der vektoren auch imaginär sein können, kannst du nicht einfach über den pythagoras den betrag des vektors bestimmen.
Quabla ist offline   Mit Zitat antworten
Ungelesen 12.08.11, 12:59   #8
naruto25
Anfänger
 
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
naruto25 ist noch neu hier! | 0 Respekt Punkte
Standard

und wie funzt das dann bei meinem fall? könntest du mir vielleicht einen beispiel geben wenn ich z.b. diese werte hätte:

bsp.
-------Gx----------------Gy--------------Gz
0,768421053 −0,604395604 −0,346938776
0,747368421 −0,648351648 −0,326530612
0,768421053 −0,626373626 −0,346938776
0,768421053 −0,582417582 −0,367346939
0,768421053 −0,582417582 −0,367346939
0,789473684 −0,582417582 −0,326530612
0,789473684 −0,582417582 −0,326530612
0,768421053 −0,538461538 −0,326530612
0,810526316 −0,56043956 −0,326530612
0,810526316 −0,56043956 −0,326530612
0,810526316 −0,56043956 −0,326530612
.....
naruto25 ist offline   Mit Zitat antworten
Ungelesen 12.08.11, 13:20   #9
Quabla
Mitglied
 
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
Quabla ist noch neu hier! | 0 Respekt Punkte
Standard

du bist ja im ganz gewöhnlichen 3dimensionalen euklidischen raum. da kannst du die beträge per pythagoras berechnen. also die wurzel der summe der quadrate der komponenten des jeweiligen vektors

|a| = \sqrt{a_x^2+a_y^2+a_z^2}

also im ersten fall

\sqrt{0,768421053 ^2+0,604395604 ^2+0,346938776^2}

(die - zeichen hab ich jetzt mal unterschlagen, weil die durchs quadrieren eh verschwinden.)
Quabla ist offline   Mit Zitat antworten
Ungelesen 12.08.11, 13:54   #10
naruto25
Anfänger
 
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
naruto25 ist noch neu hier! | 0 Respekt Punkte
Standard

ok, du hast jetzt den betrag ausgerechnet. sind die drei werte die du genommen hast jetzt die werte von einem vektor?

sagen wir vektor ist a. also a =(0.768421053, 0.604395604, 0,346938776) oder wie?

wie ist das mit dem zweiten vektor ? nehme ich dann für die winkelberechnung einfach die zeile darunter?? oder muss ich von einer achse einen mittelwert bilden?

tut mir wirklich leid, wenn ich solche fragen stellen muss. irgendwie stehe ich auf dem schlauch
naruto25 ist offline   Mit Zitat antworten
Ungelesen 12.08.11, 14:19   #11
Quabla
Mitglied
 
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
Quabla ist noch neu hier! | 0 Respekt Punkte
Standard

du nimmst einfach dir formel, die du auch schon vorher gepostet hast. bei ||a|| nimmst du einfach den betrag von a. und als zweiten vektor nimmst du den einheitsvektor der jeweiligen achse, weil du ja den winkel zwischen achse und vektor suchst. (oder welche achse meintest du bei der problembeschreibung? worum gehts hier überhaupt genau? hab sowas bis jetzt nur bei der lokalisierung von erdbeben gesehn^^)
Quabla ist offline   Mit Zitat antworten
Ungelesen 12.08.11, 14:36   #12
naruto25
Anfänger
 
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
naruto25 ist noch neu hier! | 0 Respekt Punkte
Standard

))

danke quabla. welche achse man nimmt spielt keine große rolle glaub ich. das mit dem einheitsvektor der jeweiligen achse müsste stimmen. ich melde mich nochmal. muss erstmal rechnen und gucken xD
naruto25 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 Uhr.


Sitemap

().