diff_months: 12

COMP1005 Fundamentals of Programming Assignment

Download Solution Now
Added on: 2023-05-12 08:01:07
Order Code: clt316770
Question Task Id: 0

1 Preamble

In practicals you have implemented and learned about simulations, object-orientation and (soon) how to automate the running of multiple simulations. In this assignment, you will be making use of this knowledge to extend a given simulation to provide more functionality, complexity and allow automation. You will then report on the results generated by the simulation.

2 The Problem

You will be simulating a concert stage for mythical rock band Spinal Tap. The stage will consist of lights; smoke machine; props/band; backdrop and choreography. We should have at least two plots – one of the lights alone and one looking at the stage from the audience. The model can be assumed flat/2-D – there are bonus marks for 3D, but not required.

We will provide some sample code to start this assignment, and additional code showing a range of approaches to assignments from previous semesters. For the assignment, you will develop code to model the lights using objects, and to add features to the simulation (e.g. more functionality, props, graphics). Your task is to extend the code and then showcase your simulation, varying the input parameters, to show how they impact the overall simulation.

Note:

You do not have to use the supplied sample code, however, any other code that you have not written (e.g. sourced from others, online or generated etc.) will not receive marks. Lecture/practical and test materials from COMP1005/5005 are exempt, but must be referenced.

The required extensions are:

  1. Lights: Represented as objects that “know” their colour, position, direction and intensity (0-11). We are mainly focussed on down-lighting, Lights can be grouped to work as synchronised sets. Lights may be solid colours, combinations of colours, patterns/shapes (gobo stencils) or lasers.
  2. Smoke machine: There should be one or more smoke machine objects, which should include position, direction, intensity (0-11). Smoke should diffuse using a choice of Moore or Van-Neumann neighbourhood.
  3. Props/Band: The props/band should be objects with a position and shape, and may be stationary or moving. You should decide how they impact the lighting on stage
  4. Prompts: How will the props/band be represented in the simulation? Will the stage view become back/white/coloured or have a halo around the props/band?
  5. Backdrop: The backdrop for the stage defaults to black or is read from a file. You need to decide a suitable file format and whether it defines the stage size, or is scaled to the pre-defined stage size.
  6. Choreography: This allows a pre-set pattern of lighting and stage movement to be read in from a file. The file will need to define the required lights, smoke machine, props/bands and backdrop, then control these with references/commands.

Note:

Parts 1-4 can be implemented and tested (mostly) independently of each other.

You can begin with hard-coded values and filenames, but should move to prompting for values, or a better approach is to use command line arguments to control the parameters of the experiment/simulation.

Your code should include comments to explain what each section does and how. This will affect your readability score in our marking.

It is useful to keep track of your changes in the comments at the top of the program. Feel free to re-use the code and approaches from the lectures and practicals. However, remember to cite/self-cite your sources. If you submit work that you have already submitted for a previous assessment (in this unit or any other) you must specifically state this.

Beyond the working program, you will submit a document: the Project Report, worth 40% of the assignment marks. This is described later in the specification.

There will be bonus marks for additional functionality and the use of more advanced programming techniques (e.g. interactivity, high quality visualisation, 3D space, parameter sweep etc.) but only if they are sensible and done well. Make sure to discuss the additional work in your Report, this will be easy if you make notes and keep old (incremental) versions of your code.

Remember : Think before you code!

You can do a lot of the assignment planning on paper before any coding.

  • Uploaded By : Katthy Wills
  • Posted on : May 12th, 2023
  • Downloads : 0
  • Views : 169

Download Solution Now

Can't find what you're looking for?

Whatsapp Tap to ChatGet instant assistance

Choose a Plan

Premium

80 USD
  • All in Gold, plus:
  • 30-minute live one-to-one session with an expert
    • Understanding Marking Rubric
    • Understanding task requirements
    • Structuring & Formatting
    • Referencing & Citing
Most
Popular

Gold

30 50 USD
  • Get the Full Used Solution
    (Solution is already submitted and 100% plagiarised.
    Can only be used for reference purposes)
Save 33%

Silver

20 USD
  • Journals
  • Peer-Reviewed Articles
  • Books
  • Various other Data Sources – ProQuest, Informit, Scopus, Academic Search Complete, EBSCO, Exerpta Medica Database, and more