Loading...

Messages

Proposals

Stuck in your homework and missing deadline? Get urgent help in $10/Page with 24 hours deadline

Get Urgent Writing Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework & Achieve A+ Grades.

Privacy Guaranteed - 100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

Solar system simulation opengl source code

03/12/2021 Client: muhammad11 Deadline: 2 Day

School of Computing, Science & Engineering Assessment Briefing to Students

Learning Outcomes of this Assessment A2 - show awareness of a variety of graphics toolkits and select an appropriate one for a given task A3 - discuss the capabilities of various input and output devices and their relationship to graphics programming A4 - use appropriate mathematics to perform standard graphical transformations A5 - 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.

Assessment Title : Computer Graphics Assignment 1: OpenGL Programming - Solar System

Module Title : Computer Graphics

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 (http://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. Workload This assessment should require approximately 60 hours of effort.

Marking scheme The work will be assessed using a marking grid comprising 4 equally weighted components (provided below). This is indicative of the standard of work required at different levels within the assignment

Assessment criteria

0-19% 20-39% 40-59% 60-79% 80-100%

Level 6 Assessment Scale

Extre mely Poor

Very poor Poor

Unsatis factory

Adequat e Fair Good

Very Good Excellent

Outstandi ng

http://www.opengl.org/
Design and implementation of Data Structures

Definition of a basic body structure(s) (non dynamic) to encapsulate the parameters required for simulation and rendering

Implementation of fixed size data structure for planetary/solar system.

Definition of a refined structure(s) to encapsulate parameters for rendering and simulation with additional functionality for occupancy of a basic dynamic data structure

Implementation of a dynamic data structure with facilities for addition/removal of elements at end points

Definition of an extended structure(s) to encapsulate parameters for rendering and simulation with additional functionality for occupancy of an advanced dynamic data structure for storage of entity of a single type or form

Implementation of a dynamic data structure with facilities for addition/ removal of elements within data structure and at end points without incurring memory leakage.

Definition of an extended generic single structure to encapsulate all possible parameters for rendering and simulation with additional functionality for occupancy of an advanced dynamic data structure and support for refined rendering solutions.

Ability to store and manage entities with differing representational types (geometries)

Ability to snapshot and write current data state to a file format of your own devising.

Implementation of a dynamic data structure with facilities for addition/removal of elements within data structure and at end points

Definition of an extended generic single structure to encapsulate all possible parameters for rendering and simulation with additional functionality for occupancy of an advanced dynamic data structure and support for refined rendering solutions.

Ability to store and manage entities with differing representational types (geometries)

Ability to add non- simulation bodies to the render-able population.

Ability to snapshot and write current data state to a file format of your own devising.

Ability to read a stored data description into a switchable data model.

Implementation of multiple, switchable dynamic data structures with facilities for addition/ removal of elements within data structure and at end points

Simulation Component

Initialisation of data model based a set number of bodies hard coded parameters

Basic animation of bodies enacted using time based manipulation of the rendering system (eg using glRotate)

Basic progression of simulation applying velocity to update position without considering forces in system

Initialisation of data model based a set number of bodies with randomised parameters.

Basic progression of simulation applying velocity to update position without considering forces in system

Fixed simulation time

Initialisation of data model based a random number of bodies with randomised parameters.

Runtime addition of bodies to simulation in response to user request.

Progression of simulation using forces derived from body masses to update acceleration and velocity for planets (i.e. basic orbits should be formed)

Damping of system used to ensure that stable energy levels are achieved (ie simulation system does not become unstable)

Maintenance of a fixed length trail (position history) for each body

Fixed simulation time, based on monitor refresh rate

Initialisation of data model based a random number of bodies (with different representation forms) with randomised parameters.

Runtime addition of bodies to simulation in response to user request.

Runtime addition of bodies in response to user instruction to maintain a set population.

Progression of simulation using forces derived from body masses to update acceleration and velocity for planets (i.e. basic orbits should be formed)

Damping of system used to ensure that stable energy levels are achieved (i.e. simulation system does not become unstable)

Collision detection of bodies with basic collation of parameters (i.e. no prioritisation) and removal of redundant body.

Maintenance of a controllable length

Initialisation of data model based a random number of bodies with randomised parameters and randomised sets of representations

Runtime addition of bodies to simulation in response to user request.

Runtime addition of bodies in response to user instruction to maintain a set population and/or performance

Progression of simulation using forces derived from body masses to update acceleration and velocity for planets (i.e. basic orbits should be formed)

Dynamically controlled damping of system used to ensure that stable energy levels are achieved (i.e. simulation system does not become unstable)

Collision detection of bodies with priories collation of parameters preserving the major body and removal of the redundant body

Rendering & Display

Basic sphere based rendering of the bodies within the system using retained colour values and positions to draw the body

Externalised rendering function which queries data structure

Basic sphere based rendering of the bodies within the system using retained material values and positions to draw the body.

Body size based on mass

Externalised rendering function which queries data structure

Basic sphere based rendering of the bodies within the system using retained material values and positions to draw the body.

Body size based on mass Trail rendering using simple unlit line with colour based on material properties.

Rendering function which queries data structure for retained instructions to draw the body and queried positional information.

Multiple object type (at least 5 different types) rendering using standard forms within the GLUT/GLU function set using retained material values and positions to draw the body.

Body size based on mass Texturing of some bodies within the system

Trail rendering using simple unlit line with colour based on material properties.

Inclusion of trail fading of historical position information

Rendering function which queries data structure for retained instructions to draw the body and queried positional information.

Use of client side rendering functionality for trail rendering

Basic sphere based rendering of the bodies within the system using retained material values and positions to draw the body.

Body size based on mass

Texturing of some bodies within the system

Additional body shapes and artefacts included in the body set.

Inclusion of additional rendering features to enhance display (eg fog, particle based trails, etc)

Trail rendering using advanced geometries (ie tape, etc) with colour based on material properties.

Inclusion of trail fading of historical position information

Rendering function which queries data structure for retained instructions to draw the body and queried positional information.

Use of client side rendering functionality for trail rendering

User interface/ Interaction

Basic key controls to enact user interaction and control of the simulation environment

Basic key controls to enact user interaction and control of the simulation environment

Menu based systems for user interaction and control of the simulation environment

Basic key controls to enact user interaction and control of the simulation environment

Menu based systems for user interaction and control of the simulation environment

User interaction functionality to enable control of global rendering features (ie affects all bodies)

Basic key controls to enact user interaction and control of the simulation environment

Ability to lock camera focus to a planet with viewpoint tracking motion. Navigation becomes relative to planet

Menu based systems for user interaction and control of the simulation environment

User interaction functionality to enable control of global rendering features (ie affects all bodies)

Selection of bodies based on mouse pointer position

User interaction functionality to enable control of specific features for simulation and representation

Basic key controls to enact user interaction and control of the simulation environment

Ability to lock camera focus to a planet with viewpoint tracking motion. Navigation becomes relative to planet

Multiple modes of navigation

Menu based systems for user interaction and control of the simulation environment

User interaction functionality to enable control of global rendering features (ie affects all bodies)

Selection of bodies based on mouse pointer position

User interaction functionality to enable control of specific features for simulation and representation

Submission Details Work should be submitted as a zipped file through the blackboard assignment system. The zip file should contain a copy of the entire visual studio solution directory structure, with an executable version of the programme, and an annotated copy of the criteria based marking grid in which you have performed a self assessment of your work. You should also include a basic instruction document and explanation of any advanced features implemented.

Feedback Feedback, in the form of an personalised annotated marking grid and comment sheet will be available within 3 working weeks of the submission date. Given the large cohort size for this module there is a slight possibility that marking and provision of high quality feedback may take slightly longer. In this case the tutor will notify the group as soon as this becomes apparent and provide regular updates on progress. These will be available from the module tutor (by appointment) and will be delivered with a discussion of the work submitted.

Homework is Completed By:

Writer Writer Name Amount Client Comments & Rating
Instant Homework Helper

ONLINE

Instant Homework Helper

$36

She helped me in last minute in a very reasonable price. She is a lifesaver, I got A+ grade in my homework, I will surely hire her again for my next assignments, Thumbs Up!

Order & Get This Solution Within 3 Hours in $25/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 3 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 6 Hours in $20/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 6 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 12 Hours in $15/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 12 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

6 writers have sent their proposals to do this homework:

Top Academic Guru
Assignment Solver
ECFX Market
Financial Assignments
Online Assignment Help
Buy Coursework Help
Writer Writer Name Offer Chat
Top Academic Guru

ONLINE

Top Academic Guru

Being a Ph.D. in the Business field, I have been doing academic writing for the past 7 years and have a good command over writing research papers, essay, dissertations and all kinds of academic writing and proofreading.

$16 Chat With Writer
Assignment Solver

ONLINE

Assignment Solver

I am an experienced researcher here with master education. After reading your posting, I feel, you need an expert research writer to complete your project.Thank You

$43 Chat With Writer
ECFX Market

ONLINE

ECFX Market

I am a professional and experienced writer and I have written research reports, proposals, essays, thesis and dissertations on a variety of topics.

$15 Chat With Writer
Financial Assignments

ONLINE

Financial Assignments

I have read your project description carefully and you will get plagiarism free writing according to your requirements. Thank You

$45 Chat With Writer
Online Assignment Help

ONLINE

Online Assignment Help

As per my knowledge I can assist you in writing a perfect Planning, Marketing Research, Business Pitches, Business Proposals, Business Feasibility Reports and Content within your given deadline and budget.

$19 Chat With Writer
Buy Coursework Help

ONLINE

Buy Coursework Help

I am an experienced researcher here with master education. After reading your posting, I feel, you need an expert research writer to complete your project.Thank You

$47 Chat With Writer

Let our expert academic writers to help you in achieving a+ grades in your homework, assignment, quiz or exam.

Similar Homework Questions

Political Science week 6 Discussion - Ally from fish in a tree - Ipolis mobile setup android - Payems fred - Staffordshire council large item collection - APA Format assignment - Focused cough assessment shadow health - Unwanted film clip crossword clue - Help need for research class (2) - Bcc city plan mapping - Uses of the erotic the erotic as power - Sci 207 week 4 lab answers - InfoTech in a Global Economy - Bundaberg north state high school - Personal helpers and mentors program brochure - What is a thesis driven essay - Krispy kreme donut fundraiser - Another brick in the wall part 2 video - Linux, Live CDs and Automated Tools RESPONSE - Lifestyle and health practices profile - Suppose that xtel currently is selling - Inguinal hernia left icd 10 - Bxt 90t5 590 replacement - Cognitive behavioral therapy test questions - Annotated Bibliography - Oracle partner network cost - The lagoon by joseph conrad answers - Why are ethics considered so important when studying organizational behavior - Eastern suffolk boces special education - Nightfall the ordeal torch in the night destiny 2 - Security testing test plan document - Gopro case study strategic management - St andrews cross bdsm - Penn foster written communication exam answers - The house on mango street those who don t - Domestic companies facing competitive pressure from lower-cost imports - Training - Dr pepper snapple mission statement - Costco opti club st jerome - Martin aircraft company of new zealand - Titration technique using a buret - Temperature coefficient of resistance - Infomine scholarly internet resource collection - Chris21 self service login - Nowra local court hearings - Write a program for process creation using c - New dvd rentals at hastings - Lightning ridge opal festival - Kai edo is a licensed public accountant - Get up and grow healthy eating - Citicorp case study - Bullock and batten four phase model of planned change - Family Support History - Case histories netflix canada - Similar minds personality test - How to find a hamilton circuit - Final Paper - Wella color charm chart - How to find average issue price of common stock - Spine stretch pilates exercise - A dbms uses the ____ to perform validation checks - One smooth stone video - Prejudice in montana 1948 - Summary of major counseling theories - Where did julian jumpin perez go to high school - Macbeth observation interpretation and critique - Short Essay - Charles perkins centre summer research scholarships - Intelligence from secrets to policy pdf - Electrophilic aromatic substitution nitration of methyl benzoate lab report - Dunkin donuts supply and demand - Public Administration - Dar es salaam community bank - For consideration to have "legally sufficient value," it must consist of goods or money. - Rabbit proof fence daisy - Binomial to normal approximation conditions - 0.0625 mg to mcg - Strategic management 9th edition dess - Best ring flash for dental photography - Definition of urban sprawl - Cuando vimos en la calle nos besamos. - Hydration of alkenes practice problems - Advantages and disadvantages of budgeting - Ermogenous v greek orthodox community case summary - Syrian War And EU In A Vulnerable Situation - ORGANIC CHEMISTRY LAB REPORT : RECRYSTALIZING IMPURE SOLIDS: MINISCALE PROCEDURES - Top efficiency %%+27835179056 %%% SAFE abortion pills for sale NAMIBIA Botswana kwazulu_natal WITBANK SECUNDA PONGOLA - 1984 first chapter summary - Writing a check for 1500 - Geopolitical community nursing - ATTN: PAPERSGURU-- POWERPOINT - What is interpersonal learning - Claim and adjustment letter - Math project(writing proofs) - Which gas would you test for with a lighted splint - List of distributed databases - Interlink express tracking number - Stuffed mole project ideas - Discussion & Journal - Marketing management 5th edition by dawn iacobucci pdf