COS 126 Recursive Graphics Submissions

All examples below were generated for the the Recursive Graphics assignment.

Name and Description
--------------------------------------------------------
N = 1    N = 2    N = 3   N = 4  N = 5   N = 6
Peck Yang
My program draws a city skyline by drawing skyscrapers with varying heights and shapes. It creates a sense of depth by using a recursive function to draw a central building and two slightly shorter buildings flanking or slightly overlapping the original building and so on. The buildings are randomly determined to be either block or trapezoid or pointy shaped with a random shade of grey as its color. Also, the height of each building at the same "order" is varied slightly to make it look more realistic. I use 3 order n skylines to fill the entire city.
Peter Jin
My original attempt at recursively defining a Mandelbrot set led to the creation of a "zebra-skin" program.
Anjali Bisaria
My creation uses rhombuses to create the effect of 3-D cubes in lines. By inverting the order in which the functions to draw the rhombuses were called, you get the rows of cubes instead of an 3-D sierpienski triangle. I used the website that the assignment linked to for the inspiration.
Anya Levinson
This program creates a square and recursively draws smaller squares inside of it, tilted so as to create a swirling pattern. Then, there is a second recursion that draws these recursive squares in an interesting pattern. The program converges to a large square as n gets large.
The fractal that I created is based on hexagons: in each hexagon there are 7 small hexagons of one third the size of the previous one. The hexagons are white and are formed by drawing the triangles (of a different color for each hexagon) between them. I used two triangle functions (up and down) that receive the coordinates of the top, or respectively bottom, vertex and draw a filled triangle of the given size. I use a function called "hexagon" that computes the positions of the triangles inside a given hexagon and draws them.
I referenced the text book from my real analysis class (MAT 332 text) to come up with a couple interesting fractals to include. The centerpiece is a construction of the Cantor dust (basically a two-dimensional Cantor set), and I surround it on four sides with a construction of the Van Koch curve.
Huanqi Deng
a Koch snowflake
Jeremy Chen
My artistic creation is an an alien, with crazy eyes! Actually, the inside the alien's eyes, more aliens are recursively drawn. For reference, I looked on a website to see the different colors I could use.
Jay Qi
My artistic creation plots four-pointed stars recursively. I made stars (diagonals vertical and horizontal) with alternating colors and new stars forming on the midpoint of the previous stars. I had it alternate the center points of the next order between the vertex and in the space between the tines.
I wanted to create a drawing that propagated out using the Math.random function. The image got too dense as the lines got closer and closer, so I decided to add color to help differentiate the lines and then thin them out as they got shorter and shorter.
Matt Davis
I was inspired by Donny Dietz's argyle pattern from last year and the bowtie program shown in class, so I decided to combine the two. After doing some work on the program, I liked the idea of doing a 2-color pattern with a Princetonian theme, so I stuck with orange and black. I had to alter the bowtie-shape to be two diamonds to make the fractal possible, but I'm sure a bowtie-master somewhere could design a knot that would assume this shape.
Owen Coyle
My program recursively draws what I call sunbursts (n 180 degree circular arcs that are evenly spaced emanating from a central point where n can be any integer > 0) The recursive aspect of it is that each sunburst has another sunburst drawn on the end of each arm of a radius one half the parent sunburst. The color also changes by "generation".
Peter Tzeng
My artistic creation is a jester's hat. The hat is made up of simple house figures (a pentagon with three sides of a square, and pointing upward). Each additional house sets up with its base on the slanted roof of the previous house (thus there are two next-level houses for each house).
Saud Al-Thani
Art.java creates a beautiful star and uses recursion internally (within the biggest star) and externally (outside the boundry of the first star's shape) to give an affect of many distant stars. The colour alternates between blue and orange to clearly show the shapes and sizes of the stars at each recursion step. I also made much smaller stars (being smaller versions of the same recursion) appear around each recursion to give an effect that this star is not alone in the sky.
Travis Pfander
The program uses recursion in two ways. First, I used recursion to generate the main element of the design, a diamond being overlayed by a square and then a circle. The cool thing is that the command-line argument both determines the depth of the central design and the depth of the recursion, so that each successive order of recursion has one fewer iterations of the overlay.
Waqas R. Jafri
I have created a tree.
Huijia (Emily) Wu
My idea came from the following source (bottom left corner): Basically, I calculated the relative side length of each smaller square to that of the corresponding larger square. Using arrays to represent the centers of each set of four squares, I was able to save a lot of room in my code. Additionally, to show school pride, I alternated the colors of the squares based on the value of N.
Catalina Hwang
My artistic creation is a bunch of Christmas trees. The user inputs an integer that determines how many rows of trees there will be, as well as how many 'layers' the first tree will have. As the row number increases, the trees are 'younger', so the number of 'layers' they have are less. Also, as the row number increases, the hue changes from green to red. I used the StdDraw javadocs to figure out how to use Color.