Witam,
problem jest taki:
-dane wejściowe są w pliku ascii, format: X, Y, Z
plik waży ok. 14GB
ilość współrzędnych 350M do 400M punktów, współrzędne są zapisane w typie float.
-wyświetlanie w OpenGL C#
Z uwagi że do tej pory nie miałem styczności z tak dużą ilością danych zastanawiam się jak można by podejść do problemów, których na tą chwilę widzę dwa:
- odczyt z ASCII, aktualnie robię testy i okaże się co udało mi się osiągnąć,
- wyświetlenie danych, to poważniejszy i główny problem.
Nie ma możliwości ażeby wyświetlić wszystkie dane na raz (mam tutaj na myśli wyświetlenie i obracanie takim modelem),
potrzebny jest jakiś mechanizm który w zależności od zoom-a jaki zostanie wybrany odpowiednio wyświetlił wcześniej posortowane/przygotowane dane.
Myślę o czymś takim:-
jeśli będzie zadane maksymalne powiększenie to wiadomo, wyświetlam wszystkie punkty w zadanym zakresie widocznym w oknie.
-
jeśli będę zmniejszał powiększenie to należy usuwać powiedzmy 50% (konkretnie ile, będzie można dobrać doświadczalnie) punktów przy każdym pomniejszeniu,
algorytm: klastrowanie k-means?
pytanie jak robić takie odsiewanie, na płaszczyźnie wiadomo a w przestrzeni 3D?Pewnie są jakieś gotowe rozwiązania/biblioteki tych problemów, proszę o jakieś sugestie bo nie chciałbym wymyślać koła na nowo.
-
Pozdrawiam.