Posted: Wed Nov 12
Due: Monday 11/17 10:00am
- 4th Period: https://classroom.github.com/a/Zoy0FE34
- 5th Period: https://classroom.github.com/a/N3eVZHXR
RCS!
Note: If you are working in c, I have provided a basic stack library that you can use.
Don’t forget to include a make custom target with your custom script.
Time to implement a relative coordinate system… system, add/modify your current parser so it has the following behavior:
push- Push a copy of the current top of the coordinate system (cs) stack onto the cs stack (a full copy, not just a reference to the current top… I’m looking at you python and java people)
pop- Removes the top of the cs stack (nothing needs to be done with this data)
move/rotate/scale- create a translation/rotation/scale matrix
- multiply the current top of the cs stack by it
- The ordering of multiplication is important here.
- You may wish to make a new matrix multiplication function to deal with this.
box/sphere/torus/mesh- add a shape to a temporary polygon matrix
- multiply it by the current top of the cs stack
- draw it to the screen
- clear the polygon matrix
line/curve/circle- add a shape to a temporary edge matrix
- multiply it by the current top
- draw it to the screen (note a line is not a solid, so avoid draw_polygons)
- clear the edge matrix
save- save the screen with the provided file name
display- show the image
- Also note that the
ident,applyandclearcommands no longer have any use and can be removed.