.. _glossary: Glossary ================ .. glossary:: A0 Initial angle property. Applies to torsional springs. acceleration Change in velocity in a unit time. In Mekanimo unit time is a second. .. math:: \boldsymbol{a}=\frac{dv}{dt} active Element property. When active property of an element is set to be False, solver ignores the element. alias Each element can have a name and an alias. Aliases are used for ease of typing at the interpreter. amplitude Harmonic motion's (oscilating motion) magnitude of change. .. math:: x(t)=A \cos(2\pi ft+\phi ) Where t is time, A is the amplitude, f is the frequency, and phi is the phase angle. angular velocity Change in orientation in a unit time. In Mekanimo, unit time is seconds and orientation is defined in radians. API Stands for Application Programming Interface. assembly In Mekanimo, a group of elements (rigid bodies and connectors) fit together to form a unit. b1x x component in body1's local coordinate system. b1y y commonent in body1's local coordinate system. b2x x component in body2's local coordinate system. b2y y commonent in body2's local coordinate system. beam A type of :term:`connector` used to attach non-overlapping :term:`rigid bodies ` to each other or a :term:`rigid body` to the :term:`ground` so that they behave like one single rigid body. behavior In Mekanimo, behavior is defined as an condition, action, and parameters. When the specified condition is satisfied then the action is triggered. behavior dialog A GUI dialog used to assign behaviors to elements. Double clicking on an element or `Object` `Assign Behavior` menu brings up the behavior dialog. belt In Mekanimo, belts are used to transmit rotational motion between two circles. boolean operator and, or, not bound element tbd bounding box Smallest rectangle a rigid body can be fit into. Box2D Mekanimo uses Box2D as a solver. http://www.box2d.org break force In Mekanimo, connectors can be destroyed when the reaction forces of the connector in question exceeds the specified break force (`breakForce`). If the `breakForce` property is set to `None` then the connector is not breakable. break torque In Mekanimo, motors can be destroyed when the reaction torque of the motor in question exceeds the specified break torque (`breakTorque`). If the `breakTorque` property is set to `None` then the motor is not breakable. brush See texture. C Damping coefficient. canvas One of the main components of Mekanimo. Depending on the context, it may mean the part of the GUI that graphics are displayed or the `canvas` object in the API. cartesian coordinates (x, y) pairs commonly used in rectangulare coordinate systems. CG Short for center of gravity. Rigid bodies can be simulated by a lumped mass (all mass concentrated at a point) located at their center of gravity. CG indicators In Mekanimo, CG location is indicated by these "L" shaped indicators for rectangles and polygons, and lines for circles. code snippet A short code example to demonstrate a topic. coefficient of friction When two bodies pressed together center of gravity Rigid bodies can be simulated by a lumped mass (all mass concentrated at a point) located at their center of gravity. coefficient of restitution The ratio of a rigid body's velocity before and after a collision. code editor A part of Mekanimo's GUI that let the users edit Python code. color box A dialog box used to let the users assign colors to the objects in the canvas. component In Mekanimo, component is defined as an element that belongs to an assembly. compression tbd connector An object that connects two rigid bodies to each other or a rigid body to the ground. See connector types PIN, WELD, MOTOR, SPRING, TORSPRING, GAP, BEAM. LINK, CHAIN, BELT, HSLIDER, VSLIDER, HRAIL, VRAIL construction tools tbd Ctor Angular damping coefficient. damping coefficient tbd degree of freedom A displacement quantity which defines the position and orientation of a rigid body. density Amount of mass per unit volume. Since Mekanimo handles only planar objects, density can be defined as the amount of mass per unit area. DOF See degree of freedom. element In Mekanimo, an element is a rigid body, connector, force, torque, or trace that is included in the model. flag Flag is a term used in programming to define a value which can usually be either True or False. force An external influence on a rigid body resulting in change of its velocity. frame rate Number of changes per second in an animated sprite. frequency Number of cycles per second. GIF Short for Graphics Interchange Format. A commonly used computer image format. global coordinates World coordinates grid Regularly spaced (both verticaly and horizontaly) rigid bodies. ground tbd GUI Stands for Graphical User Interface. In this manual it is used to indicated that an action is performed by using the menus (via GUI). GUI editor tbd handle tbd hit test tbd impulse tbd integer tbd interpreter tbd JPEG tbd K Spring stiffnes [F/L]. Ktor Torsional stiffness [T/rad] L0 Initial spring length. local coordinates Body coordinates mass An object's resistance to changing its state of motion due to external forces. .. math:: F = m * a Where F is force, m is mass and a is acceleration. matrix tbd millisecond One thousandth of a second or 0.001 seconds. moment of inertia The resistance that a body exhibits to rotational acceleration (change in angular rotation velocity). MPEG Audio and video compression format develeoped by Moving Picture Experts Group. namespace A container holding key value pairs. In Python (and many other languages) variables can take different values depending on the context they are used in. object tree tbd orientation angle Used to define the angular position of a rigid body. The angle between a rigid body's local x axis and global x axis in radians. phase angle In harmonic motion, phase angle is the initial displacement at T=0. .. math:: x(t)=A \cos(2\pi ft+\phi ) Where t is time, A is the amplitude, f is the frequency, and phi is the phase angle. PNG An image format with lossless data compression. Short for Portable Network Graphics. projectile In Mekanimo, projectile is a rigid body (usually a circle) thrown with an initial velocity. PyBox2D A library providing Python bindings for Box2D. http://code.google.com/p/pybox2d/ Mekanimo uses PyBox2D to manipulate Box2D objects. Pygame Pygame is a Python based game library. Mekanimo uses Pygame's mixer module to play sound files. Python Python is the programming language Mekanimo is written in. http://www.python.org/ Python interpreter Used interchangibly with Python shell. This is where the Python commands can be typed and executed. rigid body An idealized solid that cannot be deformed due to external forces acting on it. Hence the distance between any two points in a rigid body is constant. Although rigid bodies do not exist in nature, they are very useful for approximating dynamic behavior of solid objects. rigid body types CIRCLE, RECTANGLE, and POLYGON snap to grid Used for aligning and positioning objects with ease. When snap to grid option is turned on, Mekanimo aligns rigid bodies and connectors to the closest intersection of the grid. solver The physics engine that computes the positions, orienations, and velocities of the defined rigid bodies subject to the prescibed constraints. Although Mekanimo can use different solvers, in this release only Box2D is used. sprite In Mekanimo a sprite is a 2D animation (or a static image) attached to a rigid body. See :ref:`sprites` stiffness The required force to deflect a spring by one unit length. system box tbd tag An element's name shown visually at the CG location. They can be turned on or off from the ``Show/hide Tag`` submenu located under the ``Object`` menu. target tbd tension Force due to stretching a spring element. texture Also known as brush is a bitmap image applied to a rigid body shape. time increment Amount of time advancement that the solver uses to compute the updated positions and velocities of the rigid bodies in the model. time step Mekanimo's solver computes the positions and velocities of the rigid bodies in the model by advancing time by small amounts and updates the objects in the canvas. If the time advancements are small enough and graphics are updated fast enough we perceive the changes as a continuous animation. A time step can be defined as a batch of computations the solver performs to compute the positions and velocities of the rigid bodies in the model for the given time advancement (time increment). torque Measure of the tendency of a force to rotate an object. tuple In Python a tuple is an immutable sequence. untoggle Act of changing the state of a toggle button. A toggle button can be either on or off. vector A quantity defined with a magnitude and direction. velocity In Mekanimo, velocity is a vector quantity, defining the rate of change of position of rigid bodies. .. math:: \boldsymbol{V}=\frac{ds}{dt} wall system.box is made out of four walls. system.bottomWall, system.leftWall, system.topWall, and system.rightWall. weight Magnitude of the gravitational force acting on the rigid body. .. math:: W=mg Where W is weight, m is mass, and g is the acceleration of gravity. weld A type of :term:`connector` used to attach overlapping :term:`rigid bodies ` to each other or a :term:`rigid body` to the :term:`ground` so that they behave like one single rigid body. wxPython A cross platform GUI toolkit for the Python programming language based on wxWidgets GUI library. http://www.wxpython.org XY plot In Mekanimo, xy plots display the displacement, velocity, and acceleration values vs. time. Z order In Mekanimo Z order is the order rigid bodies and connectors are drawn in the canvas. By default the last object is drawn on top of all other objects. This order can be changed by using the popup menu. zero gravity tbd