Computer Graphics & Geometry
S. Vyatkin
Institute of Automation and
Electrometry, SB RAS
Novosibirsk, Russia,
E-mail: sivser@mail.ru
Contents
Abstract: Freeform synthesized by means of perturbation functions are considered. A special feature of the free forms based on the scalar perturbation functions and the method of their visualization is that the time of geometrical processing and the amount of data required for visualization the surface do not depend on its geometry. The free forms based on the analytical perturbation functions have an advantage of spline representation of surfaces, that is, a high degree of smoothness, and an advantage of arbitrary form for a small number of perturbation functions.
Keywords: Geometric modeling, function-based surface representation, perturbation functions, patches of arbitrary forms.
Several representations of geometric objects are currently used in computer graphics. Each of the objects, according to its properties, is used in different fields, beginning from 3D simulation and CAD systems up to real-time visualization systems.
The polygonal surface representation is a piecewise linear interpolation of a surface. Its merit is a simple representation and universal application because the piecewise linear representation exists for any surface. We should mention the insignificant computational expenses required for visualization and geometric transformations. The drawback is large database for storing the information on the surface geometry. Highly detailed models (multiresolution geometric models), e.g., antique sculptures, subjected to computer reconstruction have hundreds of millions of triangles.
The spline representation of surfaces [1, 2], along with analytical representation, is used in AutoCAD and 3D Studio systems. It is characterized by a highly accurate representation of 2D and 3D objects.
The functional representation [3] describes most accurately the object geometry and has the smallest size of the required data. Procedures of functional representation demonstrate compact and flexible representation of surfaces and objects that are results of logical operations on volumes. Its disadvantage is complicated geometrical processing and visualization in real time.Several kernels described in [4-13]:
| h(r)=exp(-a²r²)², r>0 | (1) |
Note:
Produced point, line, plane and stopped for arc and triangle.
| h(r)=1/r, r>0 | (2) |
| h(r)=1/r², r>0 | (3) |
Note:
Yielded solutions for various primitives. For planes solution, however, did not converge and solution for arcs is expressed via elliptical integrals. It is too difficult.
| h(r)= | 1-3r², 3/2(1-r)², 0, |
0<=r<=1/3, 1/3<r<=1, r>1. |
(4) |
| h(r)= | 1-(1/9)r 0, |
r<1, r>1. |
(5) |
| h(r)=(1-r²)², | (6) |
Note:
Produced solution for point, line, plane, arc; unfortunately, a triangle primitive is not one of them.
| h(r)=1/(1+s²r²)², r>0 | (7) |
where r is the distance from the point and coefficient s controls the width of the kernel.
Cauchy kernel covered the whole set of geometric primitives. This kernel allows direct analytical solutions of convolution integral.
An implicit surface S is defined as an isosurface at level T in some scalar field f):
S = {p R³ | f(p) - T = 0} |
(8) |
A convolution surface is the implicit surface based on a function f(p), obtained via convolution
| f(p)
= g(p)* h(p) = |
(9) |
R³
The geometry function g(p) defines the shape of an object and its position in 3D space. The kernel function h(p) defines the description of some potential that is produced by each point on the object. Convolved together, these two functions produced a scalar function f(p) that defines the convolution surface.
Using the Cauchy convolution kernel the field functions for a five of primitives can be derived. These primitives are:
Note:
Circles and polygons may be built by combining, respectively, arcs and triangles.
In principle, any geometric primitive may be used as a skeletal element for convolution surface model, but in practice, the choice of such primitive is often limited by technical difficulties of evaluating the convolution integral. All these modeling primitives are presented as closed-form functions, which return the amount of field generated by the primitive at an arbitrary point, calculated to a machine-size float precision. This makes it possible to visualize convolution surfaces using direct rendering algorithms. Several algorithms described in [14].
This is a brute-force method that steps along the ray, evaluating the field function f(t) on each step. The surface is detected when the sign of f(t) first changes.
F(r) = f(t) = 0
Was developed an algorithm guaranteed to detect the surface, modeled by functions with computable L and G parameters that represent the Lipschitz constants for the function f and its derivative df/dt along the ray. For non-algebraic modeling functions f, computations of L and G may become prohibilitively difficult, even if L and G a derived in symbolic form.
These are modifications of LG-surfaces. It is important to note that all algorithms (Karla, Barr, Hart) that bound the rate of change of the implicit functions f(t), either with a Lipschitz constant or with derivatives df/dt (Mitchell) work better when these bounds are as tight as possible. Therefore, the must be computed at run-time for each ray individually and for each interval along this ray, which may not be an easy task to accomplish for complex functions f. The use and ultimately will turn the root-isolating algorithms (Mitchell, Karla, Barr) into a simple bisection, and the sphere-tracing algorithm into ray marching.
Space mapping technique based on radial based functions (RBFs) is a powerful tool, which offers simple and quite general control of modeled shapes [15-18].
This paper proposes firstly free forms synthesized by means of the scalar perturbation functions. The proposed freeform representation has the main advantage of the spline surface representation, namely, the high degree of smoothness.The modeled surface is described by a third-order function and has the smoothness of degree 2 within the frames of one node of the altitude map. The freeform may have an order much higher than the third and, however, be modeled by one altitude map. This is equivalent to representing an identical surface by a great number of patches, which increases the time of geometric processing of the surface by a value proportional to their number.
Secondly, the paper describes free forms based on the analytical perturbation functions. It is shown that an adequate surface smoothness and a compact object description can be achieved using a limited number of base and perturbation functions.
For visualizing the multilevel recursive object space subdivision algorithm was used [19, 20].
The
general surface theory is described in [21]. We call the open simply connected
set of points on the plane a domain of the plane. Let D be the plane
domain and
its closure. We enter the coordinate system (u, v) on the plane. Let x,
y, z be the rectangular Cartesian coordinates of the points in the 3D Euclidean
space E³. Prescribe three
continuous functions on the set
:
x= (u, v), y= (u, v), z= (u, v). |
(10) |
We assume that functions (10) have the following property. If (u1, v1) and (u2, v2) are different points of the set D, then M1 (x1,y1,z1) and M2(x2,y2,z2) of the space E³, whose coordinates were calculated by formulas (10), are also different:
x1= x2= |
(11) |
The
set S of the points M (x,y,z) whose
coordinates x, y, z are defined by (10), where the
functions
,
, and
in the closure D of the domain D possess the described
property, is called a simple surface.
The simple surface that is a plot of the function defined in the 3D space z = f(x, y) is referred to as the freeform surface F.
The freeform surface representation based on the scalar field is a totality of a base surface P (in the same coordinate system as F) and the related altitude map.
We may use any surface as the base surface, however, surface used in practice are simple surfaces such as planes, ellipsoids, or cylinders.
The altitude map is a 2D rectangle called hereafter a perturbation domain Dp of the base surface P, and the perturbation function h(u,v) is given inside this rectangle. The altitude map in turn determines the perturbation. The domain of h(u,v) is D h(u, v) = {U, V}, where U and V are the size of the rectangle.
The
altitude map and the base surface are related as follows: there exists a
transformation G (
) from the
coordinate system of F and P to coordinate system of the map.
This transformation is usually a parallel projection.
The value of h(G(dF)) characterizes the deviation of the point dF, on the surface F from the point dp that is the projection of this point onto the surface P. In other words, the value of h (G(dF)) is equal to the scalar of vector
| (12) |
Therefore, the
domain of the freeform surface can be defined as a set of point in
, which are defined
by the vector equation
| (13) |
where
is the normal to
the base surface.
If
the vector
is outside the
perturbation domain, the vector
h(G(
))=0 and
is the vector on
the base surface. Thus, for prescribing the form of the perturbing surface we
can use a table of numbers, and the function h can be represented by a
function of interpolation by pivotal values taken from the table (Fig. 1).

