- leg :: (CoordinateSystemClass s, StateOf m ~ s) => LegStyle -> Vector3D -> Point3D -> RSdouble -> Point3D -> FRP e m Joint () -> Leg e m
- data LegStyle
- data Leg e m
- jointAnimation :: (CoordinateSystemClass s, StateOf m ~ s) => FRP e m () () -> FRP e m () () -> FRP e m Joint ()
- legs :: [Leg e m] -> FRP e m () ()
- approach :: (AbstractVector v, AbstractSubtract p v, AbstractMagnitude v) => p -> RSdouble -> Rate RSdouble -> Time -> p -> Rate v
- approachFrom :: (AbstractVector v, AbstractAdd p v, AbstractSubtract p v, AbstractMagnitude v) => RSdouble -> Rate RSdouble -> p -> FRP e m p p
- approachA :: (AbstractVector v, AbstractAdd p v, AbstractSubtract p v, AbstractMagnitude v, FRPModel m) => RSdouble -> Rate RSdouble -> FRP e m p p
Documentation
leg :: (CoordinateSystemClass s, StateOf m ~ s) => LegStyle -> Vector3D -> Point3D -> RSdouble -> Point3D -> FRP e m Joint () -> Leg e mSource
Constructs a leg, based on several parameters.
See the descriptions of foot
and joint
for
more information on how some of these parameters
are interpreted.
- style - See LegStyle. * bend - The bend vector of the articulated joint * base - the base or shoulder or fixed point of the joint * len - the total length of the articulation * end - the natural resting point of the foot the foot will rarely actually be here, but will try to return to this point as it walks. * animation - an animation to display the joint
A description of a leg.
(StateOf m ~ s, CoordinateSystemClass s) => AffineTransformable (Leg e m) |
jointAnimation :: (CoordinateSystemClass s, StateOf m ~ s) => FRP e m () () -> FRP e m () () -> FRP e m Joint ()Source
Animates the upper and lower limbs of a joint into a single animation,
using the affine transformations joitn_arm_upper
and joint_arm_lower
.
legs :: [Leg e m] -> FRP e m () ()Source
Combines a group of legs into a group that will try to keep at least half of the legs on the ground at all times.
approach :: (AbstractVector v, AbstractSubtract p v, AbstractMagnitude v) => p -> RSdouble -> Rate RSdouble -> Time -> p -> Rate vSource
An acceleration function that that tries to approach a goal point. It begins slowing down when it comes within the goal radius, and otherwise travels at a fixed speed toward the goal. The goal radius and speed are defined in terms of the magnitude method of the vector type.
This function is just a pure differential equation, see approachFrom
and approachA
.
Parameters are: * A goal point. * A goal radius. * An approach speed.
approachFrom :: (AbstractVector v, AbstractAdd p v, AbstractSubtract p v, AbstractMagnitude v) => RSdouble -> Rate RSdouble -> p -> FRP e m p pSource
Approach a moving goal point from the specified starting point.
See the description of approach
.
approachA :: (AbstractVector v, AbstractAdd p v, AbstractSubtract p v, AbstractMagnitude v, FRPModel m) => RSdouble -> Rate RSdouble -> FRP e m p pSource
Approach a moving goal point, starting at the initial position of the goal point. The particle won't move until the goal point moves.