The Mathematica Journal
Departments
Feature Articles
Columns
New Products
New Publications
Classifieds
Calendar
News Bulletins
Mailbox
Letters
Write Us
About the Journal
Staff and Contributors
Submissions
Subscriptions
Advertising
Back Issues
Home
Download this Issue

The Luge World

The luge world consists of the luge run, slider, and Christmas tree which are all three dimensional. A two dimensional base and mountain provide background.

The Luge Run

A luge run is an ice-covered cement structure. A steel-bladed sled, with a slider on top, glides down. Speeds of up to 80 miles an hour are possible. The run is flat on the bottom and curves up to near vertical in the corners.

Our luge run will be flat on the bottom and curve up parabolically in the corners. The three-part function channel is used to describe this profile.

[Graphics:../Images/index_gr_2.gif]

In this function, the b parameter gives the width of the horizontal portion of the run, the h parameter gives the height, and the a parameter sets the slope. Here is a plot of the profile with the parameters given in units of feet.

[Graphics:../Images/index_gr_3.gif]
[Graphics:../Images/index_gr_4.gif]

[Graphics:../Images/index_gr_5.gif]

We will generate our three-dimensional luge run by extruding this shape along a sinusoidal path. An amplitude, ampy, of 25 feet with a period, perx, of 125 feet gives a corner with a typical radius of curvature.

[Graphics:../Images/index_gr_6.gif]

The function path provides the backbone for extrusion.

[Graphics:../Images/index_gr_7.gif]

We want our extrusion to occur normal to the path so we need the angle about the vertical axis. This is given by differentiating path.

[Graphics:../Images/index_gr_8.gif]

The rotation matrix is provided by RotationMatrix3D (from Geometry`Rotations`)

[Graphics:../Images/index_gr_9.gif]

The vector which forms the luge run is constructed by rotating the profile channel through the angle yawangle and translating by the path function. The corners are made higher on one side than the other by a translation in the argument to channel. The run sides are reduced by amplitude modulating the function in between the corners. This all occurs in the function run.

[Graphics:../Images/index_gr_10.gif]

The color of the luge run is generally blue but the constant passage of the sled blades cracks the ice. These small cracks make it whiter where the sleds pass most often. A function which gives the common line is given below.

[Graphics:../Images/index_gr_11.gif]

In this function, dy is a distance normal to the path that will be useful in determining the roll of the sled later on.

Our run color will be given by the function Hue where the saturation is decreased as the position moves away from the common line. This distance is given with the aid of the Pythagorean theorem.

[Graphics:../Images/index_gr_12.gif]

The track color function, tcf, is computed as:

[Graphics:../Images/index_gr_13.gif]

We will find it necessary later on to set the colors and edge widths of the different graphics. The function editgr inserts graphic directives in graphics objects.

[Graphics:../Images/index_gr_14.gif]

Here is a plot of the track.

[Graphics:../Images/index_gr_15.gif]
[Graphics:../Images/index_gr_16.gif]

[Graphics:../Images/index_gr_17.gif]

The animation occurs over one cycle of the track but two cycles are included in the graphics since the next cycle can be seen from the first.

The Base

The track sits on a base. Its color is White (from the package Graphics`Colors`) to suggest snow.

[Graphics:../Images/index_gr_18.gif]

The base is a plane.

[Graphics:../Images/index_gr_19.gif]

The Mountain

The mountain appears in the background. It is two dimensional. The bottom of the mountain is green while the top is a snow-covered white. The graphics are generated in two steps. First, the mountain up to the snow line is generated. Then the polygons below the snow-covered areas are replaced with two polygons. The first is the original while the second is white and fills out the distance to the skyline.

The skyline is a two-dimensional amplitude-modulated sinusoid with a height of 80.

[Graphics:../Images/index_gr_20.gif]
[Graphics:../Images/index_gr_21.gif]

The mountain is snow covered starting at about the following height.

[Graphics:../Images/index_gr_22.gif]

We will first define a function that gives the height to the snowline. It is the skyline height up to the snow height and the snow height plus a random number after that.

[Graphics:../Images/index_gr_23.gif]

The color below the snow line is OliveDrab (from the package Graphics`Colors`).

[Graphics:../Images/index_gr_24.gif]

The replacement rule snowline looks for a polygon that does not reach the skyline and adds a white polygon that does.

[Graphics:../Images/index_gr_25.gif]
[Graphics:../Images/index_gr_26.gif]

Here is a plot of the track, mountain, and base.

[Graphics:../Images/index_gr_27.gif]

[Graphics:../Images/index_gr_28.gif]

The Tree

A Christmas tree is placed on the inside of the second corner to give a sense of scale and speed. The tree has a whorl for each year of growth and a stump. Both the stump and whorls use cylindrical coordinates in their definition.

[Graphics:../Images/index_gr_29.gif]

In this function, r is the radius, th is the angle about the vertical axis, and z is the location along the vertical axis.

The function whorls creates the foliage of the tree. In this function, h is the height of the tree in feet, slope sets the taper of the individual whorls, offset sets the change in diameter from whorl to whorl and pos is the overall position. The height should be two or greater.

[Graphics:../Images/index_gr_30.gif]

The stump is formed by a cylinder.

[Graphics:../Images/index_gr_31.gif]

The stump and whorls are combined into the function xmastree. The origin of the tree is at the bottom of the stump and is given by pos.

[Graphics:../Images/index_gr_32.gif]

For the luge ride, we will have a seven foot tree at the inside of the second corner.

[Graphics:../Images/index_gr_33.gif]

Here is a plot of our tree.

[Graphics:../Images/index_gr_34.gif]

[Graphics:../Images/index_gr_35.gif]

The Slider

A luge rider lies feet first with his back on the sled. The rider steers by rolling his toes in the direction he wishes to go. The foot is pointed to minimize wind resistance. Only the feet and lower portions of the legs are visible during the run.

The graphics of the slider consist of cylinder for each leg and an irregularly shaped polygon for each foot. The function limb produces a leg using the cylinder function.

[Graphics:../Images/index_gr_36.gif]

If you trace the outline of your foot on a piece of graph paper, you might get the following set of points.

[Graphics:../Images/index_gr_37.gif]

These points are used to generate a polygon which is then rotated to point the toes and translated to the end of the limb (by the functions RotateShape and TranslateShape from Graphics`Shapes`).

[Graphics:../Images/index_gr_38.gif]
[Graphics:../Images/index_gr_39.gif]

The left leg is created by combining the foot and limb. The leg is then rotated by the angle lroll (to suggest steering of the luge) and then translating it off center. Mirroring the left leg using AffineShape (from Graphics`Shapes`) creates the right leg. The right and left legs are combined and colored in the function legs.

[Graphics:../Images/index_gr_40.gif]

In the animation, the legs will require full-motion capability in position and attitude. The function slider positions the legs to spos with the angles of roll, pt (pitch), and yaw.

[Graphics:../Images/index_gr_41.gif]

Here is a plot of the slider at his origin.

[Graphics:../Images/index_gr_42.gif]

[Graphics:../Images/index_gr_43.gif]

Since the backsides of the legs are not visible during the animation, a few polygons were saved by only plotting three quarters of the perimeter.


Converted by Mathematica      

[Article Index] [Prev Page][Next Page]