In this paper, we present a robust and mathematically sound rayintersection algorithm for implicit surfaces. The algorithm is guaranteed to numerically find the nearest intersection of the surface with a ray, and is guaranteed not to miss fine features of the surface. It does not require fine tuning or human choice of interactive parameters. Instead, it requires two upper bounds: "L" that limits the net rate of change of the implicit surface function f ( x , y, z) and "G" that limits the rate of change of the gradient. We refer to an implicit surface with these rate limits as an "LG-implicit surface."Existing schemes to intersect a ray with an implicit surface have typically been guaranteed to work only for a limited set of implicit functions, such as quadric surfaces or polynomials, or else have been ad-hoc and have not been guaranteed to work. Our technique significantly extends the ability to intersect rays with implicit surfaces in a guaranteed fashion. C R C a t e g o r i e s a n d I n t r o d u c t i o nThe task of intersecting rays with implicit surfaces (see Figure 1) is an important part of the theory and application of ray casting and ray tracing. Implicit functions can be used to represent some useful and interesting surfaces• They also have a nice composition property in that they can be combined in geometrically useful and concise ways to generate new implicit functions• Examples of these are the algebraic surfaces introduced by Blinn [BLtI',Ir,,I 82] and extensions (Figure 16 and 20).The reader might be surprised to find that it is impossible to create an algorithm (based solely on the evaluation of the implicit function at points in space) which is guaranteed to correctly intersect a ray with an arbitrary implicit surface. For any algorithm that could be constructed, there exist troublesome functions f(x,y,z) for which important parts of the surfaces are missed. Figure 2 illustrates this problem. In this example, we would need information about the existence of a spike in between the sample points, which is not available from the values of the function obtained at the sample points.Thus, to guarantee ray intersections with implicit surfaces, some sort of auxiliary information is needed. In our case, we have chosen this auxiliary information to be the L and G rate limits.Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. • \ Figure 2: A spike flmction demonstrates some of the difficulties of sampling without sufficient information about the function being sampled. The above surface at each of the samples has zero curvature; the samples do not indicate the presence of a spike since the spike falls between the sampling points.
In this paper, we present a robust and mathematically sound rayintersection algorithm for implicit surfaces. The algorithm is guaranteed to numerically find the nearest intersection of the surface with a ray, and is guaranteed not to miss fine features of the surface. It does not require fine tuning or human choice of interactive parameters. Instead, it requires two upper bounds: "L" that limits the net rate of change of the implicit surface function f ( x , y, z) and "G" that limits the rate of change of the gradient. We refer to an implicit surface with these rate limits as an "LG-implicit surface."Existing schemes to intersect a ray with an implicit surface have typically been guaranteed to work only for a limited set of implicit functions, such as quadric surfaces or polynomials, or else have been ad-hoc and have not been guaranteed to work. Our technique significantly extends the ability to intersect rays with implicit surfaces in a guaranteed fashion. C R C a t e g o r i e s a n d I n t r o d u c t i o nThe task of intersecting rays with implicit surfaces (see Figure 1) is an important part of the theory and application of ray casting and ray tracing. Implicit functions can be used to represent some useful and interesting surfaces• They also have a nice composition property in that they can be combined in geometrically useful and concise ways to generate new implicit functions• Examples of these are the algebraic surfaces introduced by Blinn [BLtI',Ir,,I 82] and extensions (Figure 16 and 20).The reader might be surprised to find that it is impossible to create an algorithm (based solely on the evaluation of the implicit function at points in space) which is guaranteed to correctly intersect a ray with an arbitrary implicit surface. For any algorithm that could be constructed, there exist troublesome functions f(x,y,z) for which important parts of the surfaces are missed. Figure 2 illustrates this problem. In this example, we would need information about the existence of a spike in between the sample points, which is not available from the values of the function obtained at the sample points.Thus, to guarantee ray intersections with implicit surfaces, some sort of auxiliary information is needed. In our case, we have chosen this auxiliary information to be the L and G rate limits.Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. • \ Figure 2: A spike flmction demonstrates some of the difficulties of sampling without sufficient information about the function being sampled. The above surface at each of the samples has zero curvature; the samples do not indicate the presence of a spike since the spike falls between the sampling points.
In this paper, we present a general, systematic and consistent treatment of time and events for computer animation. We first formalize the concepts of events and create a time primitive called an event unit. We then present a succession of organization schemes to compose event units for generating complex motion sequences. We present a directed graph representation for the organization of time and events that suggests the form of an event‐based time programming language. Details of implementation of a general event simulation system are given. Our approach provides a clean partitioning for the problem of motion design, a hierarchical scheme to compose motion behaviors from time primitives and a programming model for organizing animation. Traditional methods of kinematic controls and key frame interpolation are special cases of our general scheme. In addition, our treatment of events can be combined with kinematics, dynamics or constraint‐based systems to generate powerful motion modeling systems.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.