Basics of 3D
Are you new to the amazing world of 3d graphics? Not sure which software to choose? Already using a software, but not really sure why you chose the one? Then this article is definitely right for you! If you are an advanced user, chances are, you might still find some piece of information in this article, that might broaden your horizons. In the following lines, I will try to cover some of the basic theory hidden behind the mysterious name “3d”.
So what does “3d” stand for? As most of you probably know, it is an abbreviation for 3 dimensions or 3-dimensional. This means, the position of every point in this space with a fixed center (also referred to as Euclidean space – depicted in the following image) is described by 3 values, the x,y and z coordinate. These 3 values are enough to describe every single position, that is possible in space.
Now that we know, how to define a point, the most basic element in space, we can take a quick look at different model representations. This is probably the most crucial part of choosing the right software for you, but before we start, I would like to say very briefly, that there is no “best” software. Every program has its strengths and weaknesses, therefore it is much wiser to find a combination of programs, that will cover each others weaknesses, than to look for a holy grail of 3d graphics in form of a software, that is “the best for everything”. The two most common object representations used today are polygons and nurbs. I will start with Nurbs-based programs.
Nurbs (short for Non-uniform rational b-splines) use mathematically defined curves and surfaces, to create models. This allows the user to work with extremely accurate measurements, perfectly smooth surfaces and very well executed Boolean operations (additions or subtractions of volumes and shapes). These traits make nurbs perfect for CAD and CAM. If you wonder, what these abbreviations mean, CAD is short for “computer aided drawing”, so technically, CAD should be every visual output you create on the computer, from drawing stick-figures in MS Paint to high-end renderings, but it has become the synonym for drawing floor plans and sections of houses or technical blueprints for everything from an electrical screwdriver to a passenger plane. CAM is short for “computer aided manufacturing”, which means giving data input to manufacturing machines like cutters or 3d printers, where often even 1/10 mm can make the difference. If you are interested in creating the above mentioned content, you should check out Rhinoces 3D, Solidworks, Catia or maybe some other Nurbs-based programs. The image below shows a very simple example of a nurbs surface created in Rhino.
The other object representation I want to talk about today are polygons. They are the most common type used in today’s mainstream software. If you like visual effects or fully animated movies, then you can be quite sure, they were created in programs, that worked with polygons. A polygon is a planar element defined by a certain number of points. From 3 points, we can get the most basic planar element, a triangle, 4 points can be used to define a 4-sided polygon, a so-called “quad”, pentagons, hexagons and all the others are simply referred to as “n-gons”. From these polygons, you can build facetted surfaces, called meshes. If these consist of enough segments, they can appear smooth. There are also a few tricks, that make these surfaces smoother, or that make them at least look smoother, which I will address in future tutorials. Not knowing much about polygons, you could wonder, why anyone would prefer them to nurbs for any kind of job. Well there is a good reason for that. Polygons have always been the most common weapon of choice for artists looking to create visually attractive images or animations. This object representation may not be as accurate as nurbs, but offers the user tons of useful tools and techniques, that are not possible with nurbs today and that allow the artist to have much better control over certain aspects of his work. (lets just name a few, like UV unwrapping, used for mapping textures onto surfaces, sculpting, a modeling technique, that lets the user model amazing details during a workflow that is similar to molding from clay, character animation tools, soft body physics and particle systems for introducing life into your animations and many others…) It is this great variety of tools and workflows, that make polygon based software the leader in today’s visually oriented industries. Also the gaming industry uses mainly polygonal modeling, since polygons are faster and easier to compute in real time. Of course in most cases, the strengths of polygonal modeling can only be fully used, if the topology (the way you construct your model) is right, which needs a certain amount of experience, but is not difficult to learn. Since polymodeling is my field of expertise, I will address certain tools and workflows in my later tutorials. For those of you who are interested in trying this kind of software, you should look into Modo from Luxology, 3D studio max, Blender, Cinema 4D, Maya or some of the many, many others. Here you can have a quick look at a similar surface like the one demonstrating the nurbs surface. The first one is the raw polygonal cage model, the second picture is the same polygon cage, after subdivision surface (a smoothing algorithm) was applied to it, both made in Modo:
If you look carefully, you are likely to come across a few other object representation types than polygons and nurbs. Lets just name another pair: point clouds and voxels. Point clouds, as the name already reveals, are big quantities of points. You are most likely to come across them when using 3d scanning techniques. Voxels are a certain kind of point in space, but unlike vertexes (also points in space, common name in polymodeling software), they do not only have a position, but also mass and volume. Just like atoms in real world. This promising 3d data representation isn’t very commonly used today, but you can come across voxels in certain game-engines and sculpting software.
I hope that I managed to shed some light onto certain aspects of the amazing world of 3d graphics, and hope to meet you soon during another tutorial. You are welcome to ask questions, comment and discuss on this article in the comment section below.