Geometric models surfaces

Similarly, we can divide surfaces into analytical, interpolative and aproximative.

Analytical surface

    Analytically we can define a surface :

  • Implicitely :  f(x,y,z) = 0
  • Explicitely defined surface is a function of two co-ordinates of x and y :
      z = f(x,y)
  • Parameter expression is the most suitable for construtiion of a surface  :
      x = x(u,v), y = y(u,v), z = z(u,v),
    where parameters  u∈<umin,umax> and v∈<vmin,vmax>


Let's have got a globe surface with radius r and centre in dot (0,0,0).

  • Implicitely is figure :
     x2+y2+z2-r2 = 0.
  • Explicitely is figure :
    z = (-1)* sqrt(x2+y2-r2).
  • Parameter figure is :
    x= r. cos(u) . cos(v)
    y= r. sin(u) . cos(v)
    z= r. sin(v),

    where u∈<0,2Π> and v∈<-Π/2, Π/2>.


Applet: 4 diferent surface, select key :  1-5 choose typ axonometry, 7 add and 8 sub one curve

Interpolative surfaces

Interpolative surfaces are used at that time when there is a given system of dots or curve of surface and we are to realize dots of the surface. A surface defined in this manner can be determined by a system of dots for one or two systems curves in this surface.     Under a patch we understand a part of surface limited by 4 frontier curves. Providing that only 2 frontier curves a0(v) and a1(v), for v Iv, are given, reminding 2 are to be substituted by  lines. The most simple way of setting a patch is to join all equivalent dots of curves a0(v) and a1(v), for v Iv.  Now the patch for in v Iv and u∈<0,1>  is defined by relation:    P(u,v) = a0(v)*(1-u) + and 1(v)*u     Let's construct a  patch defined by 4 curves with common dots in edge.Oposite sides of border of the patch let be curves and 0(v) a a1(v), resp. b0(u) a b1(u). Position vectors of the patch's edges can be marked P0,0 ,P0,1 ,P1,0a P1,1.

Mapping matrix of the patch is  :

    [ P0,0   a0(v)    P0,1  ]
M = [ b0(u)  P(u,v)  b1(u) ],
    [ P1,0   a1(v)    P1,1   ]
where P(u,v) is position vector of common dot of the patch.

For facilitywe  mostly select parameters u and v ∈<0,1>.

Bilinear Coons patche

Is given by figure :
               [ 1-v ]
[ 1-u -1 u ] M [ -1  ] =0,
               [  v  ]
where linear function 1-u u and -1 are blending function and parameters u and v∈<0,1>.

Aproximate surfaces

Theory of aproximate surfaces in geometric designing is based upon similar ground as the theory of approximative curves. Operating network of approximative surface is defined by matrix M = [(m+1),(n+1)] of operative dots of the defining form of network (we call them also network knots).

    [ V0,0 V0,1 ... V0,m ]
    [ V1,0 V1,1 ... V1,m ]
M = [ V2,0 V2,1 ... V2,m ]
    [ ... ... ... ... ]
    [ Vn,0 Vn,1 ... Vn,m ]

Bezier's surface

Bezier's surface for operative network M with parameters (m+1) x (n+1) dots is defined by parametric formulation: ,
where   are Bernstein polynom for u and v ∈ < 0,1 >.


Applet: Bezier's surface, select with a mouse one from command point in left-top and move it with a key: in line of axis x (q , w -), in line of axis y (e +, r -), in line of axis z (t +, y -)


Applet Drawing point, in corner right bottom are co-ordinates current point. Author: Matej Hudak

Bezier Applet

Assignment of project: Bezier surface represented by java applet Bezier surfaces were first described in 1972 by the French engineer Pierre Bezier who used them to design automobile bodies. In my applet I defined 2 classes. First main class bezierApplet where I defined some buttons and actions. I?m using JButtons for better presentation. Second class is for calculations and drawing Bezier surface. There are some methods to care about points, drawing lines between points and shift with points. Algorithm created array of points which are control points to Bezier surface. Then it draws lines between points. I can change z axis of each point, and surface will be change too. I can change number of lines, zoom surface in and out. And I can rotate surface in 2 ways, so I can see Bezier in point of view which I want to see. I can also turn off or turn on render quality (RQ). I?m using render with ant aliasing and better render quality, also I?m using better quality of presentation points in space, and I?m calculating their color so it seems they are in 3D not just in 2D.

Racional Bezier's surface

They are a generalization of Bezier's curve, where to each dot of operative network a weighting value of dot wi,j (i.e. how big effect will the given dot of operative network have on resultant surface). For each dot of operative network we define a parameter of weight, by which we can influence the form of the surface without shifting the dots of operative network. Rational Bezier's surface is defined as follows:

B - spline surface

The most problem of Bezier's surfaces is their difficult knotting and  fact, one value change will cause change all surface. B-spline surfaces are generalize Bezier's surfaces. B-spline surfaces are easier to make smooth, and so they are better for modelling the objects. The most important advantage of them is that changing coordinates of one control point will results only in local change of all B-spline surface.