Need the balls to normally distrubute through the box
29/11/2020 1 D DEPARTMENT OF COMPUTER SCIENCE AND TECHNOLOGY COURSEWORK ASSESSMENT DESCRIPTION 2020/21 MODULE DETAILS: Module Number: 700110 Trimester: 1 Module Title: Simulation and Artificial Intelligence Lecturer: Amadou Gning COURSEWORK DETAILS: Assessment Number: 2 of 2 Title of Assessment: Interactive Galton board simulation Format: Program Report Demonstration Method of Working: Individual Workload Guidance: Typically, you should expect to spend between 70 and 100 hours on this assessment Length of Submission: This assessment should be no more than: (over length submissions will be penalised as per University policy) 1500 words (excluding diagrams, appendices, references, code) PUBLICATION: Date of issue: 29th November 2020 SUBMISSION: ONE copy of this assessment should be handed in via: Canvas If Other (state method) Time and date for submission: Time 2pm Date 08 Jan 2021 If multiple hand–ins please provide details: Will submission be scanned via TurnitinUK? Yes If submission is to be scanned byTurnitin, these should be one of the allowed types e.g. Word, RT, PDF, PPT, XLS etc. Specify any particular requirements in the subumission details Students MUST NOT submit ZIP or other archive formats unless specified. Students are reminded they can ONLY submit ONE file and must ensure they upload the correct file. Normally only the LAST submission will be considered (and if late incur a late penalty). The assessment must be submitted no later than the time and date shown above, unless an extension has been authorised on a Coursework Extension Form: see the Canvas site: Help&Support > Student Forms 29/11/2020 2 MARKING: Marking will be by: Student Name ASSESSMENT: The assessment is marked out of: 100 and is worth 50 % of the module marks N.B If multiple hand-ins please indicate the marks and % apportioned to each stage above (i.e. Stage 1 – 50, Stage 2 – 50). It is these marks that will be presented to the exam board. ASSESSMENT STRATEGY AND LEARNING OUTCOMES: The overall assessment strategy is designed to evaluate the student’s achievement of the module learning outcomes, and is subdivided as follows: LO Learning Outcome Method of Assessment {e.g. report, demo} 1 2 Show evidence of a systematic and comprehensive understanding of real-time physically based modelling algorithms and techniques. Critically evaluate, review and amend approaches used to improve these algorithms. Implement real world simulation, applying techniques from mathematics and physics, for use in virtual environments and computer games, using selected mathematical techniques of vectors, matrices and numerical integration. program, report, demo program, demo Assessment Criteria Contributes to Learning Outcome Mark Core features Complete product Core physics Advanced features 1, 2 1, 2 1, 2 1, 2 15 15 50 20 FEEDBACK Feedback will be given via: Verbal (via demonstration) Feedback will be given via: Mark Sheet Exemption (staff to explain why) Feedback will be provided no later than 4 ‘teaching weeks’ after the submission date. This assessment is set in the context of the learning outcomes for the module and does not by itself constitute a definitive specification of the assessment. If you are in any doubt as to the relationship between what you have been asked to do and the module content you should take this matter up with the member of staff who set the assessment as soon as possible. You are advised to read the NOTES regarding late penalties, over-length assignments, unfair means and quality assurance in your student handbook, which is available on Canvas. In particular, please be aware that: 29/11/2020 3 • Up to and including 24 hours after the deadline, a penalty of 10% • More than 24 hours and up to and including 7 days after the deadline; either a penalty of 10% or the mark awarded is reduced to the pass mark, whichever results in the lower mark • More than 7 days after the deadline, a mark of zero is awarded. • The overlength penalty applies to your written report (which includes bullet points, and lists of text. It does not include contents page, graphs, data tables and appendices). 10-20% over the word count incurs a penalty of 10%. Your mark will be awarded zero if you exceed the word count by more than 20%. Please be reminded that you are responsible for reading the University Code of Practice on Academic Misconduct through the Assessment section of the Quality Handbook (via the SharePoint site). This govern all forms of illegitimate academic conduct which may be described as cheating, including plagiarism. The term ‘academic misconduct’ is used in the regulations to indicate that a very wide range of behaviour is punishable. In case of any subsequent dispute, query, or appeal regarding your coursework, you are reminded that it is your responsibility to produce the assignment in question. 29/11/2020 4 Simulation ACW – Interactive Galton Board Simulator The aim of the ACW is to research, design and implement a physically-based modelling demonstrator of the so-called Galton board. Also known as the bean machine, the Galton board is a nice teaching tool for illustrating the sampling process of the normal distribution. Galton Board (left) and 3D simulation aimed for this ACW (right). The demonstrator consists of three components: • at the top, a 3D funnel where objects fall through, • at the middle, a large vertical 3D box with regularly distributed pegs obstacles for falling balls, • at the bottom, a set of vertical bins uniformly distributed horizontally Graphically, the funnel, the box and the tubes can be rendered as semi-transparent or wireframe. Requirements 29/11/2020 5 The funnel Objects are dropped into a large funnel with initially a large number (more than 200) dropped simultaneously. The funnel top diameter is 12cm while its small diameter is 2cm. The funnel is positioned above the box with its small hole positioned approximately at the centre (vertically). The board The board is a box 12 cm tall, 12 cm wide and 4cm in depth. The box has pegs (e.g., small tubes of 0.1cm diameter) regularly distributed 10 rows 10 columns. The board top and down faces are open allowing objects to fall into tubes. The bins The bins are boxes 10 cm tall, 1cm wide and 4cm in depth. Note that the choice of a width of 1cm means that 12 bins are to be created and the objects width should be < 1cm to fit in the bins. in an advanced version, the bins are deformable and can be nets. the objects the objects are balls of maximum 0.9cm diameter. in advanced versions, cubes shapes can be simulated. adding objects the initial placement of objects should ensure that they do not intersect with any existing object. visualization do not use full screen graphics, but ensure that your window is large so that it takes up most of the screen. only simple graphics are required. there will be no marks for shadows, fancy lighting, etc. you must be able to see the interactions of the objects inside of the funnel, box and bins. select appropriate textures for the objects to enable a user to easily determine if the object is: a) at rest or in motion (i.e. objects that the pbm assumes are stationary) b) rotating console output display the following when the values change: 1. number of balls in the system
2. number of cubes in the system (advanced)
3. magnitude of elasticity
4. magnitude of frictional force
controls 29/11/2020 6 the minimum set of controls are as follows: 1. 1 to add a ball
2. 2 to add a cube (advanced)
3. r to reset the system and all objects
4. n to toggle nets on/off (advanced)
5. p will pause the simulation loop
6. u, j to increase/decrease the time scale
7. i, k to increase/decrease the friction magnitude (min 0.0) 8. t, b to increase/decrease the ball size (max 0.9cm) 9. o, l to increase/decrease the elasticity magnitude (range 0.1-1.0)
10. camera controls:
• w, s, a, d for up, down, left, right respectively • ,
cursor keys for zoom in and zoom out respectively simulation one of the two types of motion described below is to be implemented for the balls in your demonstrator: 1. objects are treated as particles with dimensions as far as the physics simulation is concerned; however, friction and elasticity should be applied. graphically, the objects rotate in such a way as to mimic real balls when in contact with other objects and after collisions.
2. objects should be modelled as rigid bodies and therefore rotation should be fully modelled within the physics equations. (advanced)
you will only be required to implement and demonstrate one of these types of motion, and more marks will be available for the advanced motion. collision detection and response is required for all objects that come into contact, 1cm="" to="" fit="" in="" the="" bins.="" in="" an="" advanced="" version,="" the="" bins="" are="" deformable="" and="" can="" be="" nets.="" the="" objects="" the="" objects="" are="" balls="" of="" maximum="" 0.9cm="" diameter.="" in="" advanced="" versions,="" cubes="" shapes="" can="" be="" simulated.="" adding="" objects="" the="" initial="" placement="" of="" objects="" should="" ensure="" that="" they="" do="" not="" intersect="" with="" any="" existing="" object.="" visualization="" do="" not="" use="" full="" screen="" graphics,="" but="" ensure="" that="" your="" window="" is="" large="" so="" that="" it="" takes="" up="" most="" of="" the="" screen.="" only="" simple="" graphics="" are="" required.="" there="" will="" be="" no="" marks="" for="" shadows,="" fancy="" lighting,="" etc.="" you="" must="" be="" able="" to="" see="" the="" interactions="" of="" the="" objects="" inside="" of="" the="" funnel,="" box="" and="" bins.="" select="" appropriate="" textures="" for="" the="" objects="" to="" enable="" a="" user="" to="" easily="" determine="" if="" the="" object="" is:="" a)="" at="" rest="" or="" in="" motion="" (i.e.="" objects="" that="" the="" pbm="" assumes="" are="" stationary)="" b)="" rotating="" console="" output="" display="" the="" following="" when="" the="" values="" change:="" 1.="" number="" of="" balls="" in="" the="" system=""
="" 2.="" number="" of="" cubes="" in="" the="" system="" (advanced)=""
="" 3.="" magnitude="" of="" elasticity=""
="" 4.="" magnitude="" of="" frictional="" force=""
="" controls="" 29/11/2020="" 6="" the="" minimum="" set="" of="" controls="" are="" as="" follows:="" 1.="" 1="" to="" add="" a="" ball=""
="" 2.="" 2="" to="" add="" a="" cube="" (advanced)=""
="" 3.="" r="" to="" reset="" the="" system="" and="" all="" objects=""
="" 4.="" n="" to="" toggle="" nets="" on/off="" (advanced)=""
="" 5.="" p="" will="" pause="" the="" simulation="" loop=""
="" 6.="" u,="" j="" to="" increase/decrease="" the="" time="" scale=""
="" 7.="" i,="" k="" to="" increase/decrease="" the="" friction="" magnitude="" (min="" 0.0)="" 8.="" t,="" b="" to="" increase/decrease="" the="" ball="" size="" (max="" 0.9cm)="" 9.="" o,="" l="" to="" increase/decrease="" the="" elasticity="" magnitude="" (range="" 0.1-1.0)=""
="" 10.="" camera="" controls:=""
="" •="" w,="" s,="" a,="" d="" for="" up,="" down,="" left,="" right="" respectively="" •="" ,=""
cursor="" keys="" for="" zoom="" in="" and="" zoom="" out="" respectively="" simulation="" one="" of="" the="" two="" types="" of="" motion="" described="" below="" is="" to="" be="" implemented="" for="" the="" balls="" in="" your="" demonstrator:="" 1.="" objects="" are="" treated="" as="" particles="" with="" dimensions="" as="" far="" as="" the="" physics="" simulation="" is="" concerned;="" however,="" friction="" and="" elasticity="" should="" be="" applied.="" graphically,="" the="" objects="" rotate="" in="" such="" a="" way="" as="" to="" mimic="" real="" balls="" when="" in="" contact="" with="" other="" objects="" and="" after="" collisions.=""
="" 2.="" objects="" should="" be="" modelled="" as="" rigid="" bodies="" and="" therefore="" rotation="" should="" be="" fully="" modelled="" within="" the="" physics="" equations.="" (advanced)=""
="" you="" will="" only="" be="" required="" to="" implement="" and="" demonstrate="" one="" of="" these="" types="" of="" motion,="" and="" more="" marks="" will="" be="" available="" for="" the="" advanced="" motion.="" collision="" detection="" and="" response="" is="" required="" for="" all="" objects="" that="" come="" into=""> 1cm to fit in the bins. in an advanced version, the bins are deformable and can be nets. the objects the objects are balls of maximum 0.9cm diameter. in advanced versions, cubes shapes can be simulated. adding objects the initial placement of objects should ensure that they do not intersect with any existing object. visualization do not use full screen graphics, but ensure that your window is large so that it takes up most of the screen. only simple graphics are required. there will be no marks for shadows, fancy lighting, etc. you must be able to see the interactions of the objects inside of the funnel, box and bins. select appropriate textures for the objects to enable a user to easily determine if the object is: a) at rest or in motion (i.e. objects that the pbm assumes are stationary) b) rotating console output display the following when the values change: 1. number of balls in the system
2. number of cubes in the system (advanced)
3. magnitude of elasticity
4. magnitude of frictional force
controls 29/11/2020 6 the minimum set of controls are as follows: 1. 1 to add a ball
2. 2 to add a cube (advanced)
3. r to reset the system and all objects
4. n to toggle nets on/off (advanced)
5. p will pause the simulation loop
6. u, j to increase/decrease the time scale
7. i, k to increase/decrease the friction magnitude (min 0.0) 8. t, b to increase/decrease the ball size (max 0.9cm) 9. o, l to increase/decrease the elasticity magnitude (range 0.1-1.0)
10. camera controls:
• w, s, a, d for up, down, left, right respectively • ,
cursor keys for zoom in and zoom out respectively simulation one of the two types of motion described below is to be implemented for the balls in your demonstrator: 1. objects are treated as particles with dimensions as far as the physics simulation is concerned; however, friction and elasticity should be applied. graphically, the objects rotate in such a way as to mimic real balls when in contact with other objects and after collisions.
2. objects should be modelled as rigid bodies and therefore rotation should be fully modelled within the physics equations. (advanced)
you will only be required to implement and demonstrate one of these types of motion, and more marks will be available for the advanced motion. collision detection and response is required for all objects that come into contact,>