CenterStage Object Class: Curve Subclass of the Root class The Curve class is one of the basic classes in CenterStage. It allows you to create parametric curves and specify their domains, colorations, etc. In addition to the basic directives, the Curve class supports the following: Function param func This directive defines the function that gives the curve parametrically. The "param" argument names the parameter to be used in the function, and the "func" gives a TCL script that is used to compute the value of the function for any given value of the parameter. For example Function {t} { let (x,y,z) = (t,t^2,t^3) } defines the twisted cubic curve in three-space. The script should use the value of the parameter (a TCL variable that will be set to the correct value before the script is executed) to compute values for each of the variables listed in the Axes directive (which are {x y z} by default). The script can compute its values in any way it wants, either individually, as in Function {x} { let y = x^2 let z = x^3 } or as a triple (as in the example above). The script can use any TCL commands, including if-then, loops, even procedure calls. The script has access to all the variables defined by the Setup script, and to the variables that are bound to sliders, type-ins, check-boxes and pop-up menus. Domain {min max divs} This specifies the range for the parameter and how many divisions to make for the interval. The function will be evaluated at the endpoints of each of the subdivisions of the interval, and a straight line segment will be used to interpolate between the results of the function at these points. The curve is assumed to be continuous. You can specify several domains at once using the form: Domain {{min1 max1 divs1} {min2 max2 divs2} ...} You can specify a different domain style for each domain by using the following form: Domain { {{m1 M1 n1} style1} {{m2 M2 n2} style2} ... } where "style1", "style2", etc. are each one of Solid, Dashes, or Dots. For example: Domain { {0 pi/2 10} {{pi 3pi/2 10} Dashes} } will use the Domain menu to select the style of the first interval, and will use dashes for the second interval.