Die 3D-Ausgabe ist eigentlich auch nur eine Matritzen/Vektorberechnung. Aber darauf basiert auch meine Raumlageberechnung einfach ne Pic-Box genommen und über die gdi32.dll darauf losgelegt.Zitat von Willa
Die Filtertechnik habe ich in 3 Modis ausgeführt. Das FIR-filter ist mit seinen Koeffizienten auf 200 Werte je Tap auf 5Hz realisiert. Im Grunde ist es in jeder Filterordung (Wiederholung der Filterung) das selbe. Ich multipliziere nach der allgemeinen FIR-Gleichung eben die Koeffizienten von (n) mit einem gleitenden Array (In meinem Fall Pointer auf den Aufnahmebuffer). Daraus ergibt sich das FIR-Filter 1. Ordnung (nach Chebyshev) in seiner Summe über alle Koeffizientenmultiplikationen zum akuten Sample. Der entstandene Verstärkungsfaktor von x(n) zu y(n) in DC-Betrachtung rechne ich über die Summe der Koeffizienten gegen.
Danach kommt erst die Lagebestimmung, nachdem alle drei Achsen in der Filterung durchlaufen wurden. Das bildet ein Rohsignal für die Umrechnung in eine Raumrotationsmatrix. Die Matrix sieht man auch im 3D laufen (diese 3x3 Zahlen).
Diese Berechnung geht folgendermaßen vor: Ich errechne über einen normalisierten Ebenenvektor eine Raumrichtung um Achse Z über X und Y. Über diesen errechneten Winkel (Gamma) neige ich über die nun verdreht gerechnete X-Achse den Raumkörper um eine Alpha-Achse. Damit habe ich die neuen Achsen im Raum (was einer Lage zu Bewegungsrichtungsdecodierung taugt). Nebenbei entstehen bei der Berechnung sechs undefinierte Polstellen im normierten (1er Radus=1g)Kugelraum. Diese müssen sonderbehandelt errechnet werden. Das ganze rotieren und bewegen wird als einzige Summen-3x3-Matrix errechnet, und darüber werden alle Objektpunkte im Raum in einer Vektor-Matritzen-Multiplikation umgerechnet. Deshalb dient es auch 1:1 der Lage im Raum als direkte Verrechnung.
Externes Bild anzeigen
Grüße Wolfgang







Zitieren
Lesezeichen