1 / 35

Advanced Computer Graphics Computer Animation

Advanced Computer Graphics Computer Animation. Implicit Surfaces Spring 2002 Professor Brogan. Many slides from Brian Wyvill’s online materials at U. Calgary. Papers for Tuesday. Spacetime Constraints, Witkin and Kass Siggraph Deep-water Animation and Rendering

natasha
Télécharger la présentation

Advanced Computer Graphics Computer Animation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Computer GraphicsComputer Animation Implicit Surfaces Spring 2002 Professor Brogan Many slides from Brian Wyvill’s online materials at U. Calgary

  2. Papers for Tuesday • Spacetime Constraints, Witkin and Kass • Siggraph • Deep-water Animation and Rendering • Gamasutra.com, Sept 26, 2001

  3. Implicit Surfaces • Surfaces defined by points that satisfy • f(P) = 0 Implicit Function • Example, a circle • Parametric • x=r cos(a) • y=r sin(a) • Implicit • x2 + y2 + r2 = 0

  4. Implicit Surface Modeling • Useful for modeling natural and smooth/organic synthetic phenomena • Living forms, liquids, clouds • Each primitive is represented by a skeletal element which contributes in defining a scalar field • Every point in space is assigned a scalar value equal to shortest distance to a skeletal element

  5. Implicit Surface Modeling • Simplest skeletal element is a point • A (distance) contour of that point defines the (surface of the) model • Ex: two points approach and their contours blend

  6. Combining Skeletal Primitives

  7. Blending Skeletal Elements • Define a simple surface as: • A central point, C • A radius of influence, R • A density function, f() • A threshold value, T • All points, P, for which dist (P, C) < R • Implicit surface = f (dist(P, C)) – T = 0

  8. Blending Skeletal Elements • Example: metaballs • f(dist) = • Surface drawn where f(dist) – T = 0 Surface drawnat this radius Value of T

  9. Blending Skeletal Elements • Example: two metaballs • Surface drawn where: • f(dist1) + f(dist2) – T = 0 Do we drawsurface here? r1 r2 r2 r1

  10. Blending Skeletal Elements • Yes http://www.lifl.fr/~triquet/implicit/video/blend.mpg

  11. Blending Skeletal Elements • In general, surface defined by multiple surface elements is:

  12. Blending Lines • Lines can bulge when their ends meet • Usually not the desired effect • Tinkering with density function and line separation can fix

  13. Versions of Density Functions

  14. Modeling a Dinosaur (Wyvill)

  15. Modeling Blood http://www.lifl.fr/~triquet/implicit/video/blood.mpg

  16. Solving Implicit Functions • Root finding • Given a function f, we wish to find the set of x values (1D points) that satisfy f(x)=0 • From calculus, the Intermediate Value Theorem states: “as x varies from a to b, the continuous function f takes on every value between f(a) and f(b)”

  17. Solving Implicit Functions • If f(a) and f(b) have opposite signs, the root is said to be bracketed in the interval [a, b]

  18. Bracketing the roots • Uniformly subdividespace • Evaluate f( ) for eachboundary • Transition from + to –defines bracket

  19. Bisection search • Iteratively subdivide to find exact zero

  20. 2-D Implicit Surfaces • Surface defined by f(X) = 0; X = (x, y) • Uniformly subdivide • Evaluate f( ) at all points • Bracket roots

  21. 2-D Implicit Surfaces • Find intersection point along all grid lines with +/- values at endpoints • Edge defined by crossing points

  22. 2-D: Adaptive Subdivision • Recursively subdivide cells containing a surface crossing down to a threshold size • Calculate crossing values and connect dots to form polygon edge

  23. 2-D: Continuation Methods • Overlay fine-grain uniform subdivision • Find start (seed) point that lies on surface • Find cell containing seed point • “Grow” the set of cells across surface • Evaluate adjacent cells to find next surface crossing cells

  24. Potential Problem #1 : Bounding the Domain Space • May not completely contain the object • May miss disconnected components • Will result in “clipping”

  25. Potential Problem #2 : Discretization Error • Too large uniform cell size: • May not be able to converge (entirely miss the surface) • Too large adaptive threshold cell size: • Misses small, completely-containedfeatures • Coarse resolution model • Incorrect topology: • ambiguous cells • connects or breaks components • Too small cells sizes are inefficient and more susceptible to numerical error

  26. Potential Problem #3 : Disconnected Components • Uniform cell subdivision may find them, but inefficiently • Continuation methods may miss them • must have a seed pt on each component • Related to discretization error

  27. Potential Problem #4 : Ambiguous Surface-Crossing Cells • Many cell vertex polarity configurations are ambiguous • Possible to polygonize in different arrangements • May even result in disjoint polygons • Solutions: • Detect and recursively subdivide • Choose a consistent convention (e.g. always join positive pts)

  28. Moving on to 3-D • Conceptually the same • Discretize space and find crossing points on 12 edges of cube • This can be tricky to connect the crossing points into a polygon correctly

  29. 3-D: Finding cell polygon face vertices Algorithmic method: • Begin with any edge-surface intersection point (1) • Proceed to negative corner (white open pts) and then clockwise about the cube face (w.r.t outside) until another intersection point is found (2) • Repeat for each subsequent face (34, 45, 51)

  30. 3-D: Tetrahedral Decomposition • Tetrahedra reduce ambiguity and produce correct meshes, but many more polygons result • Diagonal edges cut across cube faces • Must make sure adjacent cubes have aligned tetrahedron edges to preserve topological correctness

  31. 3-D Tetrahedral Decomposition • Five Six

  32. 3-D Implicit Surface Evaluation • Particle Methods • Turk, Hoppe, Szeliski, Witkin, Heckbert (cool paper) • Constrain particles to exist on isosurface • Allow particles to split and join • Particle seeks to balance space between neighbors • A constrained optimization problem

  33. Collision Detection • Easy to detect colliding blobbies • Evaluate sample points from one object in the implicit equation of another • Deforming the blobbies is more complex • Define collision boundary, F1(p) = F2(p) • Create addition term, G(p) that is added to density function, F(p) to prevent passing through collision boundary • Add terms to G(p) so blobbies preserve volume as they are retarded by collision boundary

  34. Spacetime Constraints • Find min of f(x) = y • Find zeros (roots) of derivative function, f’(x) • Newton Raphson Method does this • Find min of f(X) = Y; X and Y vectors • Same method, but find where Jacobian is equal to zero

  35. Spacetime Constraints • Null space of a function • The inputs of a function for which the function evaluates to zero • Finite differences • Approximate derivatives (inverse of Euler integration) • Solving for all forces in time simultaneously

More Related