Monday, 15 December 2008

Week 13: 15th December - 21st December: Christmas Work Plan

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.

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]

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

Friday, 5 December 2008

Week 11: 1st December - 7th December: Gantt Chart

Here is my Gantt Chart ready to go into my proposal:




Thursday, 27 November 2008

Week 10: 24th Nov - 30th Nov: Gantt Chart and Planning

Found out I need to use some sort of chart to show how I am planning my honours project. The example we have been given is a Gantt Chart. I have downloaded a file with will help me make one and I have also looked them up online.


Example of Gantt Chart:



My plan is to make my own gantt chart (or equivalent) for next week. Also need to get some of the draft sections of my proposal done and posted.

Friday, 21 November 2008

Week 9: 17th Nov - 23rd Nov: Plan!

The next step is to keep researching and noting resources, understand exactly how the project will go and what I will have to do, plan time well to do everything and generally write the proposal. shown below is an outline on the proposal which I am going to stick to when I write it:

Introduction
–General overview – Background – initial literature review –annotated bibliography
Motivation
–Why do you want to do this and why would anybody be interested in what you want to do
Research question
–The research question to be answered. Aims and Objectives
Addressing the Question
–What will be done to answer the question -methodology
Plan/ Schedule and Resource Requirements
–What equipment/resources will be needed/used
References and Bibliography
The supporting evidence for your proposal.
-----------------------------------------------------------------
I am going to try and aim for two sections written a week. This should leave time for looking over and tweaking.

Thursday, 20 November 2008

Week 9: 17th Nov - 23rd Nov: Presentation Time

Below is my final presentation:








Overall the presentation went well. I was last in the group of people and this made me very nervous. I was listening to everyone else before me giving their talks and their projects seemed so hard and very involved whereas mine sounds very simple and looks like it wouldn't take much to answer. This made me very nervous and scared thinking about what questions I may be given at the end. However, once it was done I stood waiting for my questions and I needn't have been worried. Henry first asked me what the focus of my project was but he practically answered the question himself as he went on to ask me is it to see at point realistic simulations need to be approximated and I basically agreed with that as I do realise that a point will come but I am going to be simulating realistic movement until the running speed slows down. Dr Ozveren was next to ask me a question. He wanted to know if I would only be looking at bouncing objects and I said not entirely as the ball, when it bounces, will have additional movement of spinning involved so I will be looking into all movement really. This was really the end of the presentation but their last comments to me was that its sounds like an interesting and difficult topic. This put a big smile on my face as it was the the difficulty that bothered me. Here I was thinking, its too easy, its too easy, but in fact they are very interested in how difficult it may be and how interesting it sounds. It was the boost i really needed to get me through this project and it gave me an added confidence in the project.

Friday, 14 November 2008

Week 8: 10th Nov - 16th Nov: Presentation Preparation

