Chapter 3: Coordinate Pipelines.
- casting.cpp: Sample program which shows how to cast Euclidean into projective points and vice-versa.
- segmentintersection-projective.cpp: Compute the potential intersection point of two line segments using the cross-product: cross-product for
defining supporting lines and cross-product of the line vectors for determining the intersection projective point
- PolygonTransform.cpp: 2D polygon transformations (rotations, symmetries, shears, etc.). Require OpenGL(R).
- 3dtransformations.cpp: 3D mesh transformations (rotations, symmetries, shears, etc.). Require OpenGL(R).
Require the Stanford bunny mesh in the include file bunny.h.
The 3D bunny model is courtesy of (c) The Stanford 3D scanning repository, Marc Levoy.
- rotation-by-quaternion.cpp: Sample program that shows how to use quaternion arithmetic for performing rotations
around some given axis. Require OpenGL(R)
- isometricprojection.cpp: Choosing the view direction and hence the projection plane for getting an isometric projection of cube(s). Require OpenGL(R)
- openglviewport.cpp: Render several views onto a same device display using viewport mappings. Require OpenGL(R)
Rectify an input perspective image so that the planar surface (eg., sign, etc.) looks as if taken from front position.
You need the input image newcourt.ppm.
Result image is called unperspective-newcourt.ppm
Match two perspective images by an homography related a common planar surface (book cover).
You need the input image bookcovers1.ppm and bookcovers2.ppm.
Result image is called blendhomography.ppm
Log-polar transform on a source image.
You need the input image cambridge512.ppm.
Result image is called logpolar.ppm
Spherical mapping (theta-phi) of an image (with given field of view).
You need the input image normal120deg.ppm.
Result image is called sphericalimage.ppm
An easy way to rasterize conics, line conics and dual conics.
Result image is called draw.ppm
A sample program using Plucker coordinates of lines to answer incidence or intersection test of lines.
Define the dot product of Plucker lines.
A simple interactive interface for visualizing the radial distortion. Require OpenGL(R).
Create a checkerboard image, save this image into checkerboard.ppm and display a textured quad. Require OpenGL(R).
Reflection mapping using a sphere map environment image and the Utah teapot. Require OpenGL(R).
You need this sphere map image: mirrorball512.ppm.
Environment map conversion procedure using generic pixel-to-ray and ray-to-pixel primitives.
You need this equirectangular environment map image: latlong.ppm.
The output is a spherical mirror ball image spherical.ppm that you can also use in the former
OpenGL(R) reflection mapping program.
Last updated, May 2005.