Flocking Algorithm

Flocking algorithm is a famous algorithm used in Artificial life behiour, animation, gaming etc. This algorithm was discovered by Craig Reynolds in 1986. This project simulates the algorithm on canvas and other part of the project does a theoretical analysis of complexity of the algorithm, and then I propose a different flocking algorithm using K-D Tree to reduce the time complexity. Detailed analysis is available in the proj_report.pdf.