I got comments back on my worksheet 4 (shown below):
-
Sounds good to me. The biggest issue I would see with this is actually nothing to do with how older games approximate physics, as it's more an issue of scale. A simple geometric shape like a cone, sphere, or box is simple as you can simply check against the parametric surface and ignore the mesh itself, but as you start trying to do the same physics calculations upon meshes made up of multiple convex and concave shapes it's really only feasible to do “perfect” simulations when there is very little to nothing else being done by the CPU and even the most high-end gaming PC can probably only handle a small amount of low-poly objects. With the point mass and sphere you will most likely find it to be quite simple to do but the real trick will be to optimize your calculations to handle hundreds or thousands of point masses or spheres at a time, preferably without causing a bottleneck on the CPU which prevents your application from doing anything else. So, basically, what I'm saying is there is no question of whether or not you can perform “perfect” simulations, but whether or not you can perform those simulations in a game on objects which actually matter to the game.
-
Also in the email was this comment:
-
I hope I don't sound like I am being too critical of your project. It can be a really good project but from what you've written in the worksheet it sounds like either you expect problems and so don't wish to say your going to do too much for the project (which isn't really bad), or you don't know much about programming physics simulations and are drastically underestimating the computing power you'll be working with.
-
--------------------------------------------------------------------------
-
As I mentioned before, I have had worries and doubts about the project and these comments sort of made me feel it more. I am actually glad that someone else could see it too and so I wanted to find out more. I emailed him saying that I was having these feelings towards the project and that I understood where he was coming from but I wondered if he had any advice on what to do about it. He emailed back with:
-
Well if you still want to do the same project but put a little more into it, there are quite a number of methods for either parametrization of mesh surfaces to better fit their usage in complex calculations that you could investigate. Simply changing your question to involve improving physics calculations efficiency as opposed to asking if it's possible would easily be good enough though. For instance, instead of your question of "Can the movements and collisions of an object on a curved surface be realistically simulated in real-time?", you could change it to something along the lines of 'How can physics be simulated realistically without reducing frame-rate to less than "real-time" rates?' With a question similar to that you could easily do exactly as you mentioned in the "Addressing the Question" section of your worksheet #4 and perhaps focus more on what can be calculated exactly and what can be approximated without losing realism and still make it run fast. A single point-mass or sphere interacting with a bezier surface would probably be difficult to use to benchmark any calculations but you could probably have lots of objects interacting with the same surface without too much problem, or even those objects and the surface interacting with everything in the scene(probably much harder).I hope this helped. You really don't need to change your project or anything, I just thought that perhaps it would be difficult to write a good dissertation on something which could probably be answered as a yes or a no.
-
This seemed a little better to me and got me thinking about changing the question to the above mentioned, as I could see from that version that there was a way of obtaining results if you like and drawing a conclusion. I did decide to tweak the question however, it would not be completely final until I had a work with my supervisor. I am due to see Dr Lucas on Friday to show him my draft presentation and so this would give me the perfect chance (and my final chance!) to speak to him about my worries over the project, ahead of the presentations on Monday.
-
-----------------------------------------------------------------------
-
Just had my meeting with Dr Lucas. He was a little confused by the comments I was given and where I was thinking of changing the project. Eventually, he showed me that it was perfect the way it was. We discussed my doubts on how I would be able to answer the question. He said that I did not really need to look into frame rates as such and just the fact that the ball bounced on the curved surface, showed that the question was answered. It really went back to something I already read and knew. When it comes to physics, 'if it looks right then it is right'. Therefore, final implementation will show that realistic movement can be implemented and I can take into account the limitations in the dissertation. Dr Lucas had a look at my draft presentation too and was fairly happy with it however, he did add a couple of things (such as issues that may come up) to it that need to be put into another slide perhaps. Overall, I am much happier. Even though in the end, the question was not changed, I felt much better about how my project would turn out and how I will gather the information I will need, form a simulation and write up my findings in a concise and structured manner. Now to do the presentation!!

Tuesday, 11 November 2008

Week 8: 10th Nov - 16th Nov: Worksheet 4 and Meeting 1

Shown below is worksheet 4 (it was sent to another student and I am now waiting on comments back):

Introduction

The topic of my project is the use of mathematics/physics in games, relating specifically to the movements and collisions between differently shaped objects and curved surfaces. The aim of the project is to successfully implement mathematical techniques which will hopefully simulate realistic movements and collisions of an object over a curved surface without having to suffer a loss of speed or accuracy when it comes to collision detection and response.


Issues

A big issue that is integral to this project is that when it comes to mathematics/physics in games, it has been said that, ‘if it looks right, then it is right’ [Conger (2004)]. Why should the collisions be approximated and can it be successfully implemented realistically in real-time without much difficulty.

In general, I will implement objects bouncing of a curved terrain taking into account gravity and friction. Hopefully if there is time, I will look into things such as rough terrain (increased friction), wind, other objects (such as box, cylinder etc), multiple objects etc.


Research question

Can the movements and collisions of an object on a curved surface be realistically simulated in real-time?


Addressing the Question

First of all, I want to look at the movements of a point mass bouncing on a flat surface with no friction but remembering to take gravity into account. After this, the same point mass will then be demonstrated bouncing on a curved surface (represented by Bezier surface). After this is simulated, the next step would be to look at a solid sphere bouncing of the flat terrain which would then require the added movement of spinning/rotating to the ball. Of course, once this is done on a flat surface, it will be simulated on the curved plane. To get the correct bouncing effect of the sphere on a curved surface, I will have to take the tangent plane of the curve at the point of collision. With this information, the calculations of the bounce are the same as when it impacts the flat surface. After all of this has been implemented (using OpenGL), I will go back and recreate the collisions for both the point mass and the sphere but this time with friction.

Hopefully there will be time to look into more complicated problems as described above (Issues section).

