CenterStage Object Class: SurfaceFromSurface Subclass of: Surface Requires reference to a Surface object The SurfaceFromSurface lets you create a Surface object that relates to another existing Surface object. For each value of the domain grid, the reference surface value is calculated, then the referring surface function is evaluated and added to it, either in absolute coordinates, or in relation to a frame on the surface. The frame is determined by the normal vector to the surface and the partial derivatives of the surface with respect to its parameters (note that this need not be an orthonormal basis). In addition to the standard Surface directives, SurfaceFromSurface supports the following: Function params func [vfunc] [-frame | -absolute] Here the "params", "func" and "vfunc" arguments are the same as for the standard Surface. The -frame and -absolute options determine whether the result of the function is in the coordinate system of the linked surface's frame or in absolute coordinates (the default). If -frame is provided, then both the surfaces must be in 3-space, and the frame is computed numerically. The x-coordinate of the result corresponds to the normal direction for the surface, the y-coordinate to the direction of the first partial derivative of the surface, and the z-coordinate to the direction of the second partial derivative. For example: Domain {Inherit} Function {u v} { let (N,U,V) = (d,0,0) } -frame Axes {N U V} Slider d 0 1 .1 produces a surface offset from the original one by a distance d along the surface normal. The distance is given by the value of a slider, so the family of offset surfaces can be investigated this easily. Domain {Inherit} This special form of the domain command can be used to inherit the domain of the original surface. Standard Domain specifications can also be used to provide a domain other than the one of the linked surface.