1 - Design a 2D Fractal
& Exam Question
(due at the 2001-09-20
@ 6pm mtg)
|
- Goal: Design a fractal different from any we've
seen so far (the more different the better!)
- Use the new point datatype (described in
graphics-lib.scm)
- Design a creative exam question that uses your fractal
- Resources:
- Dr. Scheme or MacGambit, available at the bottom of the CS3 www page
(If Dr. Scheme, you'll also need the graphics-teachpack)
- first-six-fractals.scm
(The first six fractals demonstrated in class you all know, coded
in old-style without the points data type)
- graphics-lib.scm
(A set of graphics library routines using points
that make coding fractals MUCH easier -- use these!)
- fractal-examples.scm
(A set of examples coded using the points data
type -- look how great and clean they are -- especially flower)
- Fall 2000 Fractal question (word
/ PDF)
- Spring 2001 Fractal question (word
/ PDF)
- Bring with you to the meeting
- The code for your fractal and exam question on a floppy (labeled
with your name)
- A printout of your fractal
- A printout of your exam question
2 - Animate your 2D Fractal
(due at the 2001-09-27
@ 5pm mtg)
|
- Goal: To think of a creative way to animate your fractal
and one of the old fractals.
- Resources
- You need to download graphics-lib.scm
again. We've added three critical functions:
- lin-interpP, which linearly interpolates a point
- lin-interp, which linearly interpolates a single
variable
- grow-fractal, which does the work of animating the
fractal
- I've included three example files. All you have to do to
run the example is load graphics-lib.scm and then load
one of these three files:
- If you want to do more with stk-specific graphics, you can
do something like:
(.c 'create 'line 10 20 100 200
'-tag 'cs3
'-width 50
'-fill "#ff0000"
'-capstyle 'round)
- To create movies like those shown here, simply log into an
instructional machine and type:
- unix% ~cs61a/bin/stk
- stk> (load "graphics-lib.scm")
;; make sure it's the new version (with stk animation support)
- stk> (load "ccurve-dragon-anim.scm")
;; the c-curve will now start animating. When you're ready to
animate your own fractal, model it after this file (or any of
the others above) and load it the same way.
- Then, evaluate the line labeled by "write file"
at the end of ccurve-dragon-anim.scm, and it will dump
the screen to gifs.
- Then, if the animation looks great, has been approved by
Dan, and you don't have Quicktime Pro installed, package up all
the gif files into a single zip file and email that to Dan
who will convert your frames into a movie using Quicktime.
- Or, you can use one of the following utilities to make an
animated GIF:
 |
 |
 |
 |
Sierpinski Square |
Sierpinski Square Alternate |
Dragon Curve |
C-Curve |
- Bring with you to the meeting (mtg postponed until next
week...sorry!)
- Floppy disk with your code on it
- A printout of your fractal animated half-way through an early
recursion level (e.g., 1.5)
3 - Rotater & Home Page
(due at the 2001-10-04
@ 6pm mtg)
|
- Goal: To start playing with Rotater and create your
own homepage
- Rotater is a program which will allow you to view and rotate
3D models.
- Install Rotater on your Mac / Windows 95/98 machine
- Download some (all?) of the rotater files
- Hand-create a fun rotater file to make sure you understand
the
format, no need to turn it in
- Think of an interesting fractal which you'll implement next
week
- Your homepage will be the global repository for all your
work this semester.
- At the end of the semester, we'll copy your entire WWW directory
to archive it.
- Put everything you do for all projects on this page
- Resources:
- Bring with you to the 6pm meeting
- Your work from last week
- The URL from your homepage so we can link to it.
4 - Procedurally generate fractal
Rotater file from Scheme
(due at the 2001-10-11
@ 5pm mtg)
|
- Goal: To use Scheme to procedurally generate a 3-D
fractal to be viewed in Rotater
- You'll use similar Scheme graphics routines to write a series
of 3D fractal Rotater files based on the same 3D fractal at different
levels of recursion.
- Name them YourNameFractalnameNum.rot, e.g.,
- DanGarciaBigTree0.rot
- DanGarciaBigTree1.rot
- DanGarciaBigTree2.rot
- Resources:
- Bring with you to the 5pm meeting
- Put a 100x100 image of your 3D object from a Rotater screenshot
linked to your Rotater file, just shown above
5 - Install SLIDE and play
with it
(due at the 2001-10-18
@ 6pm mtg)
|
- Goal: To install Slide and play with it
- We'll be using it for the next several weeks to explore interactive
graphic routines.
- Play with it and create a small file with geometry that you
can control with a slider
- Resources:
- Bring with you to the 6pm meeting
- Questions about Slide
6 - Create your first dynamic
SLIDE object
(due at the 2001-10-25
@ 5pm mtg)
|
- Goal: To understand Slide some more
- Create a new dynamic Slide file controllable via Tcl/Tk sliders
and put it on your WWW page
- Resources:
- Bring with you to the 5pm meeting
- Your slide file on a floppy
7 - Create your first static
SLIDE object
(due at the 2001-11-08
@ 5pm mtg)
|
- Goal: To create your first static slide file
- Create a new static Slide file controllable via Tcl/Tk sliders
and put it on your WWW page
- Resources:
- Bring with you to the 6pm meeting
- Your slide file on a floppy
- Note, this is a two-week project!
8 - Create your second 3D static
SLIDE object
(due at the 2001-11-15
@ 6pm mtg)
|
- Goal: To create your second 3D slide file
- Create a second 3D Slide file based on suggestions and edits
of your first
- Resources:
- Bring with you to the 5pm meeting
- Your slide file on a floppy
- Note, this is a two-week project!
9 - Generate 3D sculptures
from the best SLIDE files!
(due at the 2001-11-29
@ 6pm mtg)
|
- Goal: To render the best SLIDE files into 3D sculptures
- The best SLIDE files will be tweaked and chosen to be rendered
to a 3D sculpture!
- Resources:
- Bring with you to the 5pm meeting
- Your slide file on a floppy