Bezier Surface Generator
Bezier Surface Generator - 4 x 6 grid - Spreadsheet entry.
Note that a reasonably fast computer is required to run this model.  Developed on HP i7, 8GB 
RAM.  Hiding "Surface" during input of data may overcome slowness. 
By selecting appropriately from a grid of 4 rows of 6 points this model creates a system of 
bezier curves from which is generated a surface having a boundary that may be rectangular, 
triangular, waist-like or bulbous.  For each of the 4 rows of the grid, from 1 to 6 points may be 
chosen to be included in shaping the surface.  Point selection proceeds in sequence from point 
A1 (B1,C1, D1) through to A6 (B6, C6, D6) and is achieved by operating sliders . 
 The value of the slider corresponds to the degree of the bezier applied to a row:  0 (a point), 
1 (straight line), 2 (quadratic bezier) and 3 (cubic bezier), etc.  Having the "degree" (or power) 
of each of the four lateral beziers alterable leads to the ability to create irregular shaped 
boundaries.  The x, y, z values of each point are introduced via the Spreadsheet.  Although not 
implemented here, the spreadsheet could be used to transform polynomial parametric 
functions of up to power 5 into Bezier Control Points corresponding to that function, enabling 
the modelling of recognised curves.  
Points not included in the generation of the surface are blanked out on the screen.
Bezier curves have been limited to lie between their two end points.  Accuracy falls away when 
the curve continues beyond these limits.  Never-the-less Slider limits are alterable.
Non-rational Beziers are at the foundation of this model although Rational Beziers could be 
implemented, having the advantage of being capable of describing a greater range of curve 
types (a circular arc is one such curve).
There are four levels to implementing this model and it was found necessary to describe the 
surface by using only functions, functions of functions, ........... Although the  shorthand 
mathematical definition of a Bezier Surface is given by a [.......] notation, this 
is not understood by Geogebra.
Background.  A Bezier Surface is the trace of a point running along a single "longitudinal" bezier 
curve whose Control Points are themselves points on "lateral" bezier curves.  In this model the 
degree of the longitudinal bezier is always three, requiring four such lateral bezier curves.  The 
trace-point on the longitudinal bezier has its position controlled by parameter "v" while  
parameter "u"  applies to the 4 lateral beziers.  The degree of each of the four lateral beziers is 
individually set by a slider () to: 0 (a point), 1 (straight line), 2 (quadratic 
bezier) and 3 (cubic bezier) etc.