International Journal of Computer Applications |
Foundation of Computer Science (FCS), NY, USA |
Volume 184 - Number 12 |
Year of Publication: 2022 |
Authors: Shankar M. Patil, Ankit Joshi, Nikhil Sawant, Atharva Jagdale |
10.5120/ijca2022922096 |
Shankar M. Patil, Ankit Joshi, Nikhil Sawant, Atharva Jagdale . Web-based Visualization Tools to Demonstrate the Working of Sorting and Pathfinding Algorithms. International Journal of Computer Applications. 184, 12 ( May 2022), 13-20. DOI=10.5120/ijca2022922096
This paper focuses on introducing web-based visualization tools that demonstrates the working of famous sorting and pathfinding algorithms. These tools aim toward providing abstract thinking to different algorithms by making use of animations and 3D models which will stimulate the working of each separate algorithm in a unique way. To demonstrate the working of path-finding algorithms, 3D visualization tool having user-defined maze will be provided where each algorithm will be animated in a unique way to show how it traverses to find the shortest path between source and destination This maze will be constructed using WebGL libraries like react-three-fiber and external models like building representing path blocks will be loaded using GLTF (Graphics Language Transmission Format)Loaderprovided by ThreeJS. The second tool focuses on sorting algorithms which make use of each unique iteration of CSAlgorithms like bubble sort and animate its working by making use of a bar chart which will represent the array to be sorted. After selecting a sorting algorithm, these bars will be compared, swapped and animated to show working of these algorithms. Both the tools will be highly customizable and user input driven to provide them with a powerful and interesting tool to learn and experiment with different CSAlgorithms. Both the tools will be rendered in React DOM and work on principle that once an algorithm is executed its iteration and flow logs are captured which are used for performing animation using JavaScript and TweenJS libraries.