Design and implementation of the simulation component

Assignment Help Computer Graphics
Reference no: EM131344131

Computer Graphics Assignment: OpenGL Programming - Solar System

Learning Outcomes of this Assessment

- Show awareness of a variety of graphics toolkits and select an appropriate one for a given task

- Discuss the capabilities of various input and output devices and their relationship to graphics programming A4 - use appropriate mathematics to perform standard graphical transformations

- Application of graphics programming skills in a real-world application

Key Skills to be Assessed

C/C++ programming Use of OpenGL API

Application of low level graphics principles & data management techniques for developing interactive graphics application Critical Evaluation of tools used

The Assessment Task

Your task is to demonstrate your newly acquired skills in C and OpenGL programming. This will be achieved by producing a demonstration application that will offer a simple visualisation comprising a collection of discrete objects located in a navigable space. Fundamental to the successful completion of this assignment is careful consideration of the management of scene data, using resizable dynamic memory structures, and the application of appropriate mathematical models for simulation, navigation and interaction.

The form of this assignment will be a basic solar system simulation in which a dynamic collection of planetary bodies will be simulated. These bodies will be represented by simple graphical forms and have the ability to show a historical trail of their movement. The bodies motion should be defined by a simple gravitational system simulation which calculates forces based on the masses of the bodies and uses this to derive discrete step changes to acceleration and velocity.Inital starting conditions for the planetary bodies should be random (mass, position, starting velocity and material (colour)). Advanced solutions should consider the actions taking place when collisions between bodies occur. In these cases the collision should be detected. The mass and velocities of the bodies should be combined (thereby removing one of the bodies from the data structure) with the major body taking priority. Ideally the size of the resultant body should be changed to reflect the enhanced mass. You should also provide mechanisms to add bodies during the runtime of the simulation (based on random data) both at user request and to maintain a set number of bodies in the system.

You are provided with an example solution to evaluate and a template project, including a maths library, camera model and basic utilities as a starting point.

The implementation of the assignment problem will be assessed in the following areas

1. Design and implementation of a suitable dynamic data structure that will maintain an ordered list of the render-able objects with facilities to add and remove entities at the beginning, end and middle of the list. This structure should support an efficient rendering process for drawing the objects as part of the rendering cycle and provide the data components necessary for efficient progression of simulation.

2. Design and implementation of the simulation component. This will provide initialisation of the data structure and enable discrete updates (progression) of the model based on accepted principles of force and motion. The simulation should support features to start and stop updates, add new entities, etc. Advanced solutions may include functionality for automated collision detection and response.

3. Rendering processes. The basic visualisation required is for simple spheres to represent planets, with a dimension (radius) proportional to the mass and randomised materials. More advanced solutions should include a variety of geometric forms for representing planetary bodies. An extension of this is to include a trail for the bodies motion, represented as a line curve. Better solutions will seek to utilise rendering efficiencies (display lists and client side rendering functions) to optimise the graphical display. Advanced solutions may seek additional graphical fidelity with the use of texture and additional rendered artefacts/forms to enhance the visual display, e.g. texture of planet surfaces, fading of planetary trials, variable length/number of trails, support for non-simulated features (e.g. dust clouds, spaceships, lens flare, etc) .

4. User interaction. Basic solutions will use the camera model provided and simple key presses to control the simulation parameters. More advanced solutions should seek to use the menu system to provide graphical command structures. Very advanced solutions may seek additional user functionality. These may include selection and manipulation of parameters for a specific body, variation/control of the graphical representations (e.g. changing the representation/length of trails) and in very advanced cases may also include features such as the ability to change focus of the navigation mechanism to enable relative navigation/tracking of a single body, and/or changing the mode of navigation

Throughout the implementation you should seek to apply best practices for C coding and programming methodology. All code should be clearly presented using a consistent style and format. More advanced solutions may also consider decomposing code into multiple files or libraries. The assignment must be delivered as a Visual Studio (2015) project that will both compile and run without modification. Submission should be as a single zip file including all source code, project files and a running executable.

