<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">MI</journal-id><journal-title-group><journal-title>Modern Instrumentation</journal-title></journal-title-group><issn pub-type="epub">2165-9257</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/mi.2013.22005</article-id><article-id pub-id-type="publisher-id">MI-30814</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  Perturbation Functions in Computer Graphics
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>ergey</surname><given-names>I. Vyatkin</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Boris</surname><given-names>S. Dolgovesov</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Mikhail</surname><given-names>A. Gorodilov</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Synthesizing Visualization Systems Laboratory, Siberian Branch of the Russian Academy of Sciences, Russian Federation</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>sivser@mail.ru(EIV)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>30</day><month>04</month><year>2013</year></pub-date><volume>02</volume><issue>02</issue><fpage>26</fpage><lpage>32</lpage><history><date date-type="received"><day>January</day>	<month>11,</month>	<year>2013</year></date><date date-type="rev-recd"><day>February</day>	<month>15,</month>	<year>2013</year>	</date><date date-type="accepted"><day>February</day>	<month>25,</month>	<year>2013</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
   The problem of real-time photorealistic imaging is discussed. New techniques for specifying free forms without their approximation by polygons are considered. Free forms based on the 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. Transformations of geometric objects are described for set-theoretic operations, projections, offsetting, and metamorphosis. We propose a GPU solution to render freeform objects at high frame rates.
     
 
