CECS Home | ANU Home | Search ANU
The Australian National University
ANU College of Engineering and Computer Science
School of Computer Science
Printer Friendly Version of this Document

UniSAFE

COMP2720 • 2008
Assignment 1

Due week 8 (Monday 8 September, 18:00 EST)

This assignment is worth 15% of your total course mark. It will be marked out of 15 as indicated below.

The estimated time we expect you to spend on this assignment is around 15 hours in total (1 hour per mark).

 


Picture "slide" transitions


Objectives

The objective of this assignment is to use the picture manipulations techniques learned in the lectures and labs, and incorporate them into a larger program that generates "slide transitions" of one picture onto another picture of the same size. You will implement several prescribed transition effects, as well as some chosen by yourself.

Compulsory transition types (must be implemented):

  1. Push (again, choose one — Up, Down, Left, or Right) Cover

  2. Fade Through Black, or Fade Through White

    Fade-out transition
    W_thumb-up arrow fade_in transition fade_out arrow W_worry

  3. Vertical Venetian Blinds, or Horizontal Venetian Blinds (5 or 6 blinds) — check OpenOffice or Power Point to see details (pretty obvious)

    Venetian Blinds

Plus two more advanced transitions of your own choice, for instance:

  1. Shape Plus, or Shape Circle, or Shape Diamond — check Adobe Reader slide transition effects for details

    Shape transitions — plus, circle and diamond
    S_Plus S_Circle S_Diamond

  2. 3 Spokes Wheel (Clock- or Counter-Clockwise)

    Three Spikes Wheel

Alternatively, instead of the advanced two transitions listed above you can implement one super-advanced

  1. If the last two types of transition look too repetitive and not challenging enough, consider one only advanced transition, which is worth of the above two — Zoom, In or Out — check Adobe Reader slide transition effects to see an example of zooming transition. Note: this type of transition can be both algorithmically complex, and even more demanding on run-time resources (takes long time to run even for relatively small images).


Submission

You will have to submit one program file in this assignment and two JPEG picture files:

  1. The Python/JES program, named transitions.py, that contains all manipulation functions you implemented. This program should be based on the program skeleton transitions.py.

    Make sure that you fill in the preamble at the beginning of the transitions.py program with your details!

    Any program file submitted without a completed preamble will be rejected without being marked.

  2. The two JPEG picture files, picture1.jpg and picture2.jpg which you used as sample initial and final transition pictures in your work. These pictures should not be too large (between 200×200 and 300×300 is sufficient size), and they must not be squares of the equal size. One of the assignment tasks is to re-scale the pictures to equal dimensions before generating the transtions.

More details about program tasks and the structure of transitions.py program are given in the assignment elaboration on tasks and hints below.


Submission protocol

To submit you work, you will have to use the command-line interface (ie, to open the Konsole and execute the submission command by typing and hitting the return button.)

Log into your DCS account (ground floor computer rooms), and execute the following steps:

  1. Start the Terminal (aka Konsole) application.

  2. cd into your assignment folder, something like this (replace u1234567 with your Uni ID):
         cd ~/u1234567/comp2720/ass1
         

  3. Now you can use the submit command to submit your assignment files:
         submit comp2720 ass1 transitions.py
         submit comp2720 ass1 picture1.jpg
         submit comp2720 ass1 picture2.jpg
         
    Note that submit will only accept these three file names (case sensitive, so you must use lowercase!).

  4. Note that you can submit a file many times, we will always keep the last two submissions.

  5. Finally, you can check your assignment submission on https://cs.anu.edu.au/streams/ (click on View Marks button).

