Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
The University of Melbourne
Department of Computer Science and Software Engineering
433-380 Graphics and computation
Project 1, 2006
Set: 17th March
Electronic submission: 4pm, 6th April
Marks: This project counts towards 10% of the marks for this subject
Marks: This project must be done individually
(note: project 2 can be done in groups)
Aim
The purpose of this project is to get you acquainted with programming using OpenGL.
Task
This project concerns the automatic construction of a landscape with using fractal geometry for
generating varied surface properties, such as colour, Lambertian and specular components.
Plasma Fractal
You must use the Plasma Fractal, also known as the Random Midpoint Displacement Fractal, which
is a de facto standard in fractal landscape generation.
The 380 web page has a number of links that have simple explanations of the algorithm.
Specifications and marking criteria
A project that meets all of below will receive 10 marks, 1 mark off for each (bullet) point not met.
• Modelling of fractal landscape:
– Automatic generation of new (randomly seeded) fractal landscape at each invocation and
correct implementation of plasma fractal.
– Appropriate use of OpenGL for representing landscape.
– No significant problems with polygonal representation.
• Surface properties and lighting:
– One light source (such as a small sun or bright moon) with sufficient intensity and sufficient
ambient lighting so areas not directly illuminated by light source are visible.
– Surface colours and terrain correspond in sensible way (for example rocky outcrops or
snow on top of mountains and grass or soil in valleys).
– Lambertian and specular surface properties visible.
– Perspective:
∗ Perspective projection.
∗ Suitable perspective chosen, above the surface and looking down.
Newsgroup consultation
You are encouraged to ask questions, answer questions where possible and share examples of pseu-
docode and/or small examples of code that highlight the correct invocation of OpenGL commands,
JOGL commands or algorithmic techniques.
You are not allowed to exchange complete methods or classes. Remember that copying Java code
from the Internet or from your colleagues will be considered cheating. Note that stage 2 will involve
electronic submission of your code and your code will be checked for similarity between submissions
and with code available over the Internet.
Electronic submission
You code must compile and run on the machines in lab 1.08 using (only) the commands
javac *.java
java Main
Please check that your code works first, before submitting. You must electronically submit all your
Java source code required to run your programs using the submit system by the due date, using the
following command
submit 380 1 *.java readme.txt
The readme.txt file must (briefly) describe your implementation. Be sure to include a brief description
of how you generate the terrain using OpenGL. Several paragraphs of text are sufficient and concise
descriptions are preferred over long, verbose descriptions.
Important: if your code contains code from other sources, in particular from other web sites, you
have to clearly indicate this in readme.txt, which classes or methods are your own and which are
from a different source. Remember that copying Java code from the Internet or from your colleagues
will be considered cheating. We will be checking for similarity between submissions and with code
available over the Internet.
Extensions
Project 2 will rely on code you develop in project 1.
Although not marked in this project, you may choose to try implementing some of the functions
required in project 2, including
• Working navigation along the surface of the landscape using the mouse.
• Maintenance of a constant and reasonable frame refresh rate during navigation (including
possible utilisation of level-of-detail techniques if there are too many polygons to render).