CS488 - Introduction to Computer Graphics - Lecture 34

Comments and Questions


  1. Particle systems
  2. Procedural terrain generation
  3. Meshes
  4. A5 Documentation
  5. Evaluation

Polyhedra and Meshes

Winged Edge Data Structure

When we talk about polyhedra & meshes it seems most natural to talk about vertices

And we have been most interested in vertices and faces. Meshes are, of course, graphs

Every time we see a graph we should think,

In the dual edges are primary:

Winged edge data structure

Each edge has

  1. pointers to the faces it separates
  2. pointers to the vertices at its ends
  3. participates in a doubly linked list of edges at each of its ends

Each vertx has

  1. one pointer to an edge
  2. Exercise. Why do you only need one?

Each face has

  1. one pointer to an edge
  2. Exercise. Why do you only need one?

Issues to consider

  1. Traversal. Can you find all neighbours quickly?
  2. Vertex/edge addition. Can you do it in constant time?
  3. Vertex/edge deletion. Can you do it in constant time?

Splines without Tears

The French curve.

General piece-wise curves

  1. They are just line segments: you have been making them all along.

When you put them in a mesh there is an extra requirement

Linear curves necessarily give derivative discontinuities (called C1 continuity)

Is it good enough to get me away from the French curve?

Now you have a way of making smooth-enough curves specified by a small number of points.


Quite simple, really

`Specifiable': Think splines.

`Realistic': Think continuity.

  1. C0 continuity: no teleportation, possible discontinuities in velocity, which violate Newtonian mechanics.
  2. C1 continuity: no discontinuities in velocity, possible infinite accelarations.
  3. C2 continuitiy: acceleration continuous, possible infinite jerks.
  4. etc.

Most impotant point

Return to: