Project #2 () - Computer Science Department

Download Report

Transcript Project #2 () - Computer Science Department

Programming Project #2
(Moldels of Computation, Spring, 2001)
Due: April 20 (Friday)
This assignment is the second half of the programming project which implements the L-system simulator(LSS).
In this project you extend the program from part 4 of Project #1, and implement the complete LSS. The extension
will be straight forward, if you have your program correctly implemented for Project#1. As we did in Project #1,
given an L-system rule file, your LSS should read the rules off from the file, generate a string by applying the rules
for a given number of iteration (i.e., the k in Project #1) and translate the string into a picture. In this project you will
need to do experiments with several different L-system files to find good L-system grammars that can be translated
into attractive pictures; more specifically, output of two totally different plants and one non-plant picture. You
should do this project according to the following guide line:
1. Read the handout entitled “Lecture Notes in Computer Science: Applications of L-systems to Computer imagery.”
This handout provide excellent information for the project.
2. Before you extend your project #1 program, examine the rule format in your L-system rule file and, if needed,
improve the format. For example, you cannot assume the left side of the rules using decimal digits running 1
through 9, and the start string is 1. Your L-system rules should be able to use other character symbols defined in
your programming language.
3. To make your LSS more efficient for drawing diverse figures, like leaves and flowers in addition to drawing
branches, you may want to change the PenInfo contents while drawing. In particular, it will be more convenient to
be able to change the line segment length, the thickness, the angle, and the color based on the symbol read while
translating the string into a picture. It is a good idea to provide an increment value for each piece of PenInfo in the
L-system rule file at the front of the file before the rules. (Again, the paper in the handout presents a simple idea.)
4. One of your plants should have flowers at the tips of branches with different color from the other parts
(i.e., leaves and branches) of the plant. Notice that the paper in part 1 above has a good example showing how to
make a rule for generating a string for leaves and flowers. To get a good output you will need many hours of
experiments.
1
Programming Project #2 (cont’ed)
5. As soon as you finish your project, write a report (of at lease three pages excluding the output pictures), and make an
appointment with Sam for a demo. Your project report should include the following.
(a) The objective of the project
(b) How you implemented your system:
(i) program and data structure, (ii) restrictions and assumptions, (iii) helps for the users,
(iv) self evaluation for the project, such as difficult problems that you solved for the project, valuable things that you
learned from the project, complaints, etc.
(c) Your LSS output: one tree, one non-tree plant and one non-plant picture. All the three pictures should be in color.
* Please do not include the program list (the source code) in your report.
6. This is individual project. You will be punished according to the school regulation, if you make a copy of other person’s
program or L-system rules. To support this policy, sign and hand in the attached “Proclamation of Conscience” as you did
for Project #1, together with your project report. Your project will be evaluated according to the following policy:
(a) Report: 20%
(b) Demo : 80% ( completeness: 40%, output: 40%)
7. Notice that the due date of the project is toward the end of the semester and, hence, try your best to finish it as early as
possible.
** At the end of the semester, we will open “L-system Contest” with all the outputs displayed. Best LSS systems will be
awarded with a prize (value is not disclosed) donated by an unanimous tycoon.
2
Proclamation of Conscience
April _______ , 2001
I firmly proclaim with my conscience that all
the programs in my programming project #2
have been implemented by myself.
Section#_____ Name(print)_______________ (sign)__________
3