We had three options for our final project for CS15: An Introduction to Object Oriented Programming. I chose the “Sketchy” assignment, where we are tasked with writing our own Java-based vector imaging program. According to the project’s specifications, our Sketchy must allow the user to move, rotate, and resize a variety of shapes with a bounding box, raise/lower shapes relative to others, change shapes’ color, allow for unlimited undo and redo of all actions, and save/load to/from external files.
For extra credit, I added a few extra bells and whistles beyond the base spec. Most notable additions are copy and paste functionality, instant updating of shape colors, keyboard shortcuts for most features, a help dialog, and the ability to export work to a lossless PNG image.
I also discovered some bugs in the bounding box support code. If the user accidentally presses more than one mouse button at a time, and/or drags the mouse outside of the bounding box while rotating, it can bug out the position and size of that shape. I added some additional code that prevents this from occurring.
This is a web-formatted version of my final project for GEO132. See above for the poster version.
Among the many impacts of global warming, only sea-level rise physically displaces people and their communities. Understanding the impacts of rising oceans is especially important since so many densely populated urban areas exist in coastal regions. I hope to gain a better understanding of these impacts through the use of a geographic information system.
How much land will different amounts of sea-level rise displace in an urban area?
How does this coverage disproportionately affect different building zones (e.g. residential, commercial, industrial)?