Recommended Reading

The OpenGL website (https://www.opengl.org/) will be invaluable in helping you to complete this assignment. Key areas within this site are the reference documentation and the example programmes

Equipment and Facilities to be Used

The university laboratory computers are installed with MS Visual Studio 2010. A template application (Visual Studio solution is provided) and a working executable is also provided for reference.

Reference no: EM131344131

Questions Cloud

Explanation for one of the evidenced-based practices : Adding a detailed explanation for one of the evidenced-based practices (EBP) you have listed for each row. Use your originals to then select one to explain per category
What is the value if it is european option : A stock is presently selling for $100. over each of the next two months, the stock will either increase of decrease in value by 9%, and will not pay any dividends. The risk-free rate is 2% per month. What is the value of the option if it is an Americ..
Compute the weight of the chassis : When the tray is in the raised position, the rear axle load increases to 48 700 lb. Compute the weight of the chassis, the weight of the tray, and the distance x.
Mole fraction of pentane in a pentane-hexane solution : At 25°C the vapour pressure of pure pentane is 511 torr and that of hexane is 150. torr. What is the mole fraction of pentane in a pentane-hexane solution that has a vapour pressure of 302 torr at 25°C?
Design and implementation of the simulation component : Design and implementation of the simulation component. This will provide initialisation of the data structure and enable discrete updates (progression) of the model based on accepted principles of force and motion.
Balanced chemical equation for reaction : 1) Write down the balanced chemical equation for this reaction. 2) Define the type/types of the reaction; assign the oxidation number of Manganese in potassium permanganate and manganese (II) sulfate. Also, offer an explanation for the color chang..
Find the angle ? for which the 1250-n homogeneous cylinder : Determine the angle θ for which the 1250-N homogeneous cylinder will be in equilibrium in the position shown. Also, find the tension in the rope AB.
What gas can be substituted for neon and why : What gas can be substituted for neon and why? How would the new gas be different than the neon gas?
Examine ways that cultural expressions influence daily life : Examine the ways that cultural expressions influence your daily life. You are welcome to use images in this Assignment, however, the written content needs to be at least 750 words

Reviews

Write a Review

 

Computer Graphics Questions & Answers

  Distinguish distinguish between uniform scaling and

distinguish between uniform scaling and differential scaling.differentiate between translation and

  Describe one software security feature the parents

Describe one software security feature the parents could use to prevent the children accessing inappropriate content on the Internet.

  How long would it take to load a 640 by 480 frame buffer

How long would it take to load a 640 by 480 frame buffer with 12 bits per pixel if 105 bits can be transferred it take to load a 24 bit per pixel frame buffer with a resolution of 1280 by 1024 using thus some transfer rate?

  Direct mapping

A block direct mapping cache has line/slot that contains 4 words of data. The cache size is 16k line. Main memory contains 16k blocks of 128 byte each.

  Develop a five-year strategic plan with cost estimates and

develop a five-year strategic plan with cost estimates and a time line.describe the situation facing mensa at the time

  What do you understand by 3d transformation

What do you understand by 3-D transformation? Give matrix of scaling, transformation & rotation.

  Create a simple warm-up program using your g3d

Create a simple warm-up program using your G3D programming and graphics environment.

  Retieving a value using d["susan"]?

Suppose d = {"john":40, "peter":45}, what happens when retieving a value using d["susan"]?

  Computer systems and a printer wirelessly

The McTavish family connects their three computer systems and a printer wirelessly within their home.tate one additional hardware requirement for setting up this network.

  Choose an industry in which two or more companies has

choose an industry in which two or more companies has historically competed to maintain a significant share of the

  Design and implement a graphical user interface

Design and implement a graphical user interface (GUI) that lets a user draw geometric objects such as rectangles, line or circles segments. The geometric objects are two be "entered" with clicks of the mouse

  What does resolution mean

What does resolution mean How is resolution connected to ppi and dpi units

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd