Program BEND, Module BnnC.for
SUBROUTINE STEP2
Construct the guiding strip (not developable) by twisting the rectifying
developable about the base curve, which is held fixed.
..............................................................................
IF ( NOT (Option 7) AND NOT guessing A-length) THEN
WRITE the total twist of the developable strip.
2000 Enter the twist loop.
IF ( NOT SILENT) THEN
WRITE the final edge angle of the strip.
READ the preferred angle.
END_IF
IF ( guessing A-length OR SILENT) GO TO 1100
WRITE total twist of the current strip.
WRITE current values of the twist parameters: EXPAND, SHIFT, BLUNT, ...
READ preferred values of the twist parameters.
WRITE new values of the twist parameters.
1100 Set the indices of the two points on the base curve at which the
splining of the additional-twist of the rectifying developable starts
and ends, to be equal to the indices of the first (namely, 1) and
last points on the base curve, respectively.
DO the additional-twist, moving the starting and ending of its
splining towards each other until the new free edge of the strip
does not bulge outside of the bounds given by its prescribed
values at the first and last points on the base curve.
CALL SPLINE to smoothly interpolate the additional-twist angle
between the current starting and ending points.
CALL TORSE to twist the strip away from the rectifying devel-
opable by the additional-twist angle amount.
Compute the lateral and axial bulges.
IF (neither bulge is greater than zero) GO TO 1121
END_DO the additional-twist
1121 IF (the start of the spline has been moved up AND NOT SILENT) THEN
WRITE the index of the twist-spline starting point.
IF (the end of the spline has been moved back AND NOT SILENT) THEN
WRITE the index of the twist-spline ending point.
IF (bluntness) THEN spread (or contract) the strip by another twist
about its base curve.
9600 Compute the rate of twist of the strip.
IF ( NOT SILENT) WRITE the overall (delta L)/L.
IF ( NOT guessing the A-length AND NOT SILENT) THEN
WRITE for a selected subset of points, including those at which
maxima or minima are indicated by asterisks, the values of:
Point number
Arc length along the base curve to this point
(Delta L) / L
Additional-twist angle
Radius of curvature of the base curve
Radius of curvature of the free edge
Twist rate
END_IF
WRITE the index-numbers of the points on the free edge which have
been bulged out of the bounds prescribed by its first and
last points.
IF ( SILENT OR Option 7 OR guessing A-length) GO TO 9999
IF ( NOT DEBUG) GO TO 9830
WRITE "Press RETURN to continue ..."
WRITE for a selected subset of points, including those at which
maxima or minima are indicated by asterisks, the values of:
Point number
Arc length along the base curve to this point
(delta L)/L
Additional-twist angle
Angle between the strip and the normal to the cylinder
Strain-energy density of the base curve
Strain-energy density of the free edge
9850 WRITE "Do you want to try different values of shift, bluntness, etc.?"
IF (yes) GO TO 2000
ELSE exit from the twist loop.
9999 RETURN
END
******************************************************************************