SpatialAptitude is a project mainly written in C++ and C, it's free.
Applications to promote the development of spatial aptitude.