With the implementation of everything I have discussed, I will hopefully find that collisions can be kept quite realistic without the loss of accuracy.


Progress

So far, I have mainly just researched around the area. I have been collecting more mathematical techniques that will be needed for this project and also teaching myself new techniques as well as revising old ones. I have realised that I will need to learn a few new mathematical techniques and this has increased my interest in the project. I have also tried a few experimental programs in DirectX and OpenGL to see which one would suit my capabilities and the projects requirements best. I have made a decision on OpenGL and hope to start implementing the beginning of my project as soon as possible.
----------------------------------------------------------------------
Meeting one with technical supervisor, Dr Lucas:
I had a meeting with my supervisor to go over everything that will be required next Monday at the presentations. As of yet, I have not wrote the presentation as I am still gathering information on my project and working out finer details. I spoke with Lucas about what I should include in my presentation. He told me not to go into too much detail, keep it to simple bullet points and to focus on the steps of how I will address the question. Another point of advice was to remember that I was still researching the topic and so if any questions came up that were difficult to answer then I should not panic about it and just say that it is something I have yet to look into. My focus now is to get a draft of my presentation done and show it to Dr Lucas this Friday at our next meeting.
-------------------------------------------------------------------
Now waiting on worksheet 4 to come back which will help in the writing of the presentation. I am having doubts about the level of difficulty of my chosen research question. I just seems to easy as if it can be answered by a simple yes or no as I do realise that there are limitations on physics calculations due to processing power which would significantly reduce the speed of a game or application. I am also still worried about how I will be able to draw results and ultimately draw a conclusion or even give a definitive answer to my question from the way in which I am addressing the question. I spoke to Lucas about this and was reassured that the way I am addressing the question is correct and just from the implementation of the ball bouncing on the curved surface, will show the question has been answered. However, I am still unsure. I feel like as it is a project that I should treat it the same way I would an experiment. Looking at the aim, the method, the experiment itself, the results and then the conclusion. And so, I am struggling to work out what results I can get as it will not give me numerical results, and hence from that draw a conclusion to answer the research question. I am sure with more research and thought over the next couple of days will help me to see where my project will go and hopefully , there will be not problems with it that may result in a change of topic.

Monday, 10 November 2008

Week 8: 10th Nov - 16th Nov: Worksheet 3 Comments

This are the comments I got back on my worksheet 3:

(Under Motivation)
You should check out FIFA 09. All my mates tell me that it is the business and that between the latest iterations of FIFA and Pro Evo, FIFA wins hands down. Not sure about graphically but gameplay that is the word on the street. Don’t rely on opinions go out and try it yourself. Rigid body dynamics is the way if you want to simulate bodies falling over realistically such as players getting tackled.

(Under Addressing the Question)
I think you will also have to look in to elasticity and conservation of momentum also. You will need to do all that surface point of contact stuff too. I’m sure you know what you doing though. How will you measure the accuracy of your results? Pictures, videos, actual physical experiments? Not sure if you explained that in the previous worksheets or not.#

(End of Worksheet Comment)
Good proposal overall. As you said yourself more resources are needed this will obviously give you better understanding of what will be required. Good luck and all the best with your project. Hope you liked the feedback.

--------------------------------------------------------------------

The feedback that was given has helped even more. It has highlighted area in which I have not yet looked into or even thought about in some cases. More research has to be done before the presentation next week. The whole project needs to be defined now and work must get started this week on presentation slides. An meeting with my technical supervisor will be made today for sometime this week so look over everything in preparation for monday
----------------------------------------------------------------------
I need to work on preparing for this presentation on the 17th (worksheet 4 should help with this).

Wednesday, 5 November 2008

Week 7: 3rd Nov - 9th Nov: Prep for Presentation - Worksheet 4

Got worksheet 4 to do for next week. Shown as follows:
-
Honours Project Work Sheet - #4
Be prepared to give a short presentation about your project and listen to the presentations given by your peers. You talk is to be about 5 minutes long and should address the following points.
-
Introduction
What is the topic and aim of the project?
-
Issues
What issues do you want to address.
-
Research question
What is your current research question?
-
Addressing the Question
How do you envisage yourself carrying out the project - a short exposition of the project.
-
Progress
What have you managed to do so far and how has this influenced your vision?

Monday, 3 November 2008

Week 7: 3rd Nov - 9th Nov: Worksheet 3

