# Function-based Shape Modeling (F-Rep)

Last time updated 23 April, 2010

 Function-based shape modeling is becoming increasingly popular in computer graphics. The idea of this approach is that complex geometric shapes can be produced from a "small formula". In this research, a general method of function-based shape modeling is studied. This method assumes that geometric shapes are represented with the inequality f(x,y,z)=>0, where the real function f is positive for the points inside the shape, equal to zero on its border and negative outside the shape. The function can be defined analytically, or with a function evaluation algorithm, or with tabulated values  (e.g., CT or MRI volume data) and an appropriate interpolation procedure.  To transform the shape thus defined or to create another shape as Boolean combination of the previously defined ones, different operations can be applied. They are, for example, affine, perspective and projective transformations, set-theoretic operations (union, intersection, subtraction), blending and morphing operations. They all are defined in function form as function superpositions and the result of any operation is a function-defined shapes as well and it can be used as an argument for other operations. For example, the exact analytical definition of the set-theoretic operations is obtained with so-called R-functions. Function representation (F-rep) lets us unify in one single model such representation as CSG, sweeps, blobby objects and even volume data. The same set of operations and relations can be applied to any object that often lets us find interesting and unusual solutions to some longstanding problems.

### Function representation for sweeping by a moving solid

Refer to [1], [2] and [4] for the details.

### NC-machining with different cutters, and sweeping by moving voxel objects

Refer to [1], [2] and [4] for the details.

### Using real functions with application to hair modeling

Refer to [2] and [3] for the details. Click here for more hair.

### Artistic shape modeling using real functions

Refer to [2] and [5] for the details.

### Putting everything together--a scene illustrating how different models  can coexist under one roof of F-Rep.

 "Geometric Mentality" Click to enlarge In this scene, the head with a drawer filled with CSG primitives, is created by trilinear interpolation of the CT volume data and set-theoretic operations applied to the head and functionally defined CSG primitives. The hair is modeled with function defined generalized cylinders.  The hairstyle has been made with the set-theoretic operations and non-linear transformations. The candle holder is modeled as a patterned lattice. It results from the set difference between a hemispherical shell and a swept pattern. The candle is modeled as a cylinder with the top part sculpted by applying a splitting operation to remove the undesirable parts. The candle is then unified with the droplets of wax which are defined by the one-dimensional medial axis model. The table and the tray are created using functionally defined CSG primitives. The lizards sitting on the leg of the table are created with the relief carving model using offsetting along the normal. The background with the clouds and the stylized comet are created with scattered data approximation and one-dimensional skeletons respectively.  Refer to [3] and [7] for the details. Rendering has been done with POV-Ray

Selected Publications
 Sourin A., A.Pasko, "Function Representation for Sweeping by a Moving Solid", In Proc.Int.Symposium Solid Modeling'95, 17-19 May, Utah, USA, 1995, pp. 383-391. Pasko A.A, Adzhiev V.D., Sourin A.I., Savchenko V.V., "Function Representation in Geometric Modeling: concepts, implementations and applications", The Visual Computer, vol.11, No.8, 1995, pp.429-446. Sourin A.,A.Pasko, V.Savchenko, "Using Real Functions with Application to Hair Modelling", Computers and Graphics, vol.20, No.1, 1996, pp.11-19. Sourin A., Pasko A., "Function representation for sweeping by a moving solid", IEEE Transactions on Visualization and Computer Graphics, vol.2, No.1, 1996, pp.11-18. Savchenko V.V., A.A.Pasko, A.I.Sourin, T.L.Kunii, "Volume modelling: representations and advanced operations", Proc. of CGI’98, June 22-26, 1998, Hannover, Germany, pp.4-13. Pasko A., Savchenko V., Sourin A., "Synthetic carving with implicit surface primitives" , Computer Aided Design, v.33,No.5,pp.379-388, 2001.