Schnelle Flugzeug passend zu viele Punkte

Ich bin auf der Suche, um zu passen in ein Flugzeug, um einen Satz von ~ 6-10k 3D-Punkte. Ich bin auf der Suche zu tun, dies so schnell als möglich, und die Genauigkeit ist nicht das höchste Anliegen (ehrlich gesagt, das Flugzeug kann um +-10 ° Grad in jede der kardinalen Achsen).

Mein Aktueller Ansatz ist es, best of best fit, aber es ist unglaublich langsam (ich bin der Hoffnung, zu extrahieren Flugzeuge mit einer rate von etwa 10-50k mal jedes mal, wenn ich den Algorithmus, und bei diesem Tempo würde es fertig in Wochen, anstelle von Stunden), wie es funktioniert auf allen möglichen Kombinationen von 6.000-Punkte-Marke, so ~35,000,000,000 Iterationen, und ehrlich gesagt, es hat eine viel höhere Genauigkeit, als ich brauche.

Weiß jemand, der etwas schwächer Flugzeug-Montage-Techniken, die möglicherweise Geschwindigkeit mein Algorithmus wesentlich?

EDIT:

Habe ich es geschafft die Anzahl der Wiederholungen runter auf ~42k durch die Schaffung von Ebenen in jedem 3D-Winkel (Durchlaufen bei 5 Grad zu jeder Zeit) und die Prüfung der vorhandenen Punkte gegen diese zu finden, die besten Flieger, statt mit Montage-Ebenen zu den Punkten, die ich habe.

Ich bin sicher, es gibt etwas zu gewinnen hier durch teilen und zu erobern, obwohl ich mir sorgen, ich könnte springen Sie geradeaus vorbei an der besten Flieger.

Sie haben Zugang zu den Curve-Fitting-Toolbox?
Leider weiß ich nicht, ich bin stecken mit Vanille MATLAB, obwohl ich eine Menge Programmier-Erfahrung im Allgemeinen, so ich sollte in der Lage sein zu handhaben, ein ziemlich komplexer Algorithmus.
Wenn Genauigkeit ist nicht Ihr Haupt-Anliegen, reduzieren Sie die Eingabe der Komplexität Ihrer Daten. Führen Sie kmeans oder etwas auf den ersten Satz mit 6-10k Punkte, und dann passen die Ebene der Exemplare.
gute Idee. Um die Leistung zu verbessern, auch weitere, zufällige Teilmenge der Punkte, die vielleicht genug.

InformationsquelleAutor Nick Udell | 2012-06-05

Schreibe einen Kommentar