Completed worksheet 3 this week and sent it off and I am now just waiting for comments back. Shown below:
----------------------------------------------------------
Introduction
The aim of the project in general is to research and implement the best techniques to simulate highly realistic movement and collision of an object on a curved surface, that will hopefully limit or negate the need to approximate the movements and also without having to suffer loss of speed, the sacrifice of good graphics/animation or even, less accuracy when it comes to collision detection and response. I decided not to look into collisions and movements over a flat surface as this is only specified to a small number of games. The majority of games do not have flat surfaces and environments are very varied. Therefore, I will be looking into movements and collisions over curved surfaces.
-
Motivation
The use of mathematics and physics in games is very important and all games contain some level of mathematics and physics involved. I am very interested in the use of them in games and how they can be used to create more realism to certain games and in turn enhance the players immersion in that game. However, it has been said that the implementation of physics can be broken down to the rule that ‘if it looks right, then it is right’ [Conger (2004)]. Success seems to be determined by how it looks visually rather than how accurate it is. This is what I am interested in looking at in more detail. Why should accuracy be sacrificed? I want to look into ways of trying to increase accuracy without the loss of visually good graphics. Games which I believe could benefit of this, would be sporting games. Football games such as FIFA and ProEvolution are good examples. FIFA games have great graphics but the movements of the players and ball are not too realistic. Whereas, ProEvolution is quite highly realistic with movements and collisions but the graphics suffer a little. I have been told by fans of the game that out of the two, ProEvolution has better gameplay and ultimately enhances the player’s immersion in the game a lot more. I was also told that there needs to be a game which does both (realism of ProEvolution coupled with the graphics of FIFA). Therefore, I think a lot of people will be interested in what I am looking into.
Even though I will be researching and implementing curved and not flat surfaces, the topic can still be related to back to sport games (i.e. golf) but also to many games which have a curved environment.
-
Research Question
Can the movements and collisions of an object over a curved surface be realistically simulated?
-
Addressing the Question
To answer the research question, I will first have to look at good implementation of Bézier curves in OpenGL to represent my curved surface. This will also have to be randomized (on a mouse/keyboard press perhaps) to demonstrate my work. The next step will be to implement a particle bouncing of the surface. Once this works well, I will look at a sphere (ball) bouncing. With changing the object to a ball other aspects of movement come into play such as rolling and sliding. If there is time, I will also look at other objects, such as box, bouncing and moving over the curved surface. To implement all of these, I will have to take gravity into account in my workings.
-
Resource Requirements
A lot more resources will be needed in the area that is being researched (more journals and books etc) and especially mathematical books (even previous year’s course workbooks). In relation to the implementation of the project, the API that will be required will probably be OpenGL. On the other hand, this decision may change in the future, to DirectX depending on whether I want better performance and appearance of the graphics which will be used. For now, however, the decision will stay with OpenGL.
-
References and Bibliography
Books:
Mortenson, Michael E., 1999. Mathematics For Computer Graphics Applications. Industrial Press (2nd Edition) McReynolds, Tom and Blythe, David, 2005.
-
Advanced Graphics Programming Using OpenGL. Elsevier/Morgan Kaufmann Publishers Conger, D. 2004.
-
“Physics In Games”, Physics Modelling for Games Programmers. US: Course Technology
Websites:
Couto, P. [No date]. Studying Dynamics and Kinematics of a Soccer Ball in a Computer. [Online]. Available From: http://www.hsci.info/hsci2004/PROCEEDINGS/FinalPapers/E00-988182336.pdf
[Accessed 20th October 2008]
-
Anon. [No date]. Physics of Sport. [Online]. Available From: http://physics-of-sport.net/soccer.html
[Accessed 23rd October 2008]
-
Hecker, Chris. 2007. Rigid Body Dynamics. [Online]. Available From: http://chrishecker.com/Rigid_Body_Dynamics
[Accessed on 16th October 2008]
-
Van Verth, Jim. [No Date]. The Future of Curved Surfaces. [Online]. Available From: http://essentialmath.com/FutureOfCurvedSurfaces.pdf
[Accessed on 14th October 2008]
-
Anon. 1998-2008. A First Look At Nvidia's GPU Physics. [Online]. Available From: http://techreport.com/articles.x/15261
[Accessed on 14th October 2008]
-
Bobic, Nick. 2000. Advanced Collision Detection Techniques. [Online]. Available From: http://www.gamasutra.com/features/20000330/bobic_01.htm
[Accessed on 14th October 2008]
-
Lander, Jeff. 2000. Collision Response: Bouncy, Trouncy, Fun. [Online]. Available From: http://www.gamasutra.com/features/20000208/lander_01.htm
[Accessed on 14th October 2008]
-
Lander, Jeff. 2000. Physics on the Back of a Cocktail Napkin. [Online]. Available From: http://www.gamasutra.com/features/20000516/lander_pfv.htm
[Accessed on 14th October 2008]
-
Journals and/or E-Books:
Whitted, Turner. 1978. A Scan Line Algorithm for Computer Display of Curved Surfaces. [Online]. Available From: http://delivery.acm.org/10.1145/990000/988440/p8-whitted.pdf?key1=988440&key2=0358095221&coll=ACM&dl=ACM&CFID=9615735&CFTOKEN=29708554 [Accessed on 28th October 2008]
-
Baraff, David. 1990. Curved Surfaces and Coherence for Non-penetrating Rigid Body Simulation. [Online]. Available From: http://delivery.acm.org/10.1145/100000/97881/p19-baraff.pdf?key1=97881&key2=8868095221&coll=ACM&dl=ACM&CFID=9615735&CFTOKEN=29708554
[Accessed on 27th October 2008]

