Projection
Mapping
Organized Collection of Points
Credit: Alexandre Duret-Lutz
\sourceLocated{Alexandre Duret-Lutz. Creative Commons Attribution Share-alike.}
Produce a transformation of an object in another geometric context.
"Here" and "there" pervade design. Eyes, ears, the sun, lights, structural
elements, ducts and pipes all relate a "here" to some distant
"there". Often the relationship between here and there is a geometric line
or curve. Use this pattern to construct coherent, reproducible
relationships between "here" and "there."
Projection\index{transformation!projection|(} provides a conceptually simple, yet openended tool for
producing new objects from old. Its origins lie in the Renaissance and
before. For designers, projection is perhaps most associated with the
field of *descriptive geometry*, an 18th Century invention
\cite{MONGE1827} and one which, until recently,
was a mandatory part of design curricula worldwide. Descriptive geometry
codified procedures for deriving two dimensional representations of three
dimension objects by projecting the three dimensional objects onto
surfaces. Parametric modeling supports a much richer collection of
projective ideas than was practical with older, manual techniques. With
tongue somewhat in cheek, one could argue that parametric modeling is the
21st Century replacement for descriptive geometry.
The basic idea of projection has three parts: (1) a *source
object* to be projected, (2) a *projector* or
*projection method*, and (3) a *receiver,* the
object on which the projection appears. Its most simple form is
orthogonal projection: points are projected onto a receiving
plane such that the projection lines are perpendicular to the
plane. The suite of projection and intersection tools available
in parametric modeling enable a wide range of projective
form-making ideas.
The two main effects of projection are indirection and
separation. With it, a model can be the indirect cause of a
sculptural effect. With it, different aspects of an object can
be separated into distinct views that may enable special views
and inferences on the object. A very common example is a light
(essentially a point source) that *projects* a pattern
through a screen onto a surface.
Every Projection has the three parts
mentioned above: (1) the projected object, (2) the projection
method and (3) the receiving object. The projected object is a
point or any composite of points: a line, ray, line segment,
curve, polygon, surface, or $3D$
object. The three most common projection methods are
*parallel projection* in which all projecting ray are
parallel; *normal projection* in which the projecting
rays are normal to the receiving object; and *perspective
projection* in which all projecting rays pass through a
single point. There are a wide range of other methods. For
instance, cartographic projections can be explained as the
mapping of parametric coordinates from one surface to
another. The most common receiving ojects are planes, polygons,
surfaces, lines and curves, as well as composites of
these. While possible, projections to points and $3D$ objects seem to be less common in practice.
A wide variety of projections exist
\cite{CSISS2009}. Computing projections involves either
mathematical projection or intersection. Mathematical projection
provides direct solutions to relatively simple situations such
as projecting one vector $u$ onto
another vector $v$ with result
$w=((u.v)/|v|)v$. More complex situations involve
intersecting objects. For example, projecting a point onto a
surface amounts to computing the intersection between the
surface and projecting ray.
In many simple cases, a parametric modeler will provide direct tools for
computing projections, for instance, projecting a line onto a plane. It is
a fact of life though that designers will push these bounds. In these more
complex situations, using the Projection
pattern involves three steps: (1) sampling key object points, (2)
projecting these points onto the receiver, and (3) reconstructing the
object as projected on the receiver.
Surface Sampler
Project a collection of points onto a surface.
The mathematical tools for describing surfaces tie the shape of the
surface and its $uv$-parameterization to the
control polygon. Often, only part of the surface is actually needed in
a design. Projecting an Organized Collection of
Points onto the surface\index{surface} provides a subset of the surface
with its own independent parameterization.
The source object is a point\index{point} collection. In this sample, the
collection lies on a plane and is a simple array, but other geometric
and data arrangements can be used. The projector is parallel
projection, with projecting rays being parallel to a line from the
centroid of the collection to a controlling point in
space. Alternatively, the projector could be a perpendicular line\index{line} from
the source plane and a control could allow the source to be moved
within its plane. The receiver is the surface.
Download ProjSurfaceSampler.gct
\renewcommand{\sampleNewPage}[0]{false}
Shadows
Simulate a row of posts casting shadows on the
ground as a light moves by.
Start from a line (as the abstraction of a post) standing vertically
on the $XY$-plane. Define a free point\index{point} as the
moving light. The *shadow point* is the projection of the free
point onto the $XY$-plane. The shadow is a line\index{line}
between the base of the post and its shadow point. Replicating the
startpoint of the posts gives a row of posts, each with its own
shadow. In this case, the source is the free point, the projection is
a perspective projection through the source and the receiver is the
$xy$-plane.
Download ProjPointPost.gct
Skylight
\sourceLocated{Pieter Morlion}
Create a daylight "lens" that focuses on a circle.
Two free-form surfaces\index{surface} represent a roof structure and ceiling. The
$xy$-plane represents a floor. A circle\index{circle} on the
floor can be daylit by projecting it through the ceiling and roof
surfaces. The direction of daylight is nearly uniform, but the two
separated holes will act as a very fuzzy lens to focus daylight on the
circle. Similar to the *Surface Sampler* sample, the projection
direction is controlled by a free point\index{point}. If the direction is chosen to
lie within the sun's annual range, the sun will shine directly on the
circle exactly twice a year. If the direction is chosen to lie on
either of the two solstice paths, this reduces to exactly once per
year. Fixed architecture can have difficulty in responding to moving
phenomena.
The projection of a circle onto a surface, or even an angled
plane, is no longer a circle. While some parametric modelers
may provide curve onto surface projection tools, a good
approximation can be had by projecting sampled points on the
circle and reconstructing the curve\index{curve} from the projected
points. The resulting curve will not exactly coincide with
the surface in which it should lie. Alternatively, if the
modeller has surface trimmming tools, trimming the surface
with a sweep of the circle along the projection line will
yield a new surface with a hole.
When rotating the model, you can see that
three circles perfectly coincide at a specific viewing angle (in a
parallel viewing projection).
A famous example of projection used in form-making is Le
Corbusier's 1953 Monastery of Sainte-Marie
de La Tourette in France (shown in the image above).
Download
ProjSkylight.gct
Spotlight
Model a metaphorical spotlight projecting a circle shape
onto several surfaces.
This sample is very similar to the previous one. The main
difference is that all the projecting rays intersect at the
light point. To calculate the projection, each projecting
ray starts from the light point and goes through the
sampling points of the base circle. While rotating the
model in a parallel projection view, you can see the projected circles
do not coincide at any angle. If you use a perspective view the
projected circles\index{circle} coincide when the camera and light source coincide.
\begin{bodyNote}
\pbOneCol
{\input{\GCFigsPath/Patterns/ProjectionSpotlightExplain0.tex}}
\end{bodyNote}
Download ProjSpotlight.gct
Solar Polygon Shadow
The shadow of a polygon cast by the sun on a curved surface.
\index{point|(}
\index{line|(}
\index{polygon|(}
\index{curve|(}
\index{surface|(}
The source is a polygon, the receiver a free-form
surface. The projector is the sun, therefore the projecting
rays are parallel.
Straight lines project as curves onto a surface. For specific surface
types, such as conic sections\index{conic section}, there are closed-form equations for
these curves. For free-form surfaces, approximations must suffice.
Even though a curve projection tool may be available in your chosen
parametric modeler, techniques for making such an approximation are an
important part of a modeler's toolkit. The key is sampling. Sample
each line of the source with a sequence of points. The choice of how
many points depends on the complexity of the receiving surface: high
curvature and rapidly changing surface normals will require more
samples. Project the sampled points onto the surface and reconstruct
a curve "on" the surface from the sampled points. The word "on" is
advisory---the curve will not lie exactly on the surface. Much
representation is approximation. If the curve must exactly coincide
with the surface, either sample very densely or find a modeler that
supports exact curve-to-surface projection.
It is clear that the shadow is no longer bounded by four straight lines,
but by four curves. Note too a further simplifying assumption. Non-planar
polygons can thought of as defining a minimal surface. If the source
polygon is nonplanar then its orientation must be such that no part of
this minimal surface projects outside of the projection of the polygon's
edges. Else, the shadow will not model reality. This may be good
enough---again, much representation in design is approximate.
Download ProjParaShadow.gct
Spotlight Polygon Shadow
The shadow of a polygon cast by the spotlight on a curved surface.
This sample is very similar to the previous one. The main difference
is that all the projecting paths intersect at the spotlight point. To
calculate the projection, each projecting path starts from the
spotlight. When the spotlight moves closer to the polygon, the size
of shadow increases quickly.
\index{point|)}
\index{line|)}
\index{polygon|)}
\index{curve|)}
\index{surface|)}
Download ProjPointShadow.gct
Pinhole Camera
Model a pinhole camera.
A pinhole camera is a camera without a conventional glass
lens. An extremely small hole in very thin material can
focus light by confining all rays from a scene through a
single point. In order to produce a reasonably clear image,
the aperture diameter has to be less than about 1/100 of the
distance between the pinhole and the screen.
The principle of a pinhole camera is that light rays from an object
pass through a small hole to form an image on the screen (shown in
image above). To model this effect, simply place a point\index{point} (modeling the
pinhole) between the source and receiver and project from the source
through the pinhole to the receiver. Use the sampling technique from
the *Solar Polygon Shadow* sample above to reconstruct the
source on the receiver.
Note that the image is reflected both top-to-bottom and
left-to-right. This is equivalent to a $180\; degree$ rotation about the axis normal to the receiving plane
and through the pinhole (providing the receiver is a plane).\index{transformation!projection|)}
Download ProjCamera.gct
Kaleidoscope
Model a kaleidoscope.
The kaleidoscope is a tubelike instrument containing loose bits and
pieces that are reflected by mirrors so that various symmetrical
patterns appear as the instrument is rotated. Many people have played
with this toy. This sample does not seriously follow the principles of
mirroring in the tube. Instead, it uses
Projection and replication to simulate the
effect of a kaleidoscope.
The source curve lies on a plane (modeling the loose bits and
pieces). You create a free point and vector to model the central axis
of the tube. Build three symmetric surfaces surrounding
the axis to model the internal mirrors. The first step projects the
curve from the target coordinate system to the surrounding
mirrors. Then the second Projection is from
the mirrors to the bottom plan. As you can see, the result of these
two steps is totally different from a direct
Projection. Since the three mirrors in a
real kaleidoscope
reflect images among each other, you can replicate the resulting image
and get a kaleidoscope effect. When you move either the target
coordinate system or the central axis, the bottom image shifts and
varies.
Download ProjParaKaleidoscope.gct