Glätten, eliminieren von ausreissern

Status
Nicht offen für weitere Antworten.

ahold

Neues Mitglied
Hallo zusammen.

Das ist mein erster Post, jedoch lese ich schon seit einiger Zeit in diesem Forum und habe schon einiges von euch abschauen können.

Mich quält derzeit ein Problem, dass ich bisher nicht befriedigend lösen könnte.

Ich implementiere gerade einen Treiber für ein interaktives Whiteboard.

www.mimio.com

Es geht grob um folgendes:

Ich bekomme von einem seriellen Gerät periodisch Punkte übertragen. Diese Punkte besitzen eine X und eine Y Koordinate. Leider kann es sein, dass Messfehler auftreten.

Z.B: das soll eine "gerade" (mit dem Lineal) gezogene Linie sein:

linien.jpg


wenn man diese Punkte trivialerweise durch Linien verbindet kommt das raus:

linien2.jpg


dies entspricht NICHT meinen Ansprüchen.

Habt ihr Lösungsvorschläge wie ich die eingehenden Punkte so transformiere, dass diese Zick Zack stellen
eliminiert werden? Im Endeffekt sollte eine gerade Linie erscheinen :toll:

EDIT

http://www.fh-friedberg.de/users/mlutz/JavaKurs/applets/Bezier/Bezier.html

so etwas würde mir schon gefallen, jedoch weiss ich nicht, wie man so etwas implementiert. Zugegebenermassen fehlt mir auch der mathematische Hintergrund
 
B

Beni

Gast
Ich denke dieser Thread kann dir weiterhelfen. Ich hab dort ein kleines Progi hochgeladen, das kannst du mit dem Zusatzargument 1 aufrufen ("java Main 1"), dann interpoliert es aus Punkten eine Gerade (P.S. mit der gedrückten Maus herumfahren).

Es geht darum: durch einsetzen der Punkt in die Geradengleichung a*x+b = y kann man ein überbestimmtes Gleichungssystem herstellen. Und das löst man dann so auf, dass das Ergebnis so wenig Fehler wie möglich hat.


Edit: hm, das funktioniert so nur, wenn die Punkte auf einer eher horizontalen Gerade verteilt sind, bei vertikalen Punkten gibts Probleme. Vielleicht sollte man die Koordinaten vertauschen, oder nocht besser: die allgemeine Geradengleichung a*x + b*y + c = 0 verwenden.
 

ahold

Neues Mitglied
Danke. :###

Weiters sollten dann Kreise.... letzendlich auch wie Kreise aussehen. Hab gedacht i probier ein bisschen mit Bezier/Spline kurven herum, habe jedoch null Plan wie ich das in Java angehen soll. ???:L
 
S

stev.glasow

Gast
Zum Linienproblem, wieso nimmst du nicht einfach den Durchschnitt der x werte?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben