Zbr's days.
November
Sun Mon Tue Wed Thu Fri Sat
       
11
 
2007
Months
Nov

About TODO Blog RSS Old blog Projects Gallery Notes

Sun, 11 Nov 2007

I completed sky walker prorgamm.

This is a name for my 2d point matching algorithm.
It gets number of points as a map and number of points to find on the given map. It should find them even if graph made of those points is rotated or scaled.

One can find result on this animated gif:

Sky walker in action

It uses too big error value (i.e. maximum difference between points to say that they are equal, it is needed because of heavy math usage (actually a bit of trivial school trigonometry) with resulted error) to show how it works. There are 400 randomly generated points at the left parts and graph to be found at the right, you can see that it was found 7 times being rotated and scaled.

Algorithm is quite heavy - it requires O(N*N*log2(N)*M) in the worst case, where N is number of points on the original map and M is number of points on the searched graph. But application is highly parallelable - it is possible to stop searching and then later resurrect it from given position or from any other inside the whole map, it is possible that several threads or nodes in cluster can search in the diferent areas of the sky.
Complexity can be greatly reduced with introduction of luminocity.

Main application is to search photographed constellations on the huge sky map.

Sources (requires gtk2) and details can be found on the homepage.

/devel/sky :: Link / Comments (0)