</p></abstract><kwd-group><kwd>Geometric Objects; Perturbation Functions; Geometric Operations</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Nowadays real-time computer graphics oriented to 3D scene visualization has attained considirable success. However, even though a sufficiently high realism of realtime scene imaging has been attained, some problems are still present, for instance, it is necessary to store and visualize scenes containing a greater number of polygons than it is implemented in the present-day systems. Analysis of possible directions of evolution of a real-time visualization system shows that the easiest way to improve picture quality, i.e., to increase the number of polygons rendered per frame, is not the most effective one. Along these lines, the qualitative changes are difficult to achieve.</p><p>New techniques for specifying free forms without their approximation by polygons or spline-patches are considered. We suggest expanding the notion of primitives and making it possible to process them by easy and effective method without approximation by polygons. A method to display curved surfaces allows obtaining picture quality which cannot be achieved by the traditional means (even with great number of polygons) and is described below.</p><p>The geometric concept of virtual environment modeling using function-based objects can be described as an algebraic system [<xref ref-type="bibr" rid="scirp.30814-ref1">1</xref>].</p><p><img src="2-1870024\a1ce6c3d-574c-4f9d-9806-c2dfe11db204.jpg" /></p><p>where M is the set of geometric objects, F is the set of geometric operations, and W is the set of relations on the set of objects. Geometric objects are considered as closed subsets of n-dimensional Euclidean space E<sup>n</sup> with the definition:</p><p><img src="2-1870024\cccfcfbd-a669-4d0c-a939-5651ccb1eacd.jpg" /></p><p>where f is a real continuous function defined on E<sup>n</sup>.</p><p>A functionally defined object is completely defined by means of the real-valued describing function of three variables (x<sub>1</sub>, x<sub>2</sub>, x<sub>3</sub>) in the form of F(X) &#179; 0, then the objects are treated as closed subsets of the Euclidean space E<sup>n</sup>, defined by the describing function F(X) &#179; 0, where F is the continuous real-valued function and X = (x<sub>1</sub>, x<sub>2</sub>, x<sub>3</sub>) is the point in E<sup>n</sup>, defined by the coordinate variables. Here F(X) &gt; 0 defines points inside the object, F(X) = 0 defines points on the boundary, and F(X) &lt; 0 defines points that lie outside and do not belong to the object.</p><p>It is possible to describe complex geometry forms by specifying surface deviation function (of second order) in addition to surface basic function of second order (see <xref ref-type="fig" rid="fig1">Figure 1</xref>). Generally a function F(x, y, z) specifies surface of second order that is quadric</p><p><img src="2-1870024\756461b2-3ba6-430f-9c8b-f2e81398c530.jpg" /></p><p>where x, y and z are spatial variables.</p><p>Were developed necessary algorithms and set of C++ classes: adaptive ray casting for scenes containing function-based objects (including OpenGL color/depth buffers compatibility); С++ classes for function-based objects representation; С++ classes for rendering of function-based objects; С++ classes interface classes provided to make the whole system to be easily extended to</p><p>incorporate new algorithms and features.</p><p>For visualizing the binary adaptive ray casting algorithm was used [<xref ref-type="bibr" rid="scirp.30814-ref2">2</xref>]. The algorithm well-suited for modern GPU and provides good performance with good quality of results. The main task is fast finding the first intersection point with a surface that is only functionally defined. Compute Unified Device Architecture (CUDA) from NVIDIA was used. CUDA is a model of parallel programming. Together with a set of software, she allows to realize programs in language C for execution on a graphics accelerator.</p></sec><sec id="s2"><title>2. Previous Works</title><p>The functional representation 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 the results of logical operations on volumes. Its disadvantage is complicated geometrical processing and visualization in real-time. Some kernels are described in [3-10]: Gaussian function, inverse function, inverse squared function, metaballs, soft objects, Wshaped quartic polynomial, Cauchy function and so on. Radial-based functions (RBFs) are described in [11-13].</p><p>A few rendering algorithms are described in [<xref ref-type="bibr" rid="scirp.30814-ref10">10</xref>]: raymarching, LG-surfaces, sphere-tracing algorithm, raytracing with interval analysis, etc. In [<xref ref-type="bibr" rid="scirp.30814-ref14">14</xref>] presented a method for displaying metaballs in real time on the GPU. In [<xref ref-type="bibr" rid="scirp.30814-ref15">15</xref>] a ray-casting rendering algorithm for algebraic surfaces was proposed. GPU ray-tracing of voxel data was introduced in [<xref ref-type="bibr" rid="scirp.30814-ref16">16</xref>]. In [<xref ref-type="bibr" rid="scirp.30814-ref17">17</xref>] a GPU-based rendering algorithm of algebraic surfaces was introduced. In [<xref ref-type="bibr" rid="scirp.30814-ref18">18</xref>] ray-tracing algorithm of 3D models based on radial functions on the GPU was proposed. In [<xref ref-type="bibr" rid="scirp.30814-ref19">19</xref>] presented a raycasting of discrete isosurfaces. In [<xref ref-type="bibr" rid="scirp.30814-ref20">20</xref>] presented a GPUbased sphere tracing algorithm of implicit surfaces. In [<xref ref-type="bibr" rid="scirp.30814-ref21">21</xref>] a GPU-based method for rendering F-rep (functionally represented) was presented.</p></sec><sec id="s3"><title>3. Geometric Objects</title><p>We propose describing complex geometric objects by specifying the function of deviation (an implicit secondorder function) from the base surfaces [<xref ref-type="bibr" rid="scirp.30814-ref22">22</xref>]. The freeform is a composition of the base surface and the perturbation functions.</p><p><img src="2-1870024\c50e5245-e709-467f-ac93-874816354a7b.jpg" /></p><p>where f<sub>i</sub> is the form-factor; the perturbation function R<sub>i</sub>(x, y, z) is found as follows</p><p><img src="2-1870024\d8822268-d0ac-4b19-9af9-c8079e694642.jpg" /></p><p>Herein, Q<sub>i</sub>(x, y, z) is the perturbing quadric.</p><p>Since<img src="2-1870024\16b84ef3-acbd-446b-b0b3-1b0ca430cc01.jpg" />, for estimating the maximum Q<sub>i</sub> on some interval we have to calculate the maximum perturbation function on the same interval. The obtained surfaces are smooth (see Figures 2 and 3), and creation of complex surface forms requires few perturbation functions.</p><p><xref ref-type="fig" rid="fig4">Figure 4</xref> shows a result of modeling a scene object by means of free forms, whose description required 4 K byte information, which is 500 times less than the polygonal</p><p>description that would take 2 M byte information. Thus, the problem of object construction reduces to the problem of quadric surface deformation in a desired manner rather than to approximation by primitives (polygons or patches represented by B-spline surfaces). In addition, while solving the descriptive function in the form of inequality F(X) &#179; 0, we can visualize not only the surface but also the internal structure of the object.</p></sec><sec id="s4"><title>4. Geometric Operations</title><p>Two major types of elements of the set of geometric objects are simple geometric objects and complex geometric objects (see Figures 4 and 5). A complex geometric object is a result of operations on simple geometric objects [<xref ref-type="bibr" rid="scirp.30814-ref23">23</xref>].</p><p>The set of geometric operations F is expressed mathematically in the following form:</p><p><img src="2-1870024\42881640-4062-41fd-b013-d3aebe9eaeda.jpg" />where n is the number of operation operand.</p><p>Let the object G<sub>1</sub> be defined as f<sub>1</sub>(X) &#179; 0. The unary operation (n = 1) of the object G<sub>1</sub> means operation G<sub>2</sub><sub> </sub>= F&#161;(G<sub>1</sub>) with the definition</p><p><img src="2-1870024\07efdafc-baeb-4d7d-9d6f-d51e65d146d2.jpg" />where y is a continuous real function of one variable. Let us consider the following unary, binary operations and relations in more detail.</p><sec id="s4_1"><title>4.1. Projections</title><p>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. Let the initial object G<sub>1</sub> &#204; E<sub>n</sub> be described by the function</p><p><img src="2-1870024\248d8c23-691a-4a7f-bbe5-44ddf7134aff.jpg" /></p><p>and its projection G<sub>2</sub><sub> </sub>&#204; E<sub>n–</sub><sub>1</sub> be described by the function</p><p><img src="2-1870024\6045e668-1a87-4a0e-b3e0-84061261012a.jpg" /></p><p>The object G<sub>2</sub> can be defined as a union of sections of the object G<sub>1</sub> by the hyper plane x<sub>i</sub> = C<sub>j</sub>, where C<sub>j+</sub><sub>1</sub> = C<sub>j</sub> + Dx<sub>i</sub>, j = 1, N and C<sub>1</sub> = x<sub>i</sub><sub>min. </sub>Let be the function for the section. As a result, the function for the projection at Dx<sub>i</sub>&#174;0 is a union of all functions f<sub>1j</sub>: <sub></sub></p><p><img src="2-1870024\88a21867-0d4d-4eb0-9f0e-396265b0ec15.jpg" />.</p><p>In the realization of this operation for the whole scene we fixed one coordinate, depending on what projection had to be obtained.</p></sec><sec id="s4_2"><title>4.2. Offsetting</title><p>The offsetting operation was implemented by transformation of perturbation function coefficients. Thus, one can created an enlarged or diminished copy of the initial object, i.e., makes positive or negative offsetting. For example, solid beats can be simulated. Let the initial object be defined by the function f(X) &gt; 0, then in the case of this operation, the obtained solid will be described by the function F = f(X) + C, where С &lt; 0 determines the negative offsetting (compression) and C &gt; 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.</p></sec><sec id="s4_3"><title>4.3. Set-Theoretic Operations</title><p>Let the objects G<sub>1</sub> and G<sub>2</sub> be defined as f<sub>1</sub>(X) &#179; 0 and f<sub>2</sub>(X) &#179; 0. The binary operation (n = 2) of the objects G<sub>1</sub> and G<sub>2</sub> means operation G<sub>3</sub> = F&#161;(G<sub>1</sub>,G<sub>2</sub>) with the definition</p><p><img src="2-1870024\849879ba-5e4b-4004-9753-f5f2b48840c2.jpg" />where y is the continuous real function of two variables. Let us dwell on the binary operations: set-theoretic operations and 3D metamorphosis (morphing).</p><p>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.</p></sec><sec id="s4_4"><title>4.4. 3D Metamorphosis</title><p>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.</p><p>A sequence of frames of transformation of one object to another is generated by means of the initial, final, and key intermediate models.</p><p>Let F<sub>1</sub> and F<sub>2</sub> be values of the perturbation functions of the first and second objects, respectively. Then the resulting perturbation function is calculated as follow:</p><p><img src="2-1870024\53073c39-8964-4f90-aaaf-04fb5beed6ef.jpg" />where β is the positive continuous function.</p><p>For function-based objects with the use of perturbation functions, one can perform 3D morphing of nongomeomorphic objects.</p></sec><sec id="s4_5"><title>4.5. Twisting</title><p>Twisting is a solid deformation being a particular case of bijective mapping which serves for defining deformations of initial objects. For twisting of the initial solid we found and transformed its coordinates x, y, z.</p></sec><sec id="s4_6"><title>4.6. Global and Local Deformation</title><p>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. 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.</p></sec><sec id="s4_7"><title>4.7. Sweeping</title><p>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.</p></sec><sec id="s4_8"><title>4.8. Relations</title><p>A binary relation is a subset of the set<img src="2-1870024\4fd4b4ec-02f8-4113-b35e-db62b249e195.jpg" />. It can be defined as</p><p><img src="2-1870024\fda24bdf-8d74-4bc2-b569-b6bd8cc376d2.jpg" /></p><p>The examples of binary relations are inclusion, point membership, interference or collision.</p><sec id="s4_8_1"><title>Collision Detection</title><p>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. The collision detection algorithm described in [<xref ref-type="bibr" rid="scirp.30814-ref24">24</xref>] is based on the relation of object intersection and uses the Sobol’s quasirandom sequences and the spiral quadratic search for detecting nonnegative values of the function defining the intersection. In so doing, body, confining spheres are used to define the region of search. This algorithm does not always result in collision detection, i.e., the algorithm does not ensure detection of event as stated by authors. Moreover, a drastically different time is required for different collisions.</p><p>We propose original way of collision detection without using any bounding volumes around each object and preprocessing 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 [<xref ref-type="bibr" rid="scirp.30814-ref25">25</xref>]. 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.</p></sec></sec></sec><sec id="s5"><title>5. Rendering</title><p>We consider the geometric object that has the property of answering the request on intersection with a bar. The negative answer guarantees that the object is not intersected and has no common points belonging to the intersection is done by recursive subdivision of the space inside the cube defined by boundaries of &#177;1 along each coordinate (see <xref ref-type="fig" rid="fig6">Figure 6</xref>).</p><p>The center of the cube matches the origin of the model coordinate system M whereas the plane Z = −1 coincides with the screen plane. Coordinate system in which the algorithm subdivides cubic volume is called work or model space and is denoted M (see <xref ref-type="fig" rid="fig6">Figure 6</xref>). Coordinate system with camera (viewer) in its origin and viewing frustum is denoted P. In the given work we suggest to use the binary adaptive ray casting algorithm for ray-</p><p>surface intersection calculation. The general block-scheme algorithm is shown on Figures 7 and 8. Starting from the observer’s eye, a viewing ray (a bar) is traced through the object space for each pixel on the view plane.</p><p>For each bar-surface intersection test are executed. If the object intersects with given bar, then bar subdivides further. Otherwise, we exclude bar from subdivision. Using results of intersection test, we perform subdivision of sub bars that fall within the quadric completely or, probably, partially, and the knowingly external sub bars are eliminated from processing.</p><p>On some recursion level we determine first point, which contains a surface.</p><p>After a finding of a point of ray-surface intersection, we calculate normal and color.</p><p>Calculation of all color components of a pixel is performed in the same manner by the following formula:</p><p><img src="2-1870024\55897176-4f48-491c-867c-589845490e59.jpg" /></p><p>where “ambi” refers to characteristics of ambient light, whereas “diff” and “spec” refer to the diffused and specular components of reflected light, respectively; C are the color components; Q are the weight coefficients. Color components are calculated by a vector light model. Four vectors are involved in the calculation: normal to the surface (n), vector to the light source, reflected light direction (r) and vector to the viewer (v):</p><p><img src="2-1870024\4630cf99-f9a4-4dbd-ad2c-1a9a2ff1572d.jpg" /></p><p>C<sub>lite</sub> is the light source color; C<sub>surf</sub> is the surface color;</p><p><img src="2-1870024\341ac2a0-1142-486f-8379-420d9522c03f.jpg" /></p><p>where p is the reflection coefficient.</p><p>In [26,27] we proposed a texture memory management policy that substitutes the classical assignation policy of one texel per voxel, applied for the volume representation in texture space. The texture is an object (not mapped) changing the properties of another object. The feature of the texture is that any object may be the texture. A supplement to the data structure with consideration of the</p><p>structure is that each object can have a reference to another object being a texture for it.</p><p>In our work two applications which visualize free form objects based on perturbation functions have been realized. The first uses only CPU for calculations. The second uses GPU for calculation of depth, normal and illumination, and CPU for geometric transformations. For image display both versions used DirectX. Testing of productivity of the offered variants of realization has been made. Testing was made on the computer with processor Intel Core2 CPU E8400 3.0 GHz, and GPU GeForce 8800 GTX. Performance strongly depends on the speed of memory.</p><p>In [<xref ref-type="bibr" rid="scirp.30814-ref15">15</xref>] ray casting algebraic surfaces is described. That by means of a usual polynomial to set a difficult surface it is necessary to increase its degree. In a case with Bezier curves that also is not guaranteed, is how much exact initial function will be approached to this curve. One more disadvantage of this method is what to translate such object in other co-ordinate systems not a simple problem. Therefore creation of dynamical scenes is complicated.</p><p>In [<xref ref-type="bibr" rid="scirp.30814-ref20">20</xref>] presented another method for finding the first intersection of the surface with the ray. It is based on the usual step by step tracing. The difference is that the step size is not constant and is chosen at each step. At each step, is a ball centered at the current point on the ray. The radius of the ball is selected so that no point of not lying inside it. Selecting a ball can make a step in the direction of the ray at the radius of the ball. It is obvious that the radius should be the greatest. The process continues until the radius does not exceed the selected error. Thus, the search speed is not slower than normal step by step search with a step equal to the size of the error. But in almost all cases, using this algorithm, we can find a point of intersection for a smaller number of steps. However, finding a suitable radius is a complex task. For static scenes preliminary data processing is used. But such method can be applied effectively only when objects are static. That is when the form and scale of objects does not change.</p></sec><sec id="s6"><title>6. Conclusion</title><p>The freeform representations created by means of the 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, i.e., such an algorithm guarantees detection of the event, which has been proved both experimentally and theoretically. Modern high-performance parallel multiprocessor systems graphics accelerators provide an opportunity to expand methods of three-dimensional visualization of the fourth dimension - time. As a result, it is possible to implement new effects on geometric objects, caused by the introduction of operations on functions in real time.</p></sec><sec id="s7"><title>REFERENCES</title></sec><sec id="s8"><title>NOTES</title></sec></body><back><ref-list><title>References</title><ref id="scirp.30814-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">A. Pasko, V. Adzhiev, A. Sourin, et al., “Function Representation in Geometric Modeling: Concepts, Implementation and Applications,” The Visual Computer, Vol. 11, No. 6, 1995, pp. 429-446.</mixed-citation></ref><ref id="scirp.30814-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">S. I. Vyatkin, M. Gorodilov and B. S. Dolgovesov, “GPU-Based Binary Adaptive Ray Casting for Freeform Objects with Perturbation Functions,” Proceedings of the IASTED International Conferences on Automation, Control, and Information Technology, Novosibirsk, 15-18 June 2010, pp. 223-228.</mixed-citation></ref><ref id="scirp.30814-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">J. McCormack and A. Sherstyuk, “Creating and Rendering Convolution Surfaces,” Computing Graphics Forum, Vol. 17, No. 2, 1998, pp. 113-120.  
doi:10.1111/1467-8659.00232</mixed-citation></ref><ref id="scirp.30814-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">J. Bloomenthal and K. Shoemake, “Convolution Surfaces,” ACM SIGGRAPH Computer Graphics, Vol. 25, No. 4, 1991, pp. 251-256. doi:10.1145/127719.122757</mixed-citation></ref><ref id="scirp.30814-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">G. Sealy and G. Wyvill, “Smoothing of Three-Dimensional Models by Convolution,” Proceedings of Computer Graphics International, Pohang, 24-28 June 1996, pp. 184-190.</mixed-citation></ref><ref id="scirp.30814-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">J. F. Blinn, “A Generation of Algebraic Surface Drawing,” ACM Transactions on Graphics, Vol. 1, No. 3, 1982, pp. 235-256. doi:10.1145/357306.357310</mixed-citation></ref><ref id="scirp.30814-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">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, Vol. J68-D, No. 4, 1985, pp. 718-725.</mixed-citation></ref><ref id="scirp.30814-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">G. Wyvill, C. McPheeters and B. Wyvill, “Data Structure for Soft Objects,” The Visual Computer, Vol. 2, No. 4, 1986, pp. 227-234. doi:10.1007/BF01900346</mixed-citation></ref><ref id="scirp.30814-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">J. Bloomenthal, “Modeling the Mighty Maple,” Computer Graphics, Vol. 19, No. 3, 1985, pp. 305-311.  
doi:10.1145/325165.325249</mixed-citation></ref><ref id="scirp.30814-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">A. Sherstuyk, “Fast Ray Tracing of Implicit Surfaces,” Computer Graphics Forum, Vol. 18, No. 2, 1999, pp. 139-147.</mixed-citation></ref><ref id="scirp.30814-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">A. G. Bors and I. Pitas, “Object Classification in 3-D Images Using Alpha-Trimmed Mean Radial Basis Function Network,” IEEE Transactions on Image Processing, Vol. 8, No. 12, 1999, pp. 1744-1756.  
doi:10.1109/83.806620</mixed-citation></ref><ref id="scirp.30814-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">J. C Carr, et al., “Reconstruction and Representation of 3D Objects with Radial Basis Functions,” Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, Los Angeles, 12-17 August 2001, pp. 67-76.</mixed-citation></ref><ref id="scirp.30814-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">S. Matej and R. M. Lewitt, “Practical Considerations for 3-D Image Reconstruction Using Spherically Symmetric Volume Elements,” IEEE Transactions on Medical Imaging, Vol. 15, No. 1, 1996, pp. 68-78.  
doi:10.1109/42.481442</mixed-citation></ref><ref id="scirp.30814-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Y. Kanamori, Z. Szego and T. Nishita, “GPU-Based Fast Ray Casting for a Large Number of Metaballs,” Eurographics, Vol. 27, No. 2, 2008, pp. 351-360.</mixed-citation></ref><ref id="scirp.30814-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">M. Reimers and J. Seland, “Ray Casting Algebraic Surfaces Using the Frustum Form,” Eurographics, Vol. 27, No. 2, 2008, pp. 361-370.</mixed-citation></ref><ref id="scirp.30814-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">J. Kruger and R. Westermann, “Acceleration Techniques for GPU-Based Volume Rendering,” 14th IEEE Visualization, Seattle, 24-24 October 2003, pp. 38-42.</mixed-citation></ref><ref id="scirp.30814-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">C. Loop and J. Blinn, “Real-Time GPU Rendering of Piecewise Algebraic Surfaces,” Proceedings of ACM SIGGRAPH, Vol. 25, No. 3, 2006, pp. 664-670.</mixed-citation></ref><ref id="scirp.30814-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">A. Corrigan and H. Quynh Dinh, “Computing and Rendering Implicit Surfaces Composed of Radial Basis Functions on the GPU,” International Workshop on Volume Graphics, 2005, pp. 187-195.</mixed-citation></ref><ref id="scirp.30814-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">M. Hadwiger, C. Sigg, H. Scharsach, K. Buhler and M. Gross, “Real-Time Ray-Casting and Advanced Shading of Discrete Isosurfaces,” Computer Graphics Forum, Vol. 24, No. 3, 2005, pp. 303-312.  
doi:10.1111/j.1467-8659.2005.00855.x</mixed-citation></ref><ref id="scirp.30814-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">G. Liktor, “Ray Tracing Implicit Surfaces on the GPU,” Computer Graphics and Geometry, Vol. 10, No. 3, 2008, pp. 36-53.</mixed-citation></ref><ref id="scirp.30814-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">O. Fryazinov and A. Pasko, “Using GPU for Interactive Ray Casting Functionally Represented Models,” Computer Graphics and Geometry, Vol. 9, No. 1, 2007, pp. 1-17.</mixed-citation></ref><ref id="scirp.30814-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">S. I. Vyatkin, “Complex Surface Modeling Using Perturbation Functions,” Optoelectronics, Instrumentation and Data Processing, Vol. 43, No. 3, 2007. pp. 40-47.  
doi:10.3103/S875669900703003X</mixed-citation></ref><ref id="scirp.30814-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">S. I. Vyatkin, B. S. Dolgovesov and A. T. Valetov, “Geometric Operations for Functionally Defined Objects Using Perturbation Functions,” Optoelectronics, Vol. 40, No. 1, 2004, pp. 65-73.</mixed-citation></ref><ref id="scirp.30814-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">V. V. Savchenko and A. A. Pasko, “Collision Detection for Functionally Defined Deformable Objects,” In: B. Wyvill and M. P. Gascuel, Eds., The First International Workshop on Implicit Surfaces, Grenoble, 18-19 April 1995, pp. 217-221.</mixed-citation></ref><ref id="scirp.30814-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">S. I. Vyatkin, B. S. Dolgovesov and A. S. Korsun, “Collision Detection of Functionally Defined Objects in Computer Graphics Tasks,” Optoelectronics, Instrumentation and Data Processing, Vol. 39, No. 6. 2003, pp. 119-126.</mixed-citation></ref><ref id="scirp.30814-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">S. I. Vyatkin and B. S. Dolgovesov, “A 3D Texture-Based Recursive Multi-Level Ray Casting Algorithm,” Proceedings of the Second IASTED International Multi-Conference on Automation, Control, and Information Technology, Novosibirsk, 20-24 June 2005, pp. 92-97.</mixed-citation></ref><ref id="scirp.30814-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">S. I. Vyatkin, “A 3D Texture-Based Rendering Algorithm,” Computer Graphics and Geometry, Vol. 8, No. 3, 2006, pp. 65-78.  
http://www.cgg-journal.com/2006-3/05.htm</mixed-citation></ref></ref-list></back></article>