Specifications

106
The next step is to define a muscle that can use the model. This is actually the first of the two elements
mentioned above: Muscle kinematics.
Again, the AnyBody Modeling System provides a number of choices, and we shall start by picking the
simplest one. It is instructive to once again use the tree to insert a template of the muscle object, because
the tree reveals the class dependency. A muscle resolves kinematical information in the sense that it has a
certain path from origin to insertion, and it also provides force. These two properties are reflected in the way
the muscle classes are derived from a kinematic measure as well as force classes.
The simplest type of muscle is the AnyViaPoint muscle. It spans the path between origin and insertion by
passing through any number of via points on the way. The via points are fixed to segments or to the global
reference frame. It is a simple and convenient way to define many of the simpler muscles of the body,
primarily those in the extremities and the spine. You can, in fact, make a pretty decent model of the legs
entirely with via point muscles.
Place the cursor right after the end brace of the musle model, right-click the AnyViaPointMuscle class in the
tree, and insert an instance of it:
AnyMuscleModel SimpleModel = {
F0 = 100;
};
AnyViaPointMuscle <ObjectName> = {
AnyMuscleModel &<Insert name0> = <Insert object reference (or full object
definition)>;
AnyRefFrame &<Insert name0> = <Insert object reference (or full object definition)>;
AnyRefFrame &<Insert name1> = <Insert object reference (or full object definition)>;
//AnyRefFrame &<Insert name2> = <Insert object reference (or full object
definition)>;
};
Let us start by filling out what we can and removing what we have no use for:
AnyViaPointMuscle Muscle1 = {
AnyMuscleModel &Model = .SimpleModel;
AnyRefFrame &<Insert name0> = <Insert object reference (or full object definition)>;
AnyRefFrame &<Insert name1> = <Insert object reference (or full object definition)>;
};