If you work on a different machine (your home computer or on one of the InfoCommons computers) and need to log in to your DCS account or transfer file to your DCS account (using the network, not a USB memory stick), you can achieve this by opening the Terminal or shell application and then use the following commands:

  1. To connect to you DCS account (replace u1234567 with your Uni ID):
         ssh  u1234567@partch,anu.edu.au
         
    and answer "yes" if required and type in your password. Upon logging in, you can navigate you directory using cd command.

  2. To copy files to the DCS directory from a computer outside DCS, do one of the following commands (assuming you are inside the folder which contains the file myfile.py you want to transfer:
    	scp myfile.py u1234567@partch.anu.edu.au:comp2720/myfolder/
         
    or, alternatively, to transfer all files in the current folder to the DCS account:
    	rsync -avuz * u1234567@partch.anu.edu.au:comp2720/myfolder/
         

 

All files must be submitted by Monday 8 September 18:00 EST


Extensions

Students will only be granted an extension on the submission deadline in exceptional circumstances. Work and sporting commitments are normally NOT sufficient grounds. If you think you have grounds for an extension, you should notify the course coordinator as soon as possible and provide written evidence in support of your case (e.g. medical certificate). The course coordinator will then decide whether to grant an extension and inform you as soon as practical.


Late Penalties

Penalties for late submissions are as follows.

How late less than 6 hours 6 to 24 hours 24 to 48 hours 48 to 72 hours 72 to 96 hours more than 96 hours
Penalty from 15 marks -0.5 -1 -2 -4 -8 -15 (forget it!)

Late penalties apply even if you submit just one file after the deadline.


Plagiarism

You should read the chapter in the Department of Computer Science Student Handbook that discusses assessment (Chapter 6, pages 17-25), particularly the sections headed Misconduct in examinations (which also applies to assignments and other forms of assessment) and Guidelines for assignments.

We will compare all submissions electronically, with any that are suspiciously similar being investigated by the lecturer. If such similarities cannot be satisfactorily explained, appropriate action (see the penalties mentioned in the handbook) will be taken.


Elaboration on Tasks

Task 0

The assignment tasks include creating the program with an appropriate structure and implementing the above transitions. When called, the main function slideShow(pic1, pic2) will determine whether the two pictures pic1 and pic2 are of equal size, and, if not — re-size them as required, and then launch the slide show by announcing the type of each transition (by using print command) which is going to be executed.

Tasks 1–5

To get a better idea of the transition nature, examine how they perform in standard applications like Adobe Reader, Power Point, or Open Office. The transitions tasks featured in this assignment are present in Adobe Reader and Open Office under the same name.

I will demonstrate these transitions during Thursday lectures on August 14. More discussion and Q&A session will be conducted during Tutorial–1 "lecture" on August 28 (week 6).

Task 6 — alternative to tasks 4 and 5

The Zoom transition can be examined in Adobe Reader. There are two types: Zoom-in and Zoom-out. You can choose either of them. The zoom transition will require an auxiliary function to display a scaled-down copy of a picture, centered at some inner point, which may (as in Adobe Reader) or may not (to simplify things a bit) also be "running" during the actual transition.


Hints

  1. Do not work with large images! As a matter of fact, work with small images — 200 to 300 pixels of both dimensions, not more. Otherwise, the processing time will be too long and this can adversely affect you work.

  2. When considering a "boundary" transition — all the assignment transitions except for the fading in/out transition (transition N°2) — consider an intermediate moment in transition and describe the position of the separating boundary in terms of a controlling parameter, like the radius of expanding circle (in Shape Cicle), or the horizontal bar (in Push Down), etc. Then try to determine whether a pixel with the coordinates (x,y) belongs to the area occupied by the old (new) image.

  3. Limit the number of steps in which a transition is realised. 10 is sufficient, but if the running will be slow, try to lower it down. Try to make the transition uniform, ie. undergoing with constant rate.

  4. For additional information look at the lecture slides: Pics-4, slides 22–25 and Pics-8, slides 23, 24


Marking

The assignment marks will be awarded as follows:

0. For creating the program structure as exemplified in the transitions.py template, and implementing the picture size check and resizing 1.5 point
1. For implementing the Push transition 2.5 points
2. For implementing the Fade-out transition 2.5 points
3. For implementing the Venetian Blinds transition 2.5 points
4. For implementing first advanced transition
(eg, Shape or similar)
up to 3 points
5. For implementing second advanced transition
(eg, 3 Spokes Wheel or similar)
up to 3 points
6. For implementing the Zoom transition
(instead the transition tasks 4 and 5)
6 points

Last modified: 14/09/2008, 22:11