EECS 351
Project A
Oct. 2, 2007 - Goals/Ideas
- Look at the examples to help get started making a window and get the OpenGL stuff set up
- Create classes for points, vectors, and other shapes
- Create methods for vector math and matrix math
- Create some lines and shapes (probably simple ones to start with)
- Allow the user to control a shape and move it around with the keyboard
- Allow the user to rotate/scale the shape
- Read in a point list from a file and use the points to create something (maybe a background)
- Add something that is animating all the time to make things more interesting
Oct. 7, 2007 - Update
- Classes for points, vectors, and transformations (which contain matrices)
- Ability to manipulate a square by rotating it, translating it, scaling it, or any combination of the three
- User input via the mouse
- Drawing lines and shapes to make something cool
- Allow the user to control the shape
- Read in points from a file
- Allow user input via the keyboard
Videos:
To view this content, please make sure you have JavaScript enabled.
Oct. 8, 2007 - Update
- Tree Fractal using lines
- User input via keyboard
- User can change number of times it is fractalized (if that's not a real word, it should be)
- User can change the scale of the branches
- Allow the user to change the angle that the tree is drawn at
- Read in points from a file to create the tree
- Add color to the tree
- Add some type of animation
- Improve drawing algorithm
- Make it so that the entire tree is always visible
To view this content, please make sure you have JavaScript enabled.
Oct. 9, 2007 - Update
- Allow the user to change the angle that the tree is drawn at
- Added color to the tree
- Added instructions
- Improved drawing algorithm
- Read in points from a file to create the tree
- Add some type of animation
- Make it so that the entire tree is always visible
To view this content, please make sure you have JavaScript enabled.
Comments
Looks pretty good. Does the program take any input from the user via the mouse and/or keyboard? You could add a feature where the user can drag around the fractal tree with his or her mouse.
Kevin CheungIt looks really cool and watching the GIF was also nice. I really like the way you blended the colors of the tree. Perhaps adding a leaf changing option?
Jasper ChenWatching the animations is pretty neat. How did you create animated gifs from your code? Is there a tutorial for it? I'm having trouble finding info on it.
Oct. 10, 2007 - Final
- Read in points from a file to create the tree
- Allow Cartesian coordinates or Polar coordinates from the file
- The tree is always visible
- The user can change the line thickness
To view this content, please make sure you have JavaScript enabled.
Project B
Oct. 29, 2007 - Goals/Ideas
- Look at the examples to get started with 3D cameras and viewing stuff
- Create some 3D shapes and allow the user to change the camera
- Allow the user to change the parameters of the jointed object
- Read in a point list from a file and use the points to create the jointed object
Oct. 29 - Update
- Read in a point list to generate a system of pendulums (a system of 1 for now)
- User can rotate the camera with the mouse
- Allow the user to move the camera with the keyboard
- Allow more pendulums to hang off of the first ones
- Make it so that the entire pendulum system is always visible
- Have different types of camera views
To view this content, please make sure you have JavaScript enabled.
Oct. 29, 2007 - Update
- Added the ability for the user to mess with gravity
- Allowed the user to move the camera around with the keyboard
- Changed the wire frame spheres to solid spheres
- Make it so that the entire pendulum system is always visible
- Allow more pendulums to hang off of the first ones
- Have different types of camera views
- Allow the user to create additional randomly placed pendulums
To view this content, please make sure you have JavaScript enabled.
Comments
Nice job! I like the versatility of your project. It would be cool if there were a way to elongate the pendulum rods so that the 3-D aspect of this project (i.e. giving it more perspective) was more apparent.
Dan Gilk:lighting and shading would make this really cool because the three dimensional nature of the pendulums would be more obvious
Jeff HentschelI like the pendulums, but agree that lighting and shading would make it look a lot cooler. I prefer the wireframe layout without the lighting.
Oct. 30, 2007 - Final
- The pendulum system is always visible
- The user can change between orthographic and projection camera views
- Allowed more pendulums to hang off of the first ones
- Allowed the user to create additional randomly placed pendulums
- The user can change the number of pendulums that are attached to each other
To view this content, please make sure you have JavaScript enabled.
Project C
Nov. 1, 2007 - Goals/Ideas
- Modify Project B
- Add a stationary light
- Add a moving light
- Allow the user to control the lights
- Make the pendulums out of different materials
Nov. 7, 2007 - Update
- Modified Project B
- Added a stationary light at the origin
- Made the pendulums out of different random materials
- Add a moving light
- Allow the user to control the lights
To view this content, please make sure you have JavaScript enabled.
Nov. 8, 2007 - Update
- Add a moving light that circles around the pendulums
- Allow the user to turn the lights on and off
- Allow the user to control the motion of the moving light
To view this content, please make sure you have JavaScript enabled.
Nov. 13, 2007 - Final
- Modified Project B
- Add a stationary light at the origin
- Add a moving light that circles around the pendulums
- Made the pendulums out of different random materials
- Allowed the user to turn the lights on and off
- Allowed the user to control the speed, height, and radius of the orbiting light
To view this content, please make sure you have JavaScript enabled.
Project D
Nov. 27, 2007 - Goals/Ideas
- Modify Project C
- Add several Bezier patches
- Stitch the patches together
- Ensure that the patches don't have seams
- Make the patches move with time
- Allow the user to change how the patches move
- Allow the user to view the patches as meshes or wire frames
- Allow the user to view the control points
Nov. 29, 2007 - Update
- Modified Project C (removed everything to do with pendulums, but kept the base code)
- Added three Bezier patches
- Stitched the patches together
- Make the patches move with time
- Ensure that the patches don't have seams
- Allow the user to change how the patches move
- Allow the user to view the patches as meshes or wire frames
- Allow the user to view the control points
To view this content, please make sure you have JavaScript enabled.
Dec. 2, 2007 - Update
- Made the patches move randomly with time
- Ensured that the patches don't have seams
- Allowed the user to view the patches as meshes or wire frames
- Allowed the user to view the control points
- Allow the user to change how the patches move
- Make the patches into a sail on a mast
- Add a ship for the mast to attach to (possibly out of more patches)
To view this content, please make sure you have JavaScript enabled.
Dec. 3, 2007 - Update
- Allowed the user to change how the patches move by changing the wind speed
- Made the patches into a sail on a mast
- Add a ship for the mast to attach to (possibly out of more patches)
- Add a background other than black
To view this content, please make sure you have JavaScript enabled.
Dec. 4, 2007 - Final
- Modified Project C (removed everything to do with pendulums, but kept the base code)
- Added three Bezier patches
- Stitched the patches together
- Made the patches move randomly with time
- Ensured that the patches don't have seams
- Allowed the user to view the patches as meshes or wire frames
- Allowed the user to view the control points
- Allowed the user to change how the patches move by changing the wind speed
- Made the patches into a sail on a mast
- Added a ship for the mast to attach to (made out of GL_QUADS since I ran out of time for patches)
- Changed the background to blue (didn't have time to do something cool)
To view this content, please make sure you have JavaScript enabled.