As this is exam week and therefore very little will be done to the honours project this week. Over the christmas period, I am planning to research more and more and perhaps get an early start on the implementation of a basic OpenGL framework. As I also have bezier coursework to complete, my time will be limited for what I can get done and therefore any more progress on this will be a bonus.
Monday, 15 December 2008
Thursday, 11 December 2008
Week 12: 8th December - 14th December: Final Proposal
This is the final draft of my proposal minus the gantt chart as this has not changed:
---------------------------------------------------------------------
CS1004A Honours Project
Project Proposal
Realistic Modelling of Motion Involving Collisions with 3D Environments
Introduction
The games industry has developed significantly throughout the years and there will always be constant refinement and advancements made. Focus on new development will constantly be at the forefront of the evolution of the games industry. With technological advances initially driving the art, the focus turned to the realism of the game. The general goal in making any game is that it must give the player an all round believable world, in which they can become immersed. When it comes to physics in games, it is often said that its success is determined by how it looks rather than how accurate it is and so the game has to, at the very least, look realistic. However, with computational limitations on the CPU, the more advanced physics calculations need to be estimated.
In recent years, physics systems in games have advanced greatly and will continue to do so. As Hecker (2000, p.35) says: ‘as these skills [of game programmers] and CPU speeds improve, and as player expectations increase, game “physics simulators” have to keep pace by becoming increasingly realistic and advanced.’ Therefore it is an area which always needs to be developed repeatedly as CPU speeds improve, so that it is used to it highest potential. Physics is the key to any successful realistic game. If a character was to get stuck or completely walk though a closed door unexpectedly, it would not matter how good the character looked, the gamer's attention would be diverted completely from the task at hand. Of course, with certain limitations on what can be simulated and how realistically it can be simulated, the main focus of a programmer will be to make everything as consistent as possible. ‘Interference calculation of physically based models is computationally expensive and is usually the bottleneck in all applications that require a real-time response.’ (Geiger 2000). Previous studies into realistic simulations show that it cannot be done to any great detail without the need for approximating. Whether that is at the point of collision or the response at the moment after collision, the calculations become too computationally demanding for the processor and need to be estimated. Basic simulations may be possible and the need to estimate may be smaller with a simulation of only a small number of objects.
Baraff (1993, p.1) suggests that, ‘We have become somewhat proficient at creating high-quality images of complex models, but our skill at performing realistic physical simulations lags far behind our ability to visualize them.’ This is because the CPU’s in most modern computers do not have the capacity to perform high level computation of physics calculations. The acceleration of game physics is always a well talked about subject with the constant development of add-on hardware (such as GPU and physics processing unit – PPU) to speed physics calculations up that generally run on the CPU. However, until these become part of the standard computer package, developers must continue to work with physics calculations within the CPU. As mentioned before, physics is the key to how realistic a game will look. Going back to basic rigid body dynamics and how they collide with their environment seems to be a good place to start when studying how physics can be simulated with current constraints on processing power.
Research Topic
This project will consist of performing research into how mathematics and physics can be used to produce a simulation of highly realistic movement. Specifically, the investigation will look at how a number of different objects move and collide with a curved surface. By looking into the mathematics behind such collisions in real life, this project will hopefully provide a realistic template of the movements. With the simulation of rigid body dynamics, the Euler integration method can be used. However, Atencio et al. (2005) suggest using the Verlet integrator, which stores current position, previous position and the force or acceleration. Of course, all of these methods including others will be researched in more detail to ensure the correct and most accurate method of collision detection and response is used in relation to the problem.
The project will also look into ways of increasing the accuracy, and therefore the realism, of collisions on a curved surface while maintaining good frame rates. At some point there might be a need to simplify the calculations if the processing of the simulation becomes too demanding. If this happens, methods will be researched and integrated into the simulation to maintain the speed of the simulation, while hopefully preserving the realistic movement.
Research Question
Can the movements and collisions of objects on a curved surface be realistically simulated in real-time?
The aim of this project will be to investigate the use of simple realistic collisions on a curved surface in real-time. To achieve this, a graphical simulation will be made to replicate these movements realistically.
Project Execution
As the study will be on the simulation of realistic movement, background knowledge will be needed initially of the mathematical theory behind real-life movements and collisions. Having obtained this, the next stage would be to start implementation on the simulation itself. The implementation will be broken down into small manageable sections as shown below and implemented in OpenGL:
v Movements of a point mass bouncing on an angled surface.
Ø Start the point mass on a given path towards the surface.
Ø It will bounce off the surface at an angle.
Ø Calculate its resulting motion.
Ø The effect that friction has on the resulting motion will be taken into account.
v Movements of the point mass bouncing on a curved surface (represented by Bezier surface).
Ø Again the mass will be placed on a given path to collide with the surface at an angle.
Ø To find out the resulting motion, the tangent plane of the curve will be found at the point of collision and the calculations will be similar to the collision with the flat, angled plane.
v Movements of a sphere/ball bouncing on a flat, angled surface.
Ø With the substitution of a sphere or ball instead of a point mass, additional movements will have to be considered.
Ø To calculate the resulting motion of the sphere, the same calculations will be made as above however, it will then be followed by calculations on the rotation effect placed on the ball depending on the angle and velocity when the collision occurs.
v Movements of the sphere on the curved surface.
Ø The tangent of the plane at the point of collision will be calculated to find the given normal for the bounce.
Ø Calculations will proceed as above to find the resulting bounce, by first finding the tangent plane to the curve. The rotational effect on the sphere before and after bouncing will be simulated also.
v Extra study where time permits. Possible areas include:
Ø Differently shaped objects, such as a box character mesh, bringing additional movements into consideration.
Ø Rough terrain which will result in an increase of friction.
Ø Effects of wind.
Ø Multiple objects or surfaces that increases the computational effort of the scene.
Project Evaluation
To evaluate this project, there are a number of criteria to consider. Firstly, how the simulation would be conveyed to the viewer. Referring to an earlier statement, ‘if it looks right, then it is right’ (Conger 2004, p.3), a measurement of success, will be on its appearance. The project considers the realistic simulation of real life collisions and movements of objects and therefore, throughout the project, the need for visual ‘correctness’ at every stage is essential.
Another criterion to take into account is the frame rates as the simulation is run. Frame rates will be overseen throughout the execution of this project to make sure they are adhering to the research question that it is a simulation performed in real-time.
Issues
There are a number of issues which may arise throughout this project and its implementation.
As mentioned above, the criterion of ‘success’ is somewhat subjective to the viewer of the simulation.
Another issue may arise when the collision detection technique will be chosen. Lin (1993, p.1) states, ‘Since prompt recognition of possible impacts is a key to successful response to collisions in a timely fashion, a simple yet efficient algorithm for collision detection is important for fast and realistic animation and simulation of moving objects.’ As this project will be measuring the level of realism that can be simulated, the method of collision detection used will have to be as accurate as possible; obtaining minimal approximations while maintaining low frames rates and in turn lowering the computational power of the simulation. So far, some research has gone into the method for collision detection. Atencio et al. (2005) devised a technique for collision detection and response which can be used for a simple physics animation. This will be looked at in further detail as well as other methods, to ensure an appropriate technique is adopted.
Resource Requirements
The techniques which are researched will be executed into a computer simulation using the OpenGl API. At present, the resources essential for this project are easily accessible and no additional computer applications or software will be required. However, this will be frequently reviewed at each stage.
Conclusion
The completion of this project as a realistic simulation is feasible in the time given and the realistic requirement will be constantly evaluated at each stage of the project.
Bibliography
Bandi, S and Thalmann, D. 1995. An Adaptive Spatial Subdivision of the Object Space for Fast Collision Detection of Animated Rigid Bodies. 14(3): Blackwell Publishers.
Baraff, D. 1990. Curved Surfaces and Coherence for Non-penetrating Rigid Body Simulation. 24(4) pp. 19-28. [online] Available from:
http://wf2dnvr5.webfeat.org/qXgAL1179/url=http://delivery.acm.org/10.1145/100000/97881/p19-baraff.pdf?key1=97881&key2=2940009221&coll=ACM&dl=ACM&CFID=14222854&CFTOKEN=77279356 [Accessed on 1 December 2008]
Beadsworth, T and Jefferson, B. 2000. Introducing Mechanics. Oxford: Oxford University Press.
Blyth, D and McReynolds, T. 2005. Advanced Graphics Programming Using OpenGl. China: Elsevier Inc.
Chrysanthou, Y, Slater, M and Steed, A. 2002. Computer Graphics and Virtual Environments: From Realism to Real-time. USA: Pearson Education Ltd.
Mortenson, ME. 1999. Mathematics for Computer Graphics Applications. 2nd ed. USA: Industrial Press Inc.
References
Atencio, YP et al. 2005. A Collision Detection and Response Scheme for Simplified Physically Based Animation. pp. 291-298 [online] Available from: http://www2.computer.org/portal/web/csdl/doi/10.1109/SIBGRAPI.2005.3 [Accessed on 24 November 2008]
Baraff, D. 1993. Non-Penetrating Rigid Bodies Simulation. [online] Eurographics Association. Available from: http://www.cs.cmu.edu/afs/cs/user/baraff/www/papers/eg93.pdf [Accessed on 8 December 2008]
Conger, D. 2004. Physics In Games, Physics Modelling for Games Programmers. [online] US: Thompson Course Technology. Available from:
http://books.google.co.uk/books?id=TuceL0LMWSMC&printsec=frontcover&dq=physics+modelling+for+game#PPR12,M1 [Accessed on 23 October 2008]
Geiger, B. 2000. Computer Graphics International. Real-Time Collision Detection and Response for Complex Environments. pp. 105. [online] Available from:
http://doi.ieeecomputersociety.org/10.1109/CGI.2000.852326 [Accessed on 28 November 2008]
Hecker, C. 2000. Physics in Computer Games. Communications of the ACM, 43(7): pp. 34-39. [online] Available from: http://doi.acm.org/10.1145/341852.341861 [Accessed on 28 November 2008]
Lin, MC. 1993. Efficient Collision Detection for Animation and Robotics. [online] Available from: ftp://ftp.cs.unc.edu/pub/users/manocha/PAPERS/COLLISION/thesis.pdf [Accessed on 6 December 2008]
Project Proposal
Realistic Modelling of Motion Involving Collisions with 3D Environments
Introduction
The games industry has developed significantly throughout the years and there will always be constant refinement and advancements made. Focus on new development will constantly be at the forefront of the evolution of the games industry. With technological advances initially driving the art, the focus turned to the realism of the game. The general goal in making any game is that it must give the player an all round believable world, in which they can become immersed. When it comes to physics in games, it is often said that its success is determined by how it looks rather than how accurate it is and so the game has to, at the very least, look realistic. However, with computational limitations on the CPU, the more advanced physics calculations need to be estimated.
In recent years, physics systems in games have advanced greatly and will continue to do so. As Hecker (2000, p.35) says: ‘as these skills [of game programmers] and CPU speeds improve, and as player expectations increase, game “physics simulators” have to keep pace by becoming increasingly realistic and advanced.’ Therefore it is an area which always needs to be developed repeatedly as CPU speeds improve, so that it is used to it highest potential. Physics is the key to any successful realistic game. If a character was to get stuck or completely walk though a closed door unexpectedly, it would not matter how good the character looked, the gamer's attention would be diverted completely from the task at hand. Of course, with certain limitations on what can be simulated and how realistically it can be simulated, the main focus of a programmer will be to make everything as consistent as possible. ‘Interference calculation of physically based models is computationally expensive and is usually the bottleneck in all applications that require a real-time response.’ (Geiger 2000). Previous studies into realistic simulations show that it cannot be done to any great detail without the need for approximating. Whether that is at the point of collision or the response at the moment after collision, the calculations become too computationally demanding for the processor and need to be estimated. Basic simulations may be possible and the need to estimate may be smaller with a simulation of only a small number of objects.
Baraff (1993, p.1) suggests that, ‘We have become somewhat proficient at creating high-quality images of complex models, but our skill at performing realistic physical simulations lags far behind our ability to visualize them.’ This is because the CPU’s in most modern computers do not have the capacity to perform high level computation of physics calculations. The acceleration of game physics is always a well talked about subject with the constant development of add-on hardware (such as GPU and physics processing unit – PPU) to speed physics calculations up that generally run on the CPU. However, until these become part of the standard computer package, developers must continue to work with physics calculations within the CPU. As mentioned before, physics is the key to how realistic a game will look. Going back to basic rigid body dynamics and how they collide with their environment seems to be a good place to start when studying how physics can be simulated with current constraints on processing power.
Research Topic
This project will consist of performing research into how mathematics and physics can be used to produce a simulation of highly realistic movement. Specifically, the investigation will look at how a number of different objects move and collide with a curved surface. By looking into the mathematics behind such collisions in real life, this project will hopefully provide a realistic template of the movements. With the simulation of rigid body dynamics, the Euler integration method can be used. However, Atencio et al. (2005) suggest using the Verlet integrator, which stores current position, previous position and the force or acceleration. Of course, all of these methods including others will be researched in more detail to ensure the correct and most accurate method of collision detection and response is used in relation to the problem.
The project will also look into ways of increasing the accuracy, and therefore the realism, of collisions on a curved surface while maintaining good frame rates. At some point there might be a need to simplify the calculations if the processing of the simulation becomes too demanding. If this happens, methods will be researched and integrated into the simulation to maintain the speed of the simulation, while hopefully preserving the realistic movement.
Research Question
Can the movements and collisions of objects on a curved surface be realistically simulated in real-time?
The aim of this project will be to investigate the use of simple realistic collisions on a curved surface in real-time. To achieve this, a graphical simulation will be made to replicate these movements realistically.
Project Execution
As the study will be on the simulation of realistic movement, background knowledge will be needed initially of the mathematical theory behind real-life movements and collisions. Having obtained this, the next stage would be to start implementation on the simulation itself. The implementation will be broken down into small manageable sections as shown below and implemented in OpenGL:
v Movements of a point mass bouncing on an angled surface.
Ø Start the point mass on a given path towards the surface.
Ø It will bounce off the surface at an angle.
Ø Calculate its resulting motion.
Ø The effect that friction has on the resulting motion will be taken into account.
v Movements of the point mass bouncing on a curved surface (represented by Bezier surface).
Ø Again the mass will be placed on a given path to collide with the surface at an angle.
Ø To find out the resulting motion, the tangent plane of the curve will be found at the point of collision and the calculations will be similar to the collision with the flat, angled plane.
v Movements of a sphere/ball bouncing on a flat, angled surface.
Ø With the substitution of a sphere or ball instead of a point mass, additional movements will have to be considered.
Ø To calculate the resulting motion of the sphere, the same calculations will be made as above however, it will then be followed by calculations on the rotation effect placed on the ball depending on the angle and velocity when the collision occurs.
v Movements of the sphere on the curved surface.
Ø The tangent of the plane at the point of collision will be calculated to find the given normal for the bounce.
Ø Calculations will proceed as above to find the resulting bounce, by first finding the tangent plane to the curve. The rotational effect on the sphere before and after bouncing will be simulated also.
v Extra study where time permits. Possible areas include:
Ø Differently shaped objects, such as a box character mesh, bringing additional movements into consideration.
Ø Rough terrain which will result in an increase of friction.
Ø Effects of wind.
Ø Multiple objects or surfaces that increases the computational effort of the scene.
Project Evaluation
To evaluate this project, there are a number of criteria to consider. Firstly, how the simulation would be conveyed to the viewer. Referring to an earlier statement, ‘if it looks right, then it is right’ (Conger 2004, p.3), a measurement of success, will be on its appearance. The project considers the realistic simulation of real life collisions and movements of objects and therefore, throughout the project, the need for visual ‘correctness’ at every stage is essential.
Another criterion to take into account is the frame rates as the simulation is run. Frame rates will be overseen throughout the execution of this project to make sure they are adhering to the research question that it is a simulation performed in real-time.
Issues
There are a number of issues which may arise throughout this project and its implementation.
As mentioned above, the criterion of ‘success’ is somewhat subjective to the viewer of the simulation.
Another issue may arise when the collision detection technique will be chosen. Lin (1993, p.1) states, ‘Since prompt recognition of possible impacts is a key to successful response to collisions in a timely fashion, a simple yet efficient algorithm for collision detection is important for fast and realistic animation and simulation of moving objects.’ As this project will be measuring the level of realism that can be simulated, the method of collision detection used will have to be as accurate as possible; obtaining minimal approximations while maintaining low frames rates and in turn lowering the computational power of the simulation. So far, some research has gone into the method for collision detection. Atencio et al. (2005) devised a technique for collision detection and response which can be used for a simple physics animation. This will be looked at in further detail as well as other methods, to ensure an appropriate technique is adopted.
Resource Requirements
The techniques which are researched will be executed into a computer simulation using the OpenGl API. At present, the resources essential for this project are easily accessible and no additional computer applications or software will be required. However, this will be frequently reviewed at each stage.
Conclusion
The completion of this project as a realistic simulation is feasible in the time given and the realistic requirement will be constantly evaluated at each stage of the project.
Bibliography
Bandi, S and Thalmann, D. 1995. An Adaptive Spatial Subdivision of the Object Space for Fast Collision Detection of Animated Rigid Bodies. 14(3): Blackwell Publishers.
Baraff, D. 1990. Curved Surfaces and Coherence for Non-penetrating Rigid Body Simulation. 24(4) pp. 19-28. [online] Available from:
http://wf2dnvr5.webfeat.org/qXgAL1179/url=http://delivery.acm.org/10.1145/100000/97881/p19-baraff.pdf?key1=97881&key2=2940009221&coll=ACM&dl=ACM&CFID=14222854&CFTOKEN=77279356 [Accessed on 1 December 2008]
Beadsworth, T and Jefferson, B. 2000. Introducing Mechanics. Oxford: Oxford University Press.
Blyth, D and McReynolds, T. 2005. Advanced Graphics Programming Using OpenGl. China: Elsevier Inc.
Chrysanthou, Y, Slater, M and Steed, A. 2002. Computer Graphics and Virtual Environments: From Realism to Real-time. USA: Pearson Education Ltd.
Mortenson, ME. 1999. Mathematics for Computer Graphics Applications. 2nd ed. USA: Industrial Press Inc.
References
Atencio, YP et al. 2005. A Collision Detection and Response Scheme for Simplified Physically Based Animation. pp. 291-298 [online] Available from: http://www2.computer.org/portal/web/csdl/doi/10.1109/SIBGRAPI.2005.3 [Accessed on 24 November 2008]
Baraff, D. 1993. Non-Penetrating Rigid Bodies Simulation. [online] Eurographics Association. Available from: http://www.cs.cmu.edu/afs/cs/user/baraff/www/papers/eg93.pdf [Accessed on 8 December 2008]
Conger, D. 2004. Physics In Games, Physics Modelling for Games Programmers. [online] US: Thompson Course Technology. Available from:
http://books.google.co.uk/books?id=TuceL0LMWSMC&printsec=frontcover&dq=physics+modelling+for+game#PPR12,M1 [Accessed on 23 October 2008]
Geiger, B. 2000. Computer Graphics International. Real-Time Collision Detection and Response for Complex Environments. pp. 105. [online] Available from:
http://doi.ieeecomputersociety.org/10.1109/CGI.2000.852326 [Accessed on 28 November 2008]
Hecker, C. 2000. Physics in Computer Games. Communications of the ACM, 43(7): pp. 34-39. [online] Available from: http://doi.acm.org/10.1145/341852.341861 [Accessed on 28 November 2008]
Lin, MC. 1993. Efficient Collision Detection for Animation and Robotics. [online] Available from: ftp://ftp.cs.unc.edu/pub/users/manocha/PAPERS/COLLISION/thesis.pdf [Accessed on 6 December 2008]
Wednesday, 10 December 2008
Week 12: 8th December - 14th December: Meeting
Just had meeting with Dr Lucas to revise my project proposal. Quite a few changes to be made which will be done as soon as possible. Must change the conclusion and the title completely but hopefully the new and final draft will be posted shortly.
Tuesday, 9 December 2008
Week 12: 8th December - 14th December: Project Proposal Draft!
This is my draft proposal. I will be meeting with my supervisor today to go over the proposal and the ethics form so expect some changes:
----------------------------------------------------------
CS1004A Honours Project
Project Proposal
Movement in a Curved Environment
Introduction
The games industry has developed a lot throughout the years and there will always be constant refinement and advancements made. Focus on new development will always be at the forefront of the evolution of the games industry. With technological advances initially driving the art, the focus turned to the realism of the game. The general goal in making any game is that it must give the player an all round believable world, in which they can become immersed in. When it comes to physics in games, it is often said that its success is determined by how it looks rather than how accurate it is and so the game has to, at the very least, look realistic. However, with computational limitations on the CPU, the more advanced physics calculations need to be estimated. In recent years, physics systems in games have advanced greatly and will continue to do so. As Hecker says: ‘as these skills [of game programmers] and CPU speeds improve, and as player expectations increase, game “physics simulators” have to keep pace by becoming increasingly realistic and advanced.’ (2000, p.35) Therefore it is an area which always needs to be developed repeatedly as CPU speeds improve, so that it is used to it highest potential. Physics is the key to any successful realistic game. If a character was to get stuck or completely walk though a closed door unexpectedly, it would not matter how good the character looked, the gamers attention would be diverted completely from the task at hand. Of course with certain limitations on what can be simulated and how realistically it can be simulated, the main focus of a programmer will be to make everything as consistent as possible. ‘Interference calculation of physically based models is computationally expensive and is usually the bottleneck in all applications that require a real-time response.’ (Geiger 2000) Previous studies into realistic simulations show that it cannot be done to any great detail without the need for approximating. Whether that is at the point of collision or the response at the moment after collision, the calculations become too computationally demanding for the processor and need to be estimated. Basic simulations may be possible and the need to estimate may be smaller with a simulation of only a small number of objects.
Research Topic
Baraff (1993, p.1) suggests that, ‘We have become somewhat proficient at creating high-quality images of complex models, but our skill at performing realistic physical simulations lags far behind our ability to visualize them.’ This is because the CPU’s in most modern computers do not have the capacity to perform high level computation of physics calculations. The acceleration of game physics is always a well talked about subject with the constant development of add-on hardware (such as GPU and physics processing unit – PPU) to speed physics calculations up that generally run on the CPU. However, until these become part of the standard computer package, developers must continue to work with physics calculations within the CPU. As mentioned before, physics is the key to how realistic a game will look. Going back to basic rigid body dynamics and how they collide with their environment seems to be a good place to start when studying how physics can be simulated with current constraints on processing power. This project will consist of performing research into how mathematics and physics can be used to produce a simulation of highly realistic movement. Specifically, the investigation will look at how a number of different objects move and collide with a curved surface. A curved surface was chosen instead of a flat plane as game environments are very rarely made up of flat, straight surfaces. By looking into the mathematics behind such collisions in real life, this project will hopefully provide a realistic template of the movements. With the simulation of rigid body dynamics, the Euler integration method can be used. However, Atencio,YP et al. (2005) suggests using the Verlet integrator which stores current position, previous position and the force/acceleration m. Of course all of these methods including others will be researched in more detail to ensure the correct and most accurate method of collision detection and response is used in relation to the problem.
This project will consist of research on the use of mathematics and physics in games and how the can be used to create more realism in a game. It will look into ways of increasing the accuracy, and therefore the realism, of collisions on a curved surface while maintaining good frame rates. There will at some point become a need to simplify the calculations when the processing of the simulation becomes too demanding. At this stage, methods will be researched and integrated into the simulation to maintain the speed of the simulation while hopefully preserving the realistic movement.
Research Question
Can the movements and collisions of objects on a curved surface be realistically simulated in real-time?
The aim of this project will be to investigate the use of simple realistic collisions on a curved surface in real-time. To achieve this, a graphical simulation will be made to replicate these movements realistically, without the need to approximate the physics calculations too much.
Project Execution
As the study will be on the simulation of realistic movement, a large amount of background knowledge will be needed initially into the mathematical theory behind real life movements and collisions. Once a sufficient amount of research is done, the next stage would be to start implementation on the simulation itself. The implementation will be broken down into small manageable sections as shown below and implemented piece by piece in OpenGL:
v Movements of a point mass bouncing on a flat surface.
Ø Start the point mass falling from a height.
Ø It will bounce off the plane at an angle.
Ø Calculate its resulting motion
v Movements of the point mass bouncing on a curved surface (the curved plane will be represented by Bezier surface).
Ø Again the mass will be falling from a height
Ø To find out the resulting motion, the tangent plane of the curve will be found at the point of collision and the calculations will be similar to the collision with the flat plane.
v Movements of a sphere/ball bouncing on a flat surface.
Ø The curved surface will be represented by a Bezier surface. This will be calculated by
Ø With the substitution of a sphere or ball instead of a point mass, additional movements will have to be considered.
Ø Therefore, to calculate the resulting motion of the sphere, the same calculations will be made as above however, it will then be followed by calculations on the rotation effect placed on the ball depending on the angle and velocity when the collision occurs.
Ø The mass of the sphere will also need to be taken into account.
v Movements of the sphere on the curved surface.
Ø The tangent of the plane at the point of collision will be calculated to find the given normal for the bounce.
Ø Calculations will proceed as above to find the resulting bounce, by first finding the tangent plane to the curve. Also remembering the rotational effect on the sphere.
v Extra study where time permits. Some areas which will be researched and possibly could be implemented might be:
Ø Differently shaped objects, such as a box character mesh, bringing additional movements into consideration.
Ø Rough terrain which will result in an increase of friction.
Ø Calculation of wind perhaps.
Ø Multiple objects or surfaces which will increase the computational power of the scene which will affect the frame rate and will may make use of the best techniques to approximate the calculations.
Ø Elasticity of the sphere as it bounces.
At all of the stages, friction and gravity will be taken into account. There will need to be research prepared on the conservation of momentum, elasticity and also into all additional forces acting on the objects to assure that the movements which are to be simulated are realistic. With the implementation of everything that has been discussed, it will hopefully be concluded that the collisions, or so to speak calculations, can be kept quite realistic without the loss of accuracy. However, if (or when) the need to approximate the calculations arises, the necessary research will be done to find the best ways of approximating the results so that the simulation remains fairly realistic.
Project Evaluation
To evaluate this project, the only criteria to consider would be how it comes across to the viewer. Going back to an earlier statement, ‘if it look right, then it is right’ (Conger, 2004), the only measurement of success unfortunately, will be on its appearance. The project considers the realistic simulation of real life collisions and movements of objects and therefore, throughout the project, the need for visual ‘correctness’ at every stage is essential.
In addition to this, frame rates will be overseen throughout the execution of this project to make sure they are adhering to the research question that it is a simulation performed in real-time.
Issues
There are a number of issues which may arise throughout this research project and its implementation.
As mentioned above, the criteria of success is a problem. The only way to successfully evaluate the project will be to comment on what it looks like visually.
As previously mentioned, another movement undertaken by the sphere would be elasticity. However, this is a topic all on its own and so depending on time this may be set as negligible for the simulation although it is an area which is of great interest.
Another issue may arise when the collision detection technique will be chosen. ‘Since prompt recognition of possible impacts is a key to successful response to collisions in a timely fashion, a simple yet efficient algorithm for collision detection is important for fast and realistic animation and simulation of moving objects.’ (Lin 1993, p.1) As this project will be measuring the level of realism that can be simulated, the method of collision detection that will be used, will have to be as accurate as possible; obtaining minimal approximations while maintaining low frames rates and in turn lowering the computational power of the simulation. So far, some research has gone into the method for collision detection. Atencio, YP et al. (2005) devised a technique for collision detection and response which can be used for a simple physics animation. This will be looked at in further detail as well a number of other methods, to ensure the correct decision is made for the collision detection.
This is also true when it comes to a point in the project where the calculations become too demanding. At this point, a means of approximation will have to be looked into. This may turn out to be a previous method that is widely used however, depending on how successful these past techniques are, a new method may be looked into.
Resource Requirements
Initially, this project will consist of academic research into the mathematics and physics involved in real life collisions and movements of many different objects (from a simple point mass to perhaps a box or even a character mesh). The next level of research will comprise of how to implement these techniques. Finally, the techniques will be executed into a computer simulation using the OpenGl API. Each of the resources required throughout the project will be easily accessible and no additional computer applications, software or any unusual processing will be done.
Conclusion
The need for realistic movement in games is a much talked about subject, with the main objective being that with added realism, gamers can ‘lose’ or immerse themselves in a game and as a result enjoy the experience a lot more. As mentioned before, there is a limit to the level of realistic simulation that can be done as calculations become more computationally demanding. However, this is an area which needs to be constantly refined as computer power allotted to physics grows. This project will take a look at how the movements of simple objects can be simulated as realistically as possible without the need for approximating and at which point does the calculations become too demanding. As computing power allotted to physics grows, this topic will need to be refined more and more.
Bibliography
Bandi, S and Thalmann, D. 1995. An Adaptive Spatial Subdivision of the Object Space for Fast Collision Detection of Animated Rigid Bodies. 14(3): pp. Blackwell Publishers
Baraff, D. 1990. Curved Surfaces and Coherence for Non-penetrating Rigid Body Simulation. 24(4) pp. 19-28
Beadsworth, T and Jefferson, B. 2000. Introducing Mechanics. Oxford: Oxford University Press
Blyth, D and McReynolds, T. 2005. Advanced Graphics Programming Using OpenGl. China: Elsevier Inc.
Chrysanthou, Y, Slater, M and Steed, A. 2002. Computer Graphics and Virtual Environments: From Realism to Real-time. USA: Pearson Education Ltd.
Mortenson, ME. 1999. Mathematics for Computer Graphics Applications. 2nd ed. USA: Industrial Press Inc.
References
Atencio, YP et al. 2005. A Collision Detection and Response Scheme for Simplified Physically Based Animation.
Baraff, D. 1993. Non-Penetrating Rigid Bodies Simulation. pp. 1-23
Conger, D. 2004. Physics In Games, Physics Modelling for Games Programmers. US: Course Technology
Geiger, B. 2000. Real-Time Collision Detection and Response for Complex Environments.
Hecker, C. 2000. Physics in computer games. Communications of the ACM, 43(7): pp. 34-39
Lin, MC. 1993. Efficient Collision Detection for Animation and Robotics. pp. 1- 3
Project Proposal
Movement in a Curved Environment
Introduction
The games industry has developed a lot throughout the years and there will always be constant refinement and advancements made. Focus on new development will always be at the forefront of the evolution of the games industry. With technological advances initially driving the art, the focus turned to the realism of the game. The general goal in making any game is that it must give the player an all round believable world, in which they can become immersed in. When it comes to physics in games, it is often said that its success is determined by how it looks rather than how accurate it is and so the game has to, at the very least, look realistic. However, with computational limitations on the CPU, the more advanced physics calculations need to be estimated. In recent years, physics systems in games have advanced greatly and will continue to do so. As Hecker says: ‘as these skills [of game programmers] and CPU speeds improve, and as player expectations increase, game “physics simulators” have to keep pace by becoming increasingly realistic and advanced.’ (2000, p.35) Therefore it is an area which always needs to be developed repeatedly as CPU speeds improve, so that it is used to it highest potential. Physics is the key to any successful realistic game. If a character was to get stuck or completely walk though a closed door unexpectedly, it would not matter how good the character looked, the gamers attention would be diverted completely from the task at hand. Of course with certain limitations on what can be simulated and how realistically it can be simulated, the main focus of a programmer will be to make everything as consistent as possible. ‘Interference calculation of physically based models is computationally expensive and is usually the bottleneck in all applications that require a real-time response.’ (Geiger 2000) Previous studies into realistic simulations show that it cannot be done to any great detail without the need for approximating. Whether that is at the point of collision or the response at the moment after collision, the calculations become too computationally demanding for the processor and need to be estimated. Basic simulations may be possible and the need to estimate may be smaller with a simulation of only a small number of objects.
Research Topic
Baraff (1993, p.1) suggests that, ‘We have become somewhat proficient at creating high-quality images of complex models, but our skill at performing realistic physical simulations lags far behind our ability to visualize them.’ This is because the CPU’s in most modern computers do not have the capacity to perform high level computation of physics calculations. The acceleration of game physics is always a well talked about subject with the constant development of add-on hardware (such as GPU and physics processing unit – PPU) to speed physics calculations up that generally run on the CPU. However, until these become part of the standard computer package, developers must continue to work with physics calculations within the CPU. As mentioned before, physics is the key to how realistic a game will look. Going back to basic rigid body dynamics and how they collide with their environment seems to be a good place to start when studying how physics can be simulated with current constraints on processing power. This project will consist of performing research into how mathematics and physics can be used to produce a simulation of highly realistic movement. Specifically, the investigation will look at how a number of different objects move and collide with a curved surface. A curved surface was chosen instead of a flat plane as game environments are very rarely made up of flat, straight surfaces. By looking into the mathematics behind such collisions in real life, this project will hopefully provide a realistic template of the movements. With the simulation of rigid body dynamics, the Euler integration method can be used. However, Atencio,YP et al. (2005) suggests using the Verlet integrator which stores current position, previous position and the force/acceleration m. Of course all of these methods including others will be researched in more detail to ensure the correct and most accurate method of collision detection and response is used in relation to the problem.
This project will consist of research on the use of mathematics and physics in games and how the can be used to create more realism in a game. It will look into ways of increasing the accuracy, and therefore the realism, of collisions on a curved surface while maintaining good frame rates. There will at some point become a need to simplify the calculations when the processing of the simulation becomes too demanding. At this stage, methods will be researched and integrated into the simulation to maintain the speed of the simulation while hopefully preserving the realistic movement.
Research Question
Can the movements and collisions of objects on a curved surface be realistically simulated in real-time?
The aim of this project will be to investigate the use of simple realistic collisions on a curved surface in real-time. To achieve this, a graphical simulation will be made to replicate these movements realistically, without the need to approximate the physics calculations too much.
Project Execution
As the study will be on the simulation of realistic movement, a large amount of background knowledge will be needed initially into the mathematical theory behind real life movements and collisions. Once a sufficient amount of research is done, the next stage would be to start implementation on the simulation itself. The implementation will be broken down into small manageable sections as shown below and implemented piece by piece in OpenGL:
v Movements of a point mass bouncing on a flat surface.
Ø Start the point mass falling from a height.
Ø It will bounce off the plane at an angle.
Ø Calculate its resulting motion
v Movements of the point mass bouncing on a curved surface (the curved plane will be represented by Bezier surface).
Ø Again the mass will be falling from a height
Ø To find out the resulting motion, the tangent plane of the curve will be found at the point of collision and the calculations will be similar to the collision with the flat plane.
v Movements of a sphere/ball bouncing on a flat surface.
Ø The curved surface will be represented by a Bezier surface. This will be calculated by
Ø With the substitution of a sphere or ball instead of a point mass, additional movements will have to be considered.
Ø Therefore, to calculate the resulting motion of the sphere, the same calculations will be made as above however, it will then be followed by calculations on the rotation effect placed on the ball depending on the angle and velocity when the collision occurs.
Ø The mass of the sphere will also need to be taken into account.
v Movements of the sphere on the curved surface.
Ø The tangent of the plane at the point of collision will be calculated to find the given normal for the bounce.
Ø Calculations will proceed as above to find the resulting bounce, by first finding the tangent plane to the curve. Also remembering the rotational effect on the sphere.
v Extra study where time permits. Some areas which will be researched and possibly could be implemented might be:
Ø Differently shaped objects, such as a box character mesh, bringing additional movements into consideration.
Ø Rough terrain which will result in an increase of friction.
Ø Calculation of wind perhaps.
Ø Multiple objects or surfaces which will increase the computational power of the scene which will affect the frame rate and will may make use of the best techniques to approximate the calculations.
Ø Elasticity of the sphere as it bounces.
At all of the stages, friction and gravity will be taken into account. There will need to be research prepared on the conservation of momentum, elasticity and also into all additional forces acting on the objects to assure that the movements which are to be simulated are realistic. With the implementation of everything that has been discussed, it will hopefully be concluded that the collisions, or so to speak calculations, can be kept quite realistic without the loss of accuracy. However, if (or when) the need to approximate the calculations arises, the necessary research will be done to find the best ways of approximating the results so that the simulation remains fairly realistic.
Project Evaluation
To evaluate this project, the only criteria to consider would be how it comes across to the viewer. Going back to an earlier statement, ‘if it look right, then it is right’ (Conger, 2004), the only measurement of success unfortunately, will be on its appearance. The project considers the realistic simulation of real life collisions and movements of objects and therefore, throughout the project, the need for visual ‘correctness’ at every stage is essential.
In addition to this, frame rates will be overseen throughout the execution of this project to make sure they are adhering to the research question that it is a simulation performed in real-time.
Issues
There are a number of issues which may arise throughout this research project and its implementation.
As mentioned above, the criteria of success is a problem. The only way to successfully evaluate the project will be to comment on what it looks like visually.
As previously mentioned, another movement undertaken by the sphere would be elasticity. However, this is a topic all on its own and so depending on time this may be set as negligible for the simulation although it is an area which is of great interest.
Another issue may arise when the collision detection technique will be chosen. ‘Since prompt recognition of possible impacts is a key to successful response to collisions in a timely fashion, a simple yet efficient algorithm for collision detection is important for fast and realistic animation and simulation of moving objects.’ (Lin 1993, p.1) As this project will be measuring the level of realism that can be simulated, the method of collision detection that will be used, will have to be as accurate as possible; obtaining minimal approximations while maintaining low frames rates and in turn lowering the computational power of the simulation. So far, some research has gone into the method for collision detection. Atencio, YP et al. (2005) devised a technique for collision detection and response which can be used for a simple physics animation. This will be looked at in further detail as well a number of other methods, to ensure the correct decision is made for the collision detection.
This is also true when it comes to a point in the project where the calculations become too demanding. At this point, a means of approximation will have to be looked into. This may turn out to be a previous method that is widely used however, depending on how successful these past techniques are, a new method may be looked into.
Resource Requirements
Initially, this project will consist of academic research into the mathematics and physics involved in real life collisions and movements of many different objects (from a simple point mass to perhaps a box or even a character mesh). The next level of research will comprise of how to implement these techniques. Finally, the techniques will be executed into a computer simulation using the OpenGl API. Each of the resources required throughout the project will be easily accessible and no additional computer applications, software or any unusual processing will be done.
Conclusion
The need for realistic movement in games is a much talked about subject, with the main objective being that with added realism, gamers can ‘lose’ or immerse themselves in a game and as a result enjoy the experience a lot more. As mentioned before, there is a limit to the level of realistic simulation that can be done as calculations become more computationally demanding. However, this is an area which needs to be constantly refined as computer power allotted to physics grows. This project will take a look at how the movements of simple objects can be simulated as realistically as possible without the need for approximating and at which point does the calculations become too demanding. As computing power allotted to physics grows, this topic will need to be refined more and more.
Bibliography
Bandi, S and Thalmann, D. 1995. An Adaptive Spatial Subdivision of the Object Space for Fast Collision Detection of Animated Rigid Bodies. 14(3): pp. Blackwell Publishers
Baraff, D. 1990. Curved Surfaces and Coherence for Non-penetrating Rigid Body Simulation. 24(4) pp. 19-28
Beadsworth, T and Jefferson, B. 2000. Introducing Mechanics. Oxford: Oxford University Press
Blyth, D and McReynolds, T. 2005. Advanced Graphics Programming Using OpenGl. China: Elsevier Inc.
Chrysanthou, Y, Slater, M and Steed, A. 2002. Computer Graphics and Virtual Environments: From Realism to Real-time. USA: Pearson Education Ltd.
Mortenson, ME. 1999. Mathematics for Computer Graphics Applications. 2nd ed. USA: Industrial Press Inc.
References
Atencio, YP et al. 2005. A Collision Detection and Response Scheme for Simplified Physically Based Animation.
Baraff, D. 1993. Non-Penetrating Rigid Bodies Simulation. pp. 1-23
Conger, D. 2004. Physics In Games, Physics Modelling for Games Programmers. US: Course Technology
Geiger, B. 2000. Real-Time Collision Detection and Response for Complex Environments.
Hecker, C. 2000. Physics in computer games. Communications of the ACM, 43(7): pp. 34-39
Lin, MC. 1993. Efficient Collision Detection for Animation and Robotics. pp. 1- 3
Friday, 5 December 2008
Subscribe to:
Comments (Atom)
