Blender 3D: Noob to Pro/3D Geometry


If you haven't previously studied 3D graphics, technical drawing, or analytic geometry, you are about to learn a new way of visualizing the world, an ability that's fundamental to working with Blender or any 3D modeling tool.

3D modeling is based on geometry, the branch of mathematics concerned with spatial relationships, specifically analytical geometry, which expresses these relationships in terms of algebraic formulas. You may have studied geometry in school, in which case, some of the terminology will seem familiar.

Coordinates And Coordinate SystemsEdit

Look around the room you’re in. The odds are it will have a cuboidal shape, with four vertical walls at right angles to each other, a flat, horizontal floor, and a flat, horizontal ceiling.

Now imagine there’s a fly buzzing around the room. (If there really is a fly buzzing around, feel free to look at it instead of imagining.) The fly is moving in three-dimensional space. In mathematical terms, what that means is that, at any moment, its position within the room can be expressed in terms of a unique combination of three numbers.

Now, there are an infinite number of ways—coordinate systems—in which we could come up with a convention for defining and measuring these numbers—the coordinates. And each convention will give different values for the numbers, even if the fly is in the same position—coordinates only make sense with reference to a specific coordinate system! To narrow down the possibilities (in a purely arbitrary fashion, of course), let us label the walls of the room with the points of the compass: in a clockwise direction, North, East, South and West. (If you know which way is really north, feel free to use that to label the walls of your room; otherwise, choose any wall you like as north.)

Consider the south-west corner of your room, the point at floor level. We will call this (arbitrary) point the origin of our coordinate system, and the three numbers at this point will be (0, 0, 0). The first of the three numbers will be the distance (in some suitable units, let’s say metres) eastwards from the west wall, the second number will be the distance northwards from the south wall, and the third number will be the height above the floor.

Each of these directions is called an axis (plural: axes), and they are conventionally labelled X, Y and Z, in that order. With a little bit of thought, you should be able to convince yourself that every point within the space of your room corresponds to exactly one set of (x, y, z) values. And conversely that every possible combination of (x, y, z) values, with  0 \le x \le W , 0 \le y \le L and 0 \le z \le H (where W is the east-west dimension of your room, L is its north-south dimension, and H is the height between ceiling and floor) corresponds to a point in the room.

The following diagram illustrates how the coordinates are built up, using the same colour codes that Blender uses to label its axes: red for X, green for Y and blue for Z (an easy way to remember this if you're familiar with RGB is the order -- Red X, Green Y, Blue Z). In the second picture, the value for x defines a plane parallel to the west wall of the room; in the third picture, the value for y defines a plane parallel to the south wall; and in the fourth picture, the value for z defines a plane parallel to the floor. Put the planes together in the fifth picture, and they intersect at a unique point.

BlenderCoordinates.png

This style of coordinate system, with the numbers corresponding to distances along perpendicular axes, is called Cartesian coordinates, named after René Descartes, the 17th-century mathematician who first introduced the concept. Legend has it that he came up with the idea after watching a fly buzzing around his bedroom!

There are other ways to define coordinate systems, for example by substituting direction angles in place of one or two of the distance measurements. These can be useful in certain situations, but usually all coordinate systems in Blender are Cartesian. However, switching between these coordinate systems is simple and easy to do in Blender.

Negative CoordinatesEdit

Can coordinate values be negative? Depending on the situation, yes. Here we are only considering points within our room. But supposing, instead of placing our origin in the bottom southwest corner, we put it in the middle of the room, halfway between the floor and ceiling. (After all, it is an arbitrary point, we can place it wherever we would like to, just as long as we all agree on where it is.) Now, remember that our X-coordinate is the distance east from the origin; How do we express the fact that a point lies west of the origin? Simple: We give it a negative X-coordinate. Similarly, points north of the origin have a positive Y-coordinate, while those south of it get a negative Y-coordinate; and those points above the origin get a positive Z-coordinate, while those below it get a negative Z-coordinate.

Handedness Of Coordinate SystemsEdit

It is conventional for most Cartesian coordinate systems to be right-handed. To see what this means, hold the thumb, index finger and middle finger of your right hand perpendicular to each other:

Figure 1: The three axes form a right-handed system

Now you can orient your hand so that the thumb points along the X-axis in the positive direction (direction of increasing coordinate numbers), the index finger along the positive Y-axis, and the middle finger along the positive Z-axis. Another way of looking at it is, if you placed your eye at the origin, and you could see the three arrows pointing in the directions of positive X, positive Y and positive Z as in Figure 1, the order X, Y, Z would go clockwise.

Axes Of RotationEdit

Consider a spinning ball. Every point on it is moving, except the ones right in the middle: these form a line of stillness around which the rest of the ball spins. This line is called the axis of rotation.

More precisely, the axis of rotation of a rotating object over a period of time is a point or a line connecting points that do not change position while that object rotates, drawn when the observer assumes he/she does not change position relative to that object over time.

Conventionally, the direction of the axis of rotation is such that, if you place your eye looking in that direction, the rotation appears clockwise, as illustrated below, where the yellow arrow shows the rotational movement, while the purple one shows the rotation axis:

RotationAxisDirections.png

To remember this convention, hold your right hand in a thumbs-up gesture: Blender3D DirectionOfRotation.png If the rotation follows the direction of the curled-up fingers, then the direction of the axis of rotation is considered to be the same as the direction which the thumb is pointing in.

This gesture is a different form of the right-hand rule and is sometimes called the right-hand grip rule, the corkscrew-rule or the right-hand thumb rule. From now on in this book, it will be referred to as 'the right-hand grip rule'.

When describing the direction of a rotating object, do not say that it rotates left-to-right/clockwise, or right-to-left/counterclockwise. Each of these claims on their own are useless, because they're relative to the observer. Instead of saying this, find the direction of the axis of rotation and draw an arrow to represent it. Then people who know the right-hand grip rule will be able to figure out what the direction of rotation of the object is, by using the rule when interpreting your drawing.

Additional ResourcesEdit

Last modified on 31 August 2013, at 04:00