-- Cubic.mesa -- Last changed by Michael Plass, August 4, 1982 1:45 pm -- Written by Doug Wyatt, September 1, 1980 10:00 PM DIRECTORY Vector USING [Vec], CGCubic USING [Bezier, Coeffs]; Cubic: DEFINITIONS = { Coeffs: TYPE = CGCubic.Coeffs; -- RECORD[c0,c1,c2,c3: Vector.Vec]; -- The coefficients for a parametric cubic -- x = c3.x*t↑3 + c2.x*t↑2 + c1.x*t + c0.x -- y = c3.y*t↑3 + c2.y*t↑2 + c1.y*t + c0.y Bezier: TYPE = CGCubic.Bezier; -- RECORD[b0,b1,b2,b3: Vector.Vec]; -- The Bezier control points for a cubic CoeffsToBezier: PROCEDURE[c: Coeffs] RETURNS[b: Bezier]; BezierToCoeffs: PROCEDURE[b: Bezier] RETURNS[c: Coeffs]; BezierPolygon: PROCEDURE[b: Bezier, epsilon: REAL,Proc: PROCEDURE[Vector.Vec]]; IsFlat: PROCEDURE[b: Bezier, eps: REAL]; CubicImpl: PROGRAM; }. Michael Plass, August 4, 1982 1:45 pm. Made Coeffs and Bezier the same as in CGCubic.