Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
Visual Computing Coursework
Assessment Number: 1
This assignment is worth 30% of the total marks available for this module. If coursework is
submitted late (and where there are no extenuating circumstances):
1 If the assessment is submitted no later than 24 hours after the deadline, the
mark for the assessment will be capped at the minimum pass mark;
2 If the assessment is submitted more than 24 hours after the deadline, a mark
of 0 will be given for the assessment.
Submission Instructions
Complete the programming tasks as described in the Assignment section, and upload the files
listed in the following table onto Learning Central in the CMT107 module Assessment
Coursework section by 6 December 2019 at 9:30am.
Description Type Name
Cover sheet Compulsory One PDF (.pdf) file [student number].pdf
Source code Compulsory A zip file contains one or more
Java files and other files
necessary for the programs to
run correctly
Code_[student number].zip
Readme Compulsory One plain text file indicating
which features you have
implemented
Readme_[student number].txt
Any code submitted will be run on the School provided Linux laptop and must be submitted
as stipulated in the instructions above.
You may copy small code fragments from the CMT107 handouts and lab classes, or any
recommended and background textbooks for CMT107, including from the printed text,
CDs/DVDs, websites, etc. for the textbook, provided that your source code contains clear
reference to the origin of the code. You may not reproduce code written by any other student
or code obtained from any other source not mentioned above. If you are in doubt about
whether you may include a code fragment that you have not written yourself, ask the lecturer.
Do not share your code with the other students, or publish it on any publicly accessible
websites, such as Github, Stackoverflow, etc. You will be under unfair practice investigation
if your code is found almost the same to another student’s, and the possible consequence for
both students is a mark of zero for the assessment or worse.
Use the laboratory classes to get guidance in doing this exercise. You are encouraged to
contact me by e-mail if you have any queries; it may well be possible for me to answer them
almost immediately. If necessary you are welcome to arrange to come and see me
individually about the coursework. But the meeting is only for clarifications about the
question, not for help in solving the problem.
Any deviation from the submission instructions above (including the number and types of
files submitted) will result in a mark of zero for the assessment.
Staff reserve the right to invite students to a meeting to discuss coursework submissions
Assignment
This coursework consists of two parts related to graphics and Image processing, respectively.
For you to complete the coursework in time, you are suggested to complete the graphics part
before the end of week 7, and then finish the image processing part. The total marks assigned
to each part and divided into each task are listed in the brackets.
Graphics [45 marks in total]
Write a program using JOGL to render a 3D scene, which can be navigated in a walk-through
fashion. You are free to choose the scene, but the scene and your program should exhibit the
features described below.
1. Rendering Framework [15]
Implement a framework to render a small shaded 3D scene with JOGL. It should
provide the following functionality:
(a) A rendering system which sets up the scene. It is important that the rendering
system is clearly structured to easily adjust the types and positions of light
sources, and add and remove objects, etc. from the scene (see below for the object
types).
(b) A navigation system which allows the user to display the scene from an arbitrary
camera position with keyboard AND mouse control to facilitate moving about the
scene by adjusting the view direction and moving forward/backward (or a similar
3D navigation system). This should change the view in a natural and predictable
manner.
2. 3D Objects [15]
Use the rendering framework to create a scene which contains at least three objects
shaded with different material properties. Your scene should contain at least one
object that is not provided in the labs, i.e., an object that is not a plane, sphere, cube,
or teapot, and it must be created by yourself rather than from a third party.
3. Texture mapping [15]
Implement the texture mapping on one of the objects in the scene.
Image Processing [35 marks in total]
Write a Java program to implement the Harris corner detector, each step of which should be
clearly shown in the code. It is not allowed to use functions from the computer vision
libraries, such as OpenCV, for the algorithm implementation. You can use the attached image
Room.jpg as a testing example, but you are free to choose any other images for testing. The
program should be able to:
1. Load and display an image to be processed by the algorithm [10]
2. Implement Harris corner detection algorithm [20]
3. Display the corner detection result [5]
Documentation [20 marks in total]
The source code should include concise comments, describing how the program is achieving
the various tasks. A Readme file is required to describe which tasks you have completed.
Learning Outcomes Assessed
? Programming of simple visual computing algorithms, including data handling.
? Understanding of the computational burdens associated with different processing
techniques and be able to select appropriate methods depending on the intended
application and context.