Fig. 1. The table of altitude map numbers.
In this case, we may assume that a scalar field is given in the perturbation domain Dp.
The function h has the form:
| h(u,v)=f0+(f1-f0)(v-m_v), | (14) |
where
f0 = (1-(u-m_u))table[m_u, m_v
])+(u-m_u)table[m_u+1][m_v],![]()
f1 = (1-(u-m_u))table[m_u, m_v+1])+(u-m_u)table[m_u+1][m_v+1],
m_u is the integer part of u, m_v is the integer part of, and table[m_u][m_v] is the m_uth and m_vth elements of the table (see Fig. 1).
The freeform surface F based on the scalar field (Fig. 2) is specified by means of the surface and the perturbation function (the table of numbers, which characterizes the deviation of the surface F from the base one at check points).
This paper considers representation of freeform surfaces based on the base planes. In this case, the transformation G is a parallel projection directed oppositely to the normal vector of the base plane. We will use the notion of the freeform surface F as a combination of the base planes and the perturbation domain; it may have a rectangular contour (Fig. 3) or be defined by vector equation (13).
Proceeding from the foregoing, we realized construction of the surfaces in such a manner that to map objects with a nonlinear boundary. In addition, we entered the notion of a threshold value at the node in the table and the criterion of membership of a space point(15).
|
h (G(
G (
Dp |
(15) |
where threshold = const
R means the threshold value.

Fig. 2. The perturbation function and the base plane.

Fig. 3. The combination of the base plane and the perturbation domain.
Introducing the
requirement of belonging the vector image
(G(
)) to the perturbation domain Dp enables
clipping those parts of the space, which are mapped to the zone outside the
perturbation domain. Space elements whose image is in the perturbation domain
but which do not belong to the object created are clipped by the h(G(
))>=threshold criterion. The
altitude map values satisfying these requirements determine the perturbation
boundaries of the multiply connected domain that is used in the creation of the
object (Figs. 4 and 5).
The synthesis of
surfaces by means of the scalar perturbation functions possesses a
substantial constraint on the class of
created objects. The surface F must be a surface of a zero level of some
function. This means that each point on the base plane can be associated with
one and only one point on the surface F. Thus, it is impossible to
create, e.g., a surface of revolution, by one altitude map because in this
case, one point on the plane is associated with two points on the surface (Fig.
6). To create surfaces that are not surfaces of a zero level of a function, the
initial surface F must be divided by the planes into patches: F = F1
F 2
F i
F
n (Figs. 7-12).

Fig 4. The perturbation domain.
![]() |
|
Fig. 5. The freeform surface. |
Fig. 6. The freeform surface of revolution. |

Fig. 7. The polygonal model AK-47.
CSG modeling uses simple geometric objects for a base model. The construction of the altitude map for each of the planes by the described method and the creation of the initial surface from the set of patch models by means of logical operations are carried out by two criteria.

Fig. 8. The function-based model AK-47 after conversion.
The first criterion is the possibility of constructing the altitude map with reference to the given plane (object part) that is situated in the part of subspace in the direction of the normal vector of the plane. The other criterion is the possibility of constructing the initial object by means of logical operations from the obtained patch models. In other words, the planes in such a manner that the clips represent the initial object should subdivide the object. This approach extends considerably the class of modeled surfaces.

Fig. 9. The two polygonal models.

Fig. 10. The function-based model after conversion.

Fig. 11. The polygonal model F-117.
Fig. 12. The function-based models after conversion.
We propose describing complex geometric objects by specifying the function of deviation (an implicit second-order function) from the base surfaces: triangles (Figs. 13, 14, and 15) and quadrics (Figs. 16, and 17) [19, 22, and 23].
![]() |
In Fig. 13, the triangle (v1, v2, v3) is represented in the functional space by intersection of five planes: three clipping planes p1, p2, and p3, which are perpendicular to the base planes of the triangle with the normal oriented inward the triangle, and two base planes p4, and p5 of the triangle with oppositely directed normal.


Fig. 14. A patch of arbitrary form (left), three smoothly matched patches of arbitrary form (right).
The freeform is a composition of the base surface and the perturbation F(x, y, z) = F(x, y, z) + R(x, y, z), where the perturbation function R(x, y, z) is found as follows:
| (16) |
Herein, Q(x, y, z) is the perturbing quadric.
Since max[Q + R]
max[Q] + max[R], for
estimating the maximum Q on some interval we have to calculate the
maximum perturbation function on the same interval. The obtained surface is
smooth (see Figs. 14, 15 and 16), and creation of complex surface forms
requires few perturbation functions.
Papers [19, 20] proposed a multilevel ray-casting algorithm that carries out effective search for the surface point involved in the image formation.

Fig. 15. The freeform based on a 1 quadric (synthesized by means of the 4 analytical perturbation functions of second degree).
![]() |
![]() |
Fig. 16. Function-based objects with perturbation functions.
We have considered geometric objects. Two major types of elements of the set of geometric objects are simple geometric objects and complex geometric objects (see Figs. 17, 18, 19 and 20). A complex geometric object is a result of operations on simple geometric objects.
The set of geometric operations Ô is expressed mathematically in the following form [24]:
| Ô¡: M¹+M²++Mn →M, | (17) |
where n is the number of operation operand.
Let the object G1 be defined as f1(X) >= 0. The unary operation (n =1) (17) of the object G1 means operation G2=Ô¡(G1) with the definition
| f2= |
(18) |
where
is a continuous real
function of one variable. Let us consider the following unary, binary
operations and relations in more detail.

Fig. 17. Function-based geometric objects.

Fig. 18. Function-based geometric objects.

Fig. 19. Complex geometric object.

Fig. 20. Simple geometric objects.
Projections of a solid onto three orthogonal planes yield us a representation of its different sides. The projection of 3D solid onto the coordinate plane is considered as a union of sections of the solid by planes parallel to the coordinate plane at a sufficiently small distance from each other. We will a mathematical description of the process for a space of arbitrary dimension.


Fig. 21. Some solids and their projections.
Let
the initial object G1
En be described
by the function
| f1(x1,x2,..,xi,..,xn) >= 0 | (19) |
and its projection G2
En-1 be described by the
function
| f2(x1,x2,..,xi-1,xi+1,..,xn) >= 0 | (20) |
The object G2 can be defined as a union
of sections of the object G1
by the hyperplane xi=Cj , where Cj+1
= Cj+
xi, j=1,
N and C1=ximin. Let
be the function for the section. As a result, the function for the projection
at
xi →0 is a union of all functions f1j:
| f2=f11 |
(21) |
In the realization of this operation for the whole scene we fixed one coordinate, depending on what projection had to be obtained.
The results are recorded as a set of pictures of the initial 3D solid and its 2D projections onto three orthogonal planes (Fig. 21).
The offsetting operation was implemented by transformation of perturbation function coefficients. Thus, one can create an enlarged or diminished copy of the initial object, i.e., makes positive or negative offsetting, respectively. For example, solid beats can be simulated. Let the initial object be defined by the function f(X)>0, then in the case of this operation, the obtained solid will be described by the function F=f(X)+C, where C<0 determines the negative offsetting (compression) and C>0 determines the positive offsetting (extension). Otherwise, adding together the positive or negative constant and the free term of the perturbation function yields extension or compression of the whole object (Fig. 22).

![]() |
Let the objects G2 be defined as f1(X) >= 0 and f2(X) >= 0. The binary operation (n=2) (17) of the objects G1 and G2 means operation G3=Ô¡(G1,G2) with the definition
| f3= |
(22) |
where
is the continuous real
function of two variables. Let us dwell on the binary operations: set-theoretic
operations and 3D metamorphosis (morphing).
For function-based objects on the bases of perturbation functions we propose the following. To create a complex scene, one should describe in it a certain number of primitives necessary for a concrete task. The rendered object with which the rendering algorithm interacts by means of query represents the whole 3D scene. Hence, the geometric model should allow designing of objects and their compositions of infinite complexity. This is primarily achieved by means of Boolean operations of uniting and intersection (Fig. 23).

Fig. 23. Set-theoretic operations on objects.
This operation transforms the first defined object into second with obtaining multiple intermediate forms. The term originates from the word metamorphosis and refers to the animation technique in which one pattern is gradually transformed to another. During the metamorphosis (morphing), the initial pattern is gradually transformed to the final one (Fig. 24).





Fig. 24. Morphing of quadrics.
A sequence of frames of transformation of one object to another is generated by means of the initial, final, and key intermediate models.
Let F1 and F2 be values of the perturbation functions of the first and second objects, respectively. Then the resulting perturbation function is calculated as follow:
| F=βF1 + (1- β)F2, | (23) |
Where β is the positive continuous function.






Fig. 25. Morphing of nongomeomorphic objects.
For function-based objects with the use of perturbation functions, one
can perform 3D morphing of nongomeomorphic objects (Figs. 25, and 26).
![]() |
Fig. 26. Morphing of nongomeomorphic objects.
Twisting is a solid deformation being a particular case of bijective mapping (Fig. 27) which serves for defining deformations of initial objects. For twisting of the initial solid we found and transformed its coordinates x, y, z.

Fig. 27. Twisting.
First thing that is necessary to state is that if we want to propagate the deformation it should be somehow added to all object that it affects (Figs. 28, and 29). Actually the current scene-tree is organized so that it is no possibility to add object only by referencing i.e. without copying. This is done for avoiding situations when being changed somewhere the object unintentionally change the other part of the scene that referenced to it too. Thus the additional perturbations should have such parameters to assure the part-per-part connectivity for each pair of the object the perturbation affects. In this case it will be looked as one perturbation.

Fig. 28. Global deformation of torus.

Fig. 29. Local deformation of cube.
We consider the swept volume as a projection of a moving solid from the 4D(x, y , z, t) space to the 3D(x, y, z) space. Then we draw the solid each time new coordinates that were changed by the proper law. In so doing, the previous images are stored in the memory and used to obtain the result of swept volume. The newly formed figure is a union of images of the swept solid for different positions (Fig. 30).








Fig. 30. Swept volume of moving solids.
A binary relation is a subset of the set M²=MXM. It can be defined as
| Si : MXM→I | (24) |
The examples of binary relations are inclusion, point membership, interference or collision.
Collision detection is a complicated problem solved in various computer programs. This means that for each animation frame, one should test whether any two or more objects collided (see Fig. 31).

Fig. 31. Collision detection of functionally defined objects based on perturbation functions.
The ideal case is collision detection of any complexity between two arbitrary objects in the minimal time. Since the control of collisions between all pairs of objects is a resource-consuming process, such tests are usually done only for part of objects. The detection algorithm can be simplified prior to testing the presence of the given point (belonging to one of the objects), e.g., inside the cube confining the second object. The problem of simulating the behavior of interacting bodies having irregular shape arises in some applications such as dynamics of body collisions and celestial mechanics, molecular dynamics, graphics simulations for the problem of nano-assembly automation and its application in medicine using collective robotics [25], computer games and haptic interactions.

Fig. 32. Collision of two objects: the worst case.
Particularly in calculating motions of many objects that move under changing constraints and frequently make collisions, one of the key issues of dynamic simulation methods is calculation of collision impulse between rigid bodies [26]. A fast algorithm for calculating contact force with friction by formulating the relation between force and relative acceleration as a linear complementary problem was equally demonstrated and this model was based on solving the linear complementary problem [27]. Baraffs algorithm has achieved great performance for real-time and interactive simulation of two-dimensional mechanisms with contact force, friction force and collision impulse, although friction impulse at collision was not completely covered in such a model. In geometric haptic rendering models, collision detection is not trivial to compute. One of the most popular collision detection algorithms in geometric haptic rendering is H-Collide [28]. It uses a hybrid hierarchy of spatial subdivision and OBB trees. The simplest algorithms for collision detection are based upon using bounding volumes and spatial decomposition techniques. Examples of bounding volumes include bounding spheres, bounding boxes, convex polyhedrons. Examples of bounding boxes include axis-aligned bounding boxes and oriented bounding boxes. In work [29] authors used a bounding sphere hierarchy to detect collisions. However such approaches cannot define collision of objects represented on Fig. 32. Spatial decomposition techniques based on subdivision are used to solve the interference problem. Recursive subdivision is robust but computationally expensive. In particular, Hahn [30] used a subdivision based collision detection algorithm.
For curved objects, Herzen and etc. [31] have described an algorithm based on subdivision technique. A similar method using interval arithmetic and subdivision has been presented for collision detection by Duff [32]. However, for commonly used spline patches computing and representing the implicit representations is computationally expensive [33]. In [34], Pentland and Williams used implicit functions to represent shape and the property of the inside-outside functions for collision detection. But this algorithm has a drawback in terms of robustness, as it uses point samples. Thus, the most popular collision detection algorithms are extremely distance and extremely points (Barraf: four nonlinear equations solving), testing sample points (Pentland, Gascuel: accuracy of sampling using huge memory), interval methods (Duff, Snyder: interval bounds on the output of functions with time-consuming).The detailed explanation of main problems is described in [32]. The main problems are procedurally defined functions, time-dependent surfaces and surfaces of high complexity. Surgery simulation and entertainment technology require fast deformable models and efficient collision handling techniques. Efficient collision detection algorithms are accelerated by spatial data structures, bounding volume hierarchies, distance fields and etc. Such data structures are commonly built in a pre-processing stage. But pre-processed data structures are less efficient for deforming objects. Collision detection for deformable objects introduces additional challenging problems [35].
As a result of work of the known algorithm of collision detection of functionally defined object [36], the collision is not always detected and, moreover, detection of different collisions requires a greatly different time.
We propose another way of collision detection without using any bounding volumes around each object and pre-processing stage. For objects based on perturbation functions the object collision is detected in a constant time for collisions of different complexity, and the detection of events is absolutely ensured [37]. This way of collision detection is based on the relation of object intersections, function representation with perturbation functions and on the recursive object space subdivision for search the contact point of the objects.
Fig. 33. Collision of objects, collision is detected.
The dream of every simulator designer is to render a terrain as easily as a texture. The algorithm considered below does this. A terrain model is coded as differential height map, i.e. the carrier surface is defined by algebraic means and only deviation from this basic surface is stored in the each node. Such a modeling method simplifies creation of smooth detail levels and shading. The data of height grid is not subject to geometry transformations as the triangle vertices do. The geometry transformations are only required for the carrier surface. During the recursive voxel subdivision on each level, we project the centers of the voxels onto some plane. The computed coordinates, as well as in the case of ordinary RGB texture map, will define address in the so called "altitude map" or "shape texture". We calculate the altitude corresponding to this address and a level of details, and use it to modify coefficients of the plane or quadric equation. As a result we will obtain a smooth surface of arbitrary shape modulated with the values from the altitude map. But the problems solved by this algorithm require much more complicated methods within the traditional approach. Indeed, the common way to present terrain with polygons requires an abundance of polygons. Besides, the number of additional problems arises such as high depth complexity, hidden polygons removal, priorities, switching between levels of detail, clipping polygons by the pyramid of vision, etc. Such problems do not appear in the proposed method. The Geometry Processor works with the single plane. The right priority order is provided by the corresponding traversing of the tree and the set of masks. The back side of a terrain is rejected automatically. The clipping terrain by the pyramid of vision becomes unnecessary since sampling of just required altitudes from the altitude map is provided automatically by the rendering algorithm. To switch between levels of detail the same procedure is used as for the ordinary texture, it becomes possible to animate a shape texture. It can be used to render waves on water, etc (Fig. 34).

Fig. 34. Shape texture animation.
The freeform representations created by means of the scalar and analytical perturbation functions have the following advantages: fewer surface for mapping curvilinear objects, short database description, fewer operations for geometric transformations and data transfer, simple animation and deformation of objects and surfaces, and a wide spectrum of applications (interactive graphics systems for visualizing function-based objects, CAD 3D simulation systems, 3D web visualization, etc.). We have investigated various geometric operations on functionally defined objects on the basis of the perturbation functions. We have analyzed the collision detection algorithm by means of recursive object space subdivision. We may conclude that in the proposed function-based object collision detection algorithm, the collision is always detected and does not depend on the relative position of collided objects and parts of their surfaces (Fig. 33), i.e., such an algorithm guarantees detection of the event, which has been proved both experimentally and theoretically, it is required to have equal number of levels of object space subdivision and, therefore, equal computation time. The object collision was detected in a constant time for collisions of different complexity and the time spread in the tests was below 1% of the given time. The time of computation by means of the proposed collision detection algorithm was real on PC ( Intel Pentium 4 Processor, 2800 MHz).
1. COMPUTER AIDED GEOMETRIC DESIGN/ Academic Press, edited by Robert E. Barnhill and Richard F. Riesenfeld, New York, San Francisco, London, 1974, Proceedings of a Conference Held at The University of Utah, Salt Lake City, Utah March 18-21, 1974.
2. G.I. Marchuk, Methods of Computational Mathematics (Nauka, Moscow, 1980).
3. http://cis.k.hosei.ac.jp/~F-rep/imp_biblio.html
4. McCormack J., Sherstyuk A. Creating and rendering convolution surfaces, Computing Graphics Forum, vol. 17, No.2, 1998, 113-120.
5. Bloomenthal J., Shoemake K., Convolution surfaces, SIGGRAPH91, Computer Graphics, vol.25, No.4, 1991, 251-256.
6. Bloomenthal J.Skeletal Design of Natural Forms. Doctoral dissertation, University of Calgary, Department of Computer Science, 1995.
7. G. Sealy, G. Wyvill. Smoothing of three-dimensional models by convolution. In Computer Graphics International96, June 1996, 184-190.
8. J. F. Blinn. A generation of algebraic surface drawing. ACM Transactions on Graphics, 1(3): 235-256, July 1982.
9. H. Nishimura, M. Hirai, T. Kawai, T. Kawata, I. Shirakawa, and K. Omura. Object modeling by distribution function and a method of image generation. The Transactions of the Institute of Electronics and Communication Engineers of Japan, J68-D(4): 718-725, 1985.
10. G. Wyvill, C. McPheeters, and B. Wyvill. Data structure for soft objects. The Visual Computer, 2(4): 227-234, 1986.
11. T. Beier. Practical uses for implicit surfaces in animation. In Modeling and Animating with Implicit Surfaces, pp. 20.1-20.11, 1990. SIGGRAPH Course Notes 23.
12. Bloomenthal J. Modeling the mighty maple. Computer Graphics, 19(3): 305-311, July 1985.
13. A. Sherstuyk. Fast ray tracing of implicit surfaces. In Implicit Surfaces98, 145-153, June 1998.
14. A. Sherstuyk. Convolution Surfaces in Computer Graphics. Doctoral dissertation, Monash University, School of CSSE, 1998.
15. http://www.hyperfun.org/OBS_AdaptCSRBF_SMI04.pdf
16. Bors, A.G. "Object classification in 3-D images using alpha-trimmed mean radial basis function network," IEEE Trans. on Image Processing, vol.8, 1999.
17. Carr, J.C. "Reconstruction and Representation of 3D Objects with Radial Basis Functions", SIGGRAPH 2001.
18. Matej, S. Practical considerations for 3-D image reconstruction using spherically symmetric volume elements, IEEE Trans. On Medical Imaging, vol.15. 1996.
19. S.I.Vyatkin, B.S.Dolgovesov, A.V.Yesin, A.A.Zhigach, S.E.Chizhik, and R.A.Shcherbakov. Geometric Modeling And Visualization Of Functionally Defined Objects, Computer Graphics and Geometry, Vol. 3, No. 2, 2001 article http://www.cgg.ru/febr/vjat/pivweb.html#a
20. S.I.Vyatkin. A 3D Texture-Based Rendering Algorithm, Computer Graphics and Geometry, Volume 8, Number 3, Winter, 2006. http://www.cgg-journal.com/issues.htm http://www.cgg-journal.com/2006-3/05.htm
21. E. Poznyak and E. Shikin, Differential Geometry (MGU, Moscow, 1990).
22. Sergei I. Vyatkin, Boris S. Dolgovesov, Aleksey V. Ruchlinskiy. Creating Complex Surfaces Based on Perturbation Functions from Polygonal Meshes, http://www.graphicon.ru/2006/proceedings/papers/fr13_27_VyatkinDolgovesovRuhlinski.doc
23. S. Vyatkin, B. Dolgovesov, CONVERTING POLYGONAL AND VOXEL MODELS INTO FUNCTION-BASED DESCRIPTION /"Pattern Recognition and Image Analysis: Advances in Mathematical Theory and Applications" Journal, " /Interperiodica Publishing"). ISSN PRINT: 1054-6618, ISSN ONLINE: 1555-6212 , 2007
24. Pasko A. A., Adzhiev V. D., Sourin, A. I. et al. Function representation in geometric modeling: concepts, implementation and applications // The Visual Computer.1995. 11( 6). P. 429.
25. M.C. Lin, Efficient Collision Detection for Animation and Robotics, PhD thesis, Dept. of Electrical Eng. and Computer Science, University of California, Berkeley, USA, 1993
26. D. Baraff, Analytical methods for dynamic simulation of non-penetrating rigid bodies, in Computer Graphics Proceedings, ACM SIGGRAPH, vol. 23, pp. 223-232, 1989
27. D. Baraff, Fast contact force computation for nonpenetrating rigid bodies, in Computer Graphics Proceedings, Annual Conf. Series. ACM SIGGRAPH, pp. 23-34, 1994
28. A. Gregory, M. Lin, et al. "H-Collide: A Framework for Fast and Accurate Collision Detection for Haptic Interaction". IEEE Virtual Reality, 1999
29. D. C. Ruspini, K. Kolarov, and O. Knatib. "The haptic display of complex graphical environment". Proceedings of SIGGRAPH 97, vol. 1, pp. 295-301, August 1997
30. J. K. Hahn. Realistic animation of rigid bodies. ACM Computer Graphics, 22(4):pp. 299-308, 1988
31. B.V. Herzen, A.H. Barr, and H.R. Zatz. Geometric collisions for time-dependent parametric surfaces. ACM Computer Graphics, 24(4), August 1990
32. T. Duff. Interval arithmetic and recursive subdivision for implicit functions and constructive solid geometry. ACM Computer Graphics, 26(2): pp. 131-139, 1992
33. C. Hoffmann. Geometric and solid modeling. Morgan Kaufmann Publishers, Inc., San Mateo, CA, 1989
34. A. Pentland and J. Williams. Good vibrations: modal dynamics for graphics and animation. ACM Computer Graphics, 23(3): pp. 185-192, 1990
35. M. Teschner, S. Kimmerle, G. Zachmann, B. Heidelberger, Laks Raghupathi, A. Fuhrmann, Marie-Paule Cani, Frangois Faure, N. Magnetat-Thalmann, W. Strasser. Collision Detection for Deformable Objects. Proc. Eurographics State-of-the-Art Report. Pages 119-139. 2004
36. Savchenko V.V., Pasko A.A. Collision detection for functionally defined deformable objects: The First International Workshop on Implicit Surfaces (Grenoble, France, April 18-19, 1995) /Eds. B.Wyvill and M.P. Gascuel: Eurographics-INRIA, pp. 217-221, 1995
37. S.I.Vyatkin, B.S.Dolgovesov and A.S. Korsun. Collision Detection of Functionally Defined Objects in Computer Graphics Tasks// Avtometriya-Optoelectronics, Instrumentation and Data Processing. Allerton Press, Inc. USA. 2003, Volume 39, 6. pp. 119-126.