NURBS Surface Reconstructor
Program ten to efekt mojej pracy magisterskiej napisanej na Wydziale Matematyki i Nauk Informacyjnych Politechniki Warszawskiej.
Zadaniem programu jest przetwarzanie wyników działania urządzeń pomiarowych CMM (rodzaj skanera 3D, który bada kształt obiektu) na powierzchnię parametryczną NURBS w celu umożliwienia dalszej obróbki w procesie CAD (Computer Aided Design - komputerowe wspomaganie projektowania).
NSR potrafi z powodzeniem aproksymować chmury punktów zawierające nawet setki tysięcy punktów. Rozkład punktów może być całkowicie dowolny. Program radzi sobie doskonale z chmurami, których punkty rozłożone są równomiernie jak i z takimi, w których rozkład jest całkowicie losowy. Rozpoznaje dwie, najczęściej używane topologie obiektów: topologię prostokąta i topologię walca. Zaangażowanie użytkownika w proces aproksymacji zostało zredukowane do minimum (aproksymacja przebiega w dużej mierze automatycznie). Wyniki aproksymacji można zapisać w postaci powszechnie stosowanego w oprogramowaniu CAD pliku w formacie IGES.
Aproksymacja podzielona jest na trzy etapy. Na początku, na podstawie chmury punktów, tworzona jest powierzchnia bazowa. Aby ją stworzyć program znajduje brzeg i topologię przedstawianego przez chmurę punktów obiektu. Następnie powierzchnia bazowa jest używana do przyporządkowania punktom chmury parametrów (u,v). Dopiero teraz chmura jest gotowa do przeprowadzenia na niej właściwej aproksymacji.
W użytej metodzie obliczenia pozycji punktów kontrolnych i wag zostały rozdzielone, dzięki czemu zadanie aproksymacji zostało podzielone na dwa, prostsze pod-zadania. W pierwszej kolejności obliczane są dodatnie wagi punktów kontrolnych. Jest to kilkuetapowy problem optymalizacyjny. Gdy wagi zostaną już znalezione, obliczenie położenia punktów kontrolnych sprowadza się do obliczenia prostej zależności.



