Polymorphism is a software engineering term that is easily defineable from its latin roots: ‘poly’ meaning many and ‘morph’ meaning forms. So I define a quelea as an encompassing term for anything that has a position and can move.
A particle is the simplest object in the hierarchy of types in Quelea. An individual particle are emitted, age, and eventually die. Particles are organized into a particle system which can be used to model things such as fire, smoke, and water. A particle’s state, which consists of a position, velocity, acceleration, mass, lifespan, and appearance, is changed over its lifetime. External forces can change the particles position, but the particle has no ability to perceive its environment and react on its own. Particles do not interact with each other
An agent is an extension of a particle, with the main difference being that agents interact strongly with other agents. To achieve this, agents must have a limited ability to to perceive their environment. Therefore agents have two additional internal state properties: a vision radius and a vision angle, which together form an area of influence. In addition, agents have a maximum speed and a maximum force which limit its ability to move and turn respectively. The agents that are within this area are known as the agent’s neighbors. Thus an agent’s behavior is not only dependent on its internal state, but also the external state of its environment. This way agents can also react to environment bounds and objects in the environment such as obstacles, paths, attractors, and even other systems which could represent predators or prey.
A vehicle is an extension of an agent with additional properties such as an orientation, wheels, and in the braitenberg vehicles, sensors. The wheel’s properties affect the vehicle’s ability to move and turn while the sensors read information about its environment, usually a heightmap of light values.
References:
http://www.cs.toronto.edu/~dt/siggraph97-course/cwr87/#ref9
http://books.google.com/books/about/Vehicles.html?id=7KkUAT_q_sQC