Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
10.08.11, 12:36
|
#1
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
|
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!
|
|
|
10.08.11, 23:37
|
#2
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 8
Bedankt: 5
|
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...?
|
|
|
11.08.11, 10:31
|
#3
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
|
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
|
|
|
11.08.11, 16:27
|
#4
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
|
oben ist falsch. muss das mit dem skalarprodukt machen.
|
|
|
11.08.11, 17:12
|
#5
|
Mitglied
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
|
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.
|
|
|
12.08.11, 09:46
|
#6
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
|
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?
|
|
|
12.08.11, 11:48
|
#7
|
Mitglied
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
|
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.
|
|
|
12.08.11, 12:59
|
#8
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
|
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
.....
|
|
|
12.08.11, 13:20
|
#9
|
Mitglied
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
|
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.)
|
|
|
12.08.11, 13:54
|
#10
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
|
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
|
|
|
12.08.11, 14:19
|
#11
|
Mitglied
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
|
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^^)
|
|
|
12.08.11, 14:36
|
#12
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 40
Bedankt: 42
|
 ))
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
|
|
|
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
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 Uhr.
().
|