This lab is designed to give us our first experience with non-photorealistic rendering [NPR] and being able to correctly modify our current programs to be able to implement NPR.
For our first required image we had to implement a style 'jitter3' that draws the line segment as three, criss-crossing jittered lines. The image had to have three copies of a shape in different styles ('normal', 'jitter', 'jitter3'). Also I made a mosaic of these three shapes.
For the second required image we had to create a 'dotted' style that draws a series of circles along would be path of the turtle when drawing the shape. Below I created a mosaic of the four different styles.
The third required image is an updated or completely new indoor scene, that incorporates the different drawing styles. Please click on the following link to see a video of the program in action.
The fourth required image was a picture of a new, unique L-system that we created. It has to incorporate branching, multiple rules, and stochastic rule replacement methodology. I made mine animate (spin around). Please clock on the following link to see a video of the program in action.
- Add other drawing styles. For example, try making one that simulates a brush by drawing many approximately parallel lines. Slight variations in color between the different lines makes the effect better. You might also try a pen-and-ink style with cross-hatching or just a series of straight lines at an angle to the direction of the actual line. Note although you are welcome to implement dashed and broken styles, they will not be counted as extensions.
I hope that this is what you were looking for with a 'brush' style.
- Create a sequence of images to build an animation.
My fourth required image (video) exhibits the animation (spinning around) of my unique L-system.
- Be more creative with tasks A and B. In other words, use programming structures, user input, and code to go beyond the minimal required image.
As you can see, I made the required images into mosaics, that generate randomly the order and style of the stars. I included the code that i used to generate the random style for the individual tiles. I used the same code to do that in the fourth required image.
- Use a Python language feature new to you (not just a new library feature or function)
Within my third required image I used a new way to have the user click on the screen to make something happen.Within my previous projects I did this within the given "GraphWin" definitions, however this time I did this within the Turtle class. I used the the onscreenclick() to get the x and y coordinates to draw a random shape, random size, random style.
What I learned:
I learned how to implement styles, a nice addition to our toolbox, and have gotten my indoor scene creating skills turned up. Also I have continued to learn more about getting the user interacting with the program, now learning the onscreenclick(). I worked with Mike and Toni on steps previous to anything extension related.