
Polygonal tessellation how to#
"Quadrics: Rendering Spheres, Cylinders, and Disks" describes how to generate spheres, cylinders, circles and arcs, including data such as surface normals and texture coordinates.Īs discussed in "Describing Points, Lines, and Polygons" in Chapter 2, OpenGL can directly display only simple convex polygons."Polygon Tessellation" explains how to tessellate convex polygons into easier-to-render convex polygons.This chapter has the following major sections. Where the basic OpenGL operates upon simple primitives, such as points, lines, and filled polygons, the GLU can create higher-level objects, such as the surfaces of spheres, cylinders, and cones. To optimize performance, the basic OpenGL only renders convex polygons, but the GLU contains routines to tessellate concave polygons into convex ones, which the basic OpenGL can handle. Only two GLU topics remain: polygon tessellators and quadric surfaces, and those topics are discussed in this chapter. The GLU NURBS facilities, which are built atop OpenGL evaluators, are covered in Chapter 12. The use of gluPickMatrix() is explained in Chapter 13. Several matrix transformation GLU routines ( gluOrtho2D(), gluPerspective(), gluLookAt(), gluProject(), and gluUnProject()) are described in Chapter 3. Mipmapping ( gluBuild*DMipmaps()) and image scaling ( gluScaleImage()) are discussed along with other facets of texture mapping in Chapter 9. Some of the GLU operations are covered in other chapters. The OpenGL Utility Library (GLU) complements the OpenGL library, supporting higher-level operations. The OpenGL library (GL) is designed for low-level operations, both streamlined and accessible to hardware acceleration. Use the GLU library to create quadrics objects to render and model the surfaces of spheres and cylinders and to tessellate disks (circles) and partial disks (arcs).Render concave filled polygons by first tessellating them into convex polygons, which can be rendered using standard OpenGL routines. For each of the following tessellations, identify a set of transformations (they will be isometries, or length-preserving transformations) which determine the tessellation.After reading this chapter, you'll be able to do the following: The effect of this is to give a description of the tessellation completely in terms of its structure (in fact, group structure), rather than in terms of any pattern used to decorate the squares. In fact, each square can be given a label according to the translations used to obtain it. The square to the left of the initial square is obtained by the inverse translation T ≡ a horizontal translation through ≡. For example the square to the right above the initial square is obtained by TU ( T followed by U) or UT. Can we describe this tessellation? Starting with the square with the orange L, every other square can be obtained by repeatedly applying two translations: a horizontal translation T through distance 1, and a vertical translation U through distance 1. This pattern of 1 x 1 squares clearly tessellates the plane. Perhaps there are a finite number of such patterns? Consider the following situation. Of course there are a great number of such designs, but many of them have the same underlying structural pattern. One obvious place where tessellations occur is in wallpaper designs. Maurits Escher was a master at constructing tessellations. You might like to check out Bruce Bilneys fun Australian pages, or many other fascinating tessellation sites. They are quite hard to construct, as each boundary point has to also be a boundary point of an adjacent figure. You can have a lot of fun with general tessellations. And related to this, would we like our polygons only to have edges and vertices in common? unlike this situation where each large square has a half-edge in common with each adjacent square. Do we wish to allow similar components in our tessellation? in this example, squares of different sizes. The square pattern at right raises other concerns for us, especially as we will be concentrating on polygonal tessellations.

Notice that we have no problem tessellating with an elaborate shape such as the turtle above. In other words, it is useful to use bounded geometric designs to tile the plane.


However, we might decide to exclude the infinite stripes, above left. A general definition might be:Ī tessellation is a repeated geometric design that covers a plane without gaps or overlaps.
Polygonal tessellation free#
As previously, we are free to define a tessellation in any way we like, but it is best if our definition is useful, and also recognized by others.
