Six main goals of this project; Your project must include all requirements.
1. Use of Java’s Generic (a) ArrayList for a graphics application as well as an (b) static array. 2. You must design separate (c) class files to build (d) multiple parent-child hierarchical
objects including incorporating abstract as well as interface classes.
• For your project, you need to create minimum three level grandparent-parent-child
hierarchical/inheritance class objects (one should look like a human figure, the another two could be an animal, alien creature, or natural object, building, or environment (e.g., car, tree with leaves) with hierarchy).
3. Must design/apply (e) push and pop stack structure to properly associate hierarchical objects to build gestures for 2D transformation.
4. Must design multiple custom (f) function/method blocks to add a unique movement of your parent-child based objects.
5. Must add both (g) mouse interaction and (h) keyboard interactions to transform hierarchy chained objects (e.g., rotating hierarchical objects) expressing different motion.
6. Incorporate both search and sort algorithm to find an interesting movement pattern of specific objects. An example could be:
• Search/find a coordinate of a specific object through a user input.
• Record random movement of objects showing x, y coordinates, compare
movement ranking, and generate a sorted output to an external file.