Friday, 31 October 2008

Week 6: 27th Oct - 2nd Nov: Review Part 2

The things that I wanted done by week 5 were:
  • have a good idea about what your project will involve
  • have read some previous projects in the same area and started on related textbooks
  • have searched the WWW and other material in the library
  • have started to make noted from these resources (don't copy)
  • have started a week-by-week log book
  • have written down exact references as you find them
  • have seen your supervisor at least 2-3 times

The update is that I have done all of these however some probably not to the level I would have hoped. I have looked at books and other resources and I have made notes but not as much as I would have liked. I have seen Dr Lucas twice I think and Dr Paris once at the start. At the moment I think I do have a pretty good idea on what the project will involve.

Below is an update on some references that I have looked at:

http://eprints.kfupm.edu.sa/62704/

http://www3.interscience.wiley.com/cgi-bin/fulltext/120705799/PDFSTART

http://www.staff.uni-mainz.de/schoemer/publications/WSCG99.pdf

ftp://ftp.cs.unc.edu/pub/users/manocha/PAPERS/COLLISION/thesis.pdf

http://www3.interscience.wiley.com/cgi-bin/fulltext/120705881/PDFSTART

http://www.cs.ucl.ac.uk/staff/A.Steed/book_tmp/CGVE/chapters.htm

Thursday, 30 October 2008

Week 6: 27th Oct - 2nd Nov: Review Part 1

We were told that the presentations of our honours project will be held on Monday 17th November in Conference Suite. I am in the 10.30am to 11.30am group. The research question presentation has to be 3 mins in length and 2 mins afterwards will be left for questions. Have to make sure that it is rehersed well and that I keep it to 3 or 4 slides only. Also been told that it is not assessed so I do not need to worry about that however it will be good practice for the final talk at the end of the year. The audience will consist of CGT lecturers and students too. Also been told to keep researching and to make sure I know my methodology and I know the topic well to prepare for the questions on the presentations.

Thursday, 23 October 2008

Week 5: 20th Oct - 26nd Oct: Lecture And Goals

We were told in the lecture that the next worksheet to be done for 2 weeks time would be worksheet three. Shown as follows:

Honours Project Worksheet — #3,


Your draft research proposal

In the presentation be prepared to talk for 2 or 3 minutes describing the main points of your proposal.

The proposal should address the following points.

Introduction
What is the aim of the project (general overview)?

Motivation
Why do you want to do this and why would anybody be interested in what you want to do?

Research question
The research question to be answered.

Addressing the Question
What will be done to answer the question

Resource Requirements
What equipment/resources will be needed/used

References and Bibliography
The supporting evidence for your proposal


The proposal should be properly referenced throughout in Harvard format.
------------------------------------------------------------------------
Aim: by week 8/9 - done worksheets and presentation and therefore should be ready to write the proposal.
Remember: What?
Why?
How?
So What? - what is the measure of success
--------------------------------------------------------------------------
I really think more research is needed. I have to define the question a bit more and be able to explain it by giving sufficient background into why it is a problem.

Week 5: 20th Oct - 26th Oct: Review

Last week worksheet 2 was handed in and I got back comments from one of my peers. This was as follows:

This sounds like it could be a really great project, I'm not really sure how much i can add to this as you have a very good idea of what it is you wish to do, and you already have a solid plan on how to tackle this problem. About which API to use, i guess its a trade off between simplicity to code (openGL) and performance (directx) but i agree that these 2 are most likely the best choices given our experience with both of them.
-----------------------------------------------------------------------
Last week also saw no lecture for this module, however, I went to the library skills session. This was scheduled for us, to give us a jump start and a reminder of how to research journals etc. I found it really helpful and over the last week, I have been researching my question more and more with the help of some of the sites.

Wednesday, 15 October 2008

Week 4: 13th Oct - 19th Oct: Initial Meetings

True to my word, I have had meetings with the lecturers. Yesterday (Tuesday 14th), I met with Dr Lucas to discuss my question and today (Wednesday 15th) I met with my technical supervisor Dr Paris. Both were very helpful. My aim in seeing them, was to make sure my research question was good enough to carry on to the next stage. I wanted to make sure it wasn't too hard a question and equally, that it wasn't too easy. Both were happy enough with it and I found that, I could probably make it easier or harder depending on what I include. I have taken on board all of the advice they have given me and have now got a lot more ideas on what I shall be doing. I have decide that I should first look at how a particle moves and collides on a curved surface, then move onto a sphere and finally if time permits (which I hope it will), I will look at other objects such as a box or cylindrical shape. I was also told that my chosen topic will probably include maths knowledge from every teaching year of this course, which I am very happy about because it will allow me to bring in all my previous knowledge, along with present teaching, and apply it to solving a problem.
Because of some of the above mentioned reasons my research question has very slightly changed to:
How can the movements and collisions of objects on a curved surface be realistically simulated?
-------------------------------------------------------
Thursday 16th - went to the library session that was scheduled for us. Showed us where to find journals and e-books on my subject area. The following resources seem particularly useful:
IEEE
Safari
ACM
Scholar
ProQuest
---------------------------------------------------
My aim now is to plan the research I do from now on, write everything down, keep a record of
websites/journals/articles/books that I use and also start planning my proposal and how I will implement it on screen.

Monday, 13 October 2008

Week 4: 13th Oct - 19th Oct: Research Question (So Far...)

In preparation for deciding on a research question, I looked into resources on the ideas I previously stated. Resources shown below:
--------------------------------------------------------------------------

Completed worksheet two today. Shown below:


After a lot of research, I think that I have reached a research question.

How can the movements and collisions of a ball over a curved surface be realistically simulated?

The focus of my project is on the use of maths/physics in determining and simulating realistic movement of objects on different surfaces. These surfaces could be anything from hard, soft, flat, curved, sloped, concrete, grass etc. This can be seen in a lot of games. Sporting games for example, football and golf. Different types of balls made from different materials colliding with very different surfaces. In these sort of games designers and programmers need to work out just how realistic the movements and collisions of the ball are and often have to strike a balance between graphics and realism of gameplay. I would like to see if there are ways of implementing realistic graphical simulations of ball movements and collisions with the surfaces without having to suffer loss of speed, sacrificing good graphics/animation or even less accurate collision detection and response. To find out more about this area, I would have to study real life ball movements on different surfaces looking at how they bounce, how they react with grass etc, how they move over non-flat surfaces. I will also have to research how these surfaces can be simulated in a game by looking into how to implement curved surfaces (Bezier curves, meshes, basic triangle strips), looking at the forces of friction, air resistance, and looking at the collision of these objects with the surfaces(how they bounce, how it can be accurately detected). After learning about all the maths/physics that apply in the real world, I will then attempt to implement it into a computer program which will demonstrate all the movements and collisions of a ball on a curved surface. At the moment I am thinking that OpenGl or DirectX may be the best why to represent my findings, however I’m open to other suggestions. All of this work will hopefully allow me to successfully answer the research question.

I am now waiting for a reply from a colleague and my lecturer. Hopefully, this will be a good enough question to study, research, implement and write up. In the meantime, I am still looking for sources around this topic and gathering more knowledge on the subject to make sure I know as much as I can for the proposal.
I also made appointment with two lecturers for this week and hopefully, I will get some useful feedback from them soon.

Week 3: 6th Oct - 12th Oct: Research, Research, Research!

This week is just about research. I need to get more defined at the research to come up with a specific question. My aim this week was to narrow down a problem until I got to a specific research question. This week I have done nothing but research websites and looked for journals and now that I'm at the end of the week I'm still confused on what to do. The weekend however will be used to research more. I do have a few ideas just need to narrow them down and decide.
-
Some ideas:
Objects bouncing
Colliding in environment based on real life
Buoyancy
Movement over different terrains
Simulation of dynamics involved in animated joints/body
Procedural surfaces -curved
Liquid simulation
Particle dynamics affecting collision response
-
On Wednesday, I received an email back from the colleague below me on the class list. He gave me very helpful comments and a website to look at on a physics engine.
This was quite useful and got me more interested in the topic.
---------------------------------------------------------------------------
On the list of things to do for this week, the only thing which I have not got round to yet is meeting with the lecturers. I should have done contacted them about meeting this week as it would have helped to have their opinions before I decided on a research question. This is number one priority for next week.

Friday, 3 October 2008

Week 2: 29th Sept - 5th Oct: PART 2

Got next worksheet to do for the 12th October. Shown below:
You should have decided upon a broad topic for your honour’s project and identified some issues associated with the topic that you want to research.

1. Formulate a research question for your project. Details on the research question can be found in presentation 1 in the module folder.

2. When developing a research question you must produce a question that can be answered by performing literature research, practical experimentation and critical analysis. The question should also focus the activities of your project.

a) What is the focus of your project?
b) What information do you need to find out about?
c) What Experimental work do you need to perform?

