Abstract:
This thesis presents a design and development of an algorithm visualization for two 2D computational geometry problems; convex hull and range search problems. The system was developed to be used in AVis, an algorithm visualization management running on MS Windows operating environment. Each visualization session consists of four classes of components; algorithms, data generators, views and converters. There are six algorithm components for visualizing the convex hull problem; Javis's march, Graham's scan incremental, divide-and-conquer, quick hull, and "throw-away" algorithms, and the other four algorithm components for the range search problem; brute force, grid method, 2D tree, 2D tree with randomized discriminator, and median tree algorithms. Input data can be randomly generated, manually created, or read from a data file using a data generator component. Two views, point-in-the-plane and line graph views, are provided for visualizing the convex hull algorithms, and another point-and-tree view are used for the range search algorithms. In addition, there are a number of converters used for converting events from the algorithm components to graphic commands in the view components. The system is well suited for studying behaviours of the algorithms when varying input parameters and was developed as a prototype for further development in visualizing more computational geometry problems.