A fully configurable virtual laboratory of classical mechanics

Abstract

Dissertação de mestrado em Computer ScienceNowadays many mathematical applications allow the user to introduce its own equations in the system and also observe through different possibilities the desired results. Regarding physics, an extended range of virtual laboratories allow the user to accomplish virtual physics experiments. These virtual laboratories consist in predefined scenarios where the user can change the value of the physics variables and then visualise the changes accomplished. Other virtual laboratories uses a physics engine allowing the user to create its own scenarios. However, the physical behaviour of the objects is hardcoded since it results strictly on the physics equations used internally by the physics engine. This dissertation pretends to investigate how far and with what degree of scientific rigor it is possible to associate the idea of the user introducing its own equations with the idea of accomplishing virtual experiments of physics. As a proof of concept, this dissertation focus on a specific area of mechanics: the dynamic of rigid bodies. The result of this research is a virtual laboratory completely different relatively the others. Our system has no knowledge about physics. Even the most general laws of physics such as the Newton’s second law are not known by the system. To the system, any equation introduced is considered just as one more equation without any particular meaning associated to it. The same happens for any physics entity. For example, if the gravitational acceleration is introduced by the user, to the system it is just another attribute of the world. Taking into account the dynamics of rigid bodies, an object can be identified as being, at any time, in one of three different states. These are: when a object is not in contact with any other, when an object collides with another object and they immediately separate, and when two objects remain in contact over time. The user must specify all the equations that drive each of these three states. Using its geometrical knowledge, the engine determines at any time in which state an object is. Also, the system provides all the relevant geometrical information. For instance, in a collision between two objects, the point and the two normals vectors of the collision are provided. The graphical simulations reflects strictly on the equations introduced. Therefore, if the equations to solve a collision between two objects does not reflect the real underlying physics of the situation, it is possible that the objects simply ends-up penetrating each other. All the relevant numerical information about an experience can be processed through different forms. In fact, the user can request plots of variables, the graphical application of vectors on objects, and even the tracing of the variables at a specific event

    Similar works