3. How will the information that you obtain in 2 allow you to answer the research question?
This is to be done for the 12th October. It gives me plenty of time to think seriously on the specific topic and therefore the research question and also to go and see lecturers to get some advice.
-------------------------------------------------------------------------------
Plan for the next 2 weeks (to 12th October)
  1. Research websites/previous projects etc to find the problems which I could address as my honours project
  2. Narrow down a problem and how I can develop it into a question
  3. Talk to lecturers about the chosen topic - their suggestions

Week 2: 29th Sept - 5th Oct: PART 1

Answered worksheet 1. Shown below:
For my honours project, I am thinking about generally looking into how objects/characters move and interact in different game environments. In particular I wish to look at how physics/maths affect the gamers immersion into the game world but very rarely enhance the gameplay itself. To be more specific, I would really like to look at the part physics plays in determining the movement of an objects over different surfaces, taking into account friction, viscosity and the type of surface whether it be hard, soft etc. I understand that this is very general and with more research I hope that I can pick a specific area to concentrate on.

There are a many challenges which I could look into. A number of challenges, for example, arise from the fact that there is a lot of potential as to what can be done using physics however due to computer capacity; only a minor part of this potential can be put into practice. There is also a problem when physics is used too much and the game may become too hard. If the use of physics does not provide new ways for the gamer to overcome challenges, it is completely useless from the gameplay perspective. There needs to be a balance, but it is a problem in itself when trying to find out where it should be used. There has been many times when I have played games and I've been annoyed in which the character has moved for example and this is made me believe that 'this just doesn’t look real' or 'it wouldn’t happen like that' and therefore the player gets pulled out of the game reality that they should be lost in and gets bored.

To illustrate these points, I could make an application showing an object moving over different surfaces, making them more realistic maybe taking them to extremes to backup the fact that it can be taken too far and just become very annoying to the gamer.

As I've said before, this is all very generalised and still not defined to a specific idea but suggestions are very welcome.

This was sent to the next person down on the class list for his comments however, he is absent at the moment and so I don't have any comments from my peers. It was then sent to Dr Ozveren and he replied with this comment:


As you have said it yourself it is very generalised at the moment which is very natural as we are trying to identify a topic at the moment.

I suggest that you start talking to Dr R Paris or Dr Lucas at the moment to try and focus it to a specific issue.

I really think that this may be my next step - talking to the masters of maths/physics. I need to research a little more as I am having reservations about my ideas on the topic. Still happy with maths/physics but I need to specify it a lot more now.

-----------------------------------------------------------------------

2nd October: Looked at list of resources. Many of the resources were helpful

http://www.gamasutra/resource_/20040121/

Also looked at the book Physics for Game Developers