Specifications
117
Radius = 0.15;
Length = 0.4;
AnyDrawParamSurf drv = {};
//CapRatio = 0.100000;
};
};
Which causes the cylinder to rotate 20 degrees about the y axis.
There are a couple of things to notice about the cylinder: First of all the graphics looks like the cylinder is
faceted. This is not really the case. Graphically it is displayed with facets out of consideration of the
efficiency of the graphics display, but from the point-of-view of the muscle it is a perfect cylinder. The
second thing to notice is that the ends are capped in such a way that the edges are rounded. You can
control the curvature of this cap by means of the CapRatio variable that is currently commented out in the
cylinder object definition. If you play a bit around with different values of the cap ratio then you will quickly
get a feel for the effect of the variable. The caps allow you to let the muscle wrap over the edge of the
cylinder if necessary.
The next step is to define a wrapping muscle. We shall create one point on the global reference frame and
one point on the arm, and we can then articulate the joint and study the behavior of the wrapping
algorithm. The point on the global reference frame is added like this:
// Global Reference Frame
AnyFixedRefFrame GlobalRef = {
AnyDrawRefFrame drw = {
RGB = {1,0,0};
};
AnyRefNode M1Origin = {
sRel = {0.0, 0.1, 0};
};
AnyRefNode M2Origin = {
sRel = {0.0, 0.15, -0.05};
};
Similarly we add a point to the arm:
// Define one simple segment
AnySeg Arm = {
r = {0.500000, 0.000000, 0.000000};
Mass = 1.000000;










