In this section of the course we will be learning about the principles of 2D graphics and basic image manipulation.
Schedule
Lecture | Topic | Reading Sources 1 |
---|---|---|
|
||
1 | Overview, Basic Concepts and Java2D Tour |
KNUDSEN, Chapters 1&2 Additional Notes |
2 | Colour, Colour Spaces and Colour Maps |
KNUDSEN2, Chapter 8, Chapter 11 p227-254 Additional Notes |
3 | Aliasing and Images |
KNUDSEN, Chapter 5, p95-104 Additional Notes |
| ||
4 | Image Processing |
WATT3, Sections, 9.1 (not9.1.5)
KNUDSEN, Chapter 5, p95-104 Additional Notes |
5 | Vector Maths |
AMMERAAL, Sections 3.1-3.6
ROWE, Sections 2.1, 2.2 KNUDSEN, Chapter 5, p81-95 Additional Notes |
6 | Shapes, Curves and Fonts |
AMMERAAL, Section 4.1
WATT, Sections 7.1, 7.2 KNUDSEN, Chapter 3 Additional Notes |
|
||
7 | Scene Graphs |
SLATER, Section 8.4
Additional Notes |
8 | Line Drawing |
SLATER, Section 17.3
AMMERAAL, Section 4.5 Additional Notes |
9 | Scan Conversion |
SLATER, Chapter 12
ROWE, Section 1.12 Additional Notes |
1 The books referred to (which should all be in the library) are:
- Knudsen, J, "Java 2D Graphics", O'Reilly
- Watt, A, Policarpo, F, "The Computer Image", Addison-Wesley
- Rowe, G, W, "Computer Graphics with Java", Palgrave
- Ammeraal, L, "Computer Graphics for Java Programmers", Wiley
- Slater, M, Steed, A, Chrysanthou, Y, "Computer Graphics and Virtual Envrionments", Addison-Wesley
3 In Section, 2.1.8, note that a slightly different edge detection filter is used than we used in the lectures. The two filters detect slightly different types of edge. (Ours is better at horizontal and vertical lines).
Course Material and Notes
Lecture Notes
There is no official book. However, I will supply notes as we go along.Java2D
Most information on the programming side comes straight from the source. The Java2D API Technology.Other Resources
As indicated above, there is no single textbook for this course since books in this area tend to treat 2D graphics as a pre-cursor to 3D or image processing and thus they all miss large pieces of background.If you are desperate to have large amounts of dead tree in your hands, I suggest reading or (if you are rich) buying the following book which will help you understand Java2D and some of the underlying algorithms:
- Java 2D Graphics by Jonathan B. Knudsen (O'Reilly)
- Computer Graphics and Virtual Enviroments by Slater, Steed and Chrysanthou (Addision-Wesley)
-
Computer Graphics in Java by Leen Ammeraal, Leendert Ammeraal
Hard to find, but it gets good reviews. -
Computer Graphics with Java by Gleen Rowe, Palgrave
Has some in-depth material on how to implement many classic 2D algorithms in Java. However the 2D section is short, and then he talks about Java3D which we don't use. - Java 2D API Graphics by Vincent Hardy (Prentice Hall)
-
Graphics Programming with Java (2nd Edition) by Roger T. Stevens
Very introductory level about Java2D and does not talk about the underlying algorithms. -
The Computer Image by Watt and Policarpo
An introduction to many areas of graphics, from image processing through, vision to 3D Graphics. Useful as a basic reference if you are interested generally in graphics.
Lab Exercises and Coursework
There will be one un-marked lab exercise and one marked coursework. The un-marked exercise is in preparation for the coursework, so you should attempt it and get feedback from the lab demonstrator Neill Campbell in the lab sessions.The marked coursework, comprises a small number of programming exercises. Overall, coursework is worth 5% of the mark for 2011.
Lab Sessions are Fridays 14:00-16:00 in MPEB 1.21
- Lab Exercise (weeks 2&3)
Purpose: Familiarity with Java2D, a little image processing. - Coursework (weeks 3&4&5)
Purpose: Curves and Hierarchical Transformations.
Submission Date: Monday, Friday February 10th 2012 at 11:55pm (Moodle).