Introduction to 3D Modeling
The easiest way to start learning about 3D modeling is by comparing it to the real-world environment. Objects in 3D modeling are obviously not physical, but they do adhere to some of the rules of physics.
Instead of jumping straight into the theory of 3D modeling, we will begin with a study and analysis of objects in the real world. We will look at the similarities between our world and the world of 3D modeling and show you how to use them to modify objects in the world of 3D.
What is 3D modeling?
3D modeling aims to create digital objects. It can be used to replicate existing physical objects in the world of 3D or prototype items that you are about to manufacture. No matter the application, the concept of 3D modeling is always the same.
It centers around vertices of 1st level primitives from where we draw lines, faces, and eventually, we proceed with rendering to form a mesh, which ends with a topology structure. We have already covered those aspects in great detail in the Computer Graphics Handbook.
The focus of this article is to provide an introduction to 3D modeling for a novice. Therefore, we must start by describing some of the fundamental concepts of 3D modeling, before moving into more advanced 3D geometries of objects.
It is also quite important that as a beginner, you have a good grounding on how to create and manipulate the solid using various transformations.
In conventional language, when we use the term transformation, we immediately think of a complete makeover. When it comes to 3D Modeling, Transformations refer to changing the position and size of a 3D object.
We will return to our comparisons of 3D modeling to the real world to eliminate some of the misconceptions which are often associated with transformations in 3D modeling.
Transforming rigid objects
When we speak about rigid objects, we are speaking about objects such as a rock in the real world. Rigid objects can move and rotate as one part, but you can’t scale or deform them. You can make a rock look bigger or smaller with a magnifying glass, but there is no way you can make them grow and shrink in volume or size.
Similar transformations apply to 3D modeling. The Camera in 3D modeling software allows you to zoom, pan, and rotate an entire scene. However, much like a magnifying glass, it does not change the actual object’s size and position. The camera transformations are like moving and rotating the magnifying glass.
Transformations we spoke about refer to the transformation of the 3D scene. When we refer to the Transformation of the object, we are speaking about the change in position, rotation, and size of the object itself. Deformations, on the other hand, refer to modifying the shape of the object by carrying special functions that alter its Solid. This change can impact the object as a whole, or it might be limited to only certain parts of the 3D object.
Determining the position of a 3D object
At first, we will take a look at the real-world situation where you are given a GPS coordinate to a position of a large object. The first problem is that the object has an area, and a GPS coordinate refers to a single point. Even if you are given the exact region to place that object, it is still impossible to have it exactly at that point. You might have to use a method of approximation to ensure that that coordinate overlaps with that object in the real world.
For example, 3D modeling in engineering projects requires a much more exact, scientific method of positioning objects. It is possible to place the center of the object at the exact location, but even then, it is not straightforward. Which center of the object are you going to use? The actual center of the object, or the center of its mass? It can get extremely complicated, but it will become clearer as we proceed with this blog.
Using a Bounding Box (BB) to position a rigid object
To solve the positioning problem, we use a bounding box, often referred to as BB. It is a rectangular box that contains the object that we want to position. BB is constructed in a way that the object has contact with each of its sides. In this method, the center of the box is used as a way of positioning objects.
In the 3D modeling world, we are using the same principle. In this case, we are working in a digital world, which means we will use a digital BB to position our object.
If we compare the image of real stone and its computer-generated replica, the difference between them is quite clear. The stone can't be placed flat on the ground, while the bottom of the digital rock corresponds 100% with the bottom of the virtual BB.
SelfCAD uses the BB center as the point for doing your transformation by default, but it's not the only way. The software allows us to choose other points to use for transforming the object.
Rotating 3D objects
When we compare rotating to positioning, it is obvious that many of the problems associated with positioning do not apply to when it comes to it. The main reason behind this is that rotation occurs around a single point, called the point of origin.
It doesn't mean that rotating is completely problem-free. The issue that you'll find is with keeping the object in the same position while rotating because this tool demands the object to rotate around its center.
Scaling rigid objects
Scaling of objects in the real world is impossible, which indicates a huge difference when comparing scaling the real-world to the world of 3D. All of this will make more sense once we do these transformations in actual 3D modeling. To expand on this, we will find other real-world objects and see what parallels we can draw between them and the digital world of 3D modeling.
Transformation of structured objects
When we look at a steel chain and a stone, for example, it is clear that both are solid objects. It is impossible to scale a loop, but it is possible to scale a chain of them because each of the multiple pieces of a chain can be rotated and moved separately within their defined limits. In this way, we can change the length of the chain, even though the actual size of the chain remains the same.
It is possible to remove or add segments to the chain as well. When we look at its structure, we note that it does not have a single volume. It is because it consists of separate loops which can be moved and rotated.
In our illustration, we used the Copy Offset tool to create a chain. It was necessary to Merge it into a single object, and with it, each loop became its own solid with its own volume. If we did not do this, then our structure would become non-manifold.
It is possible to change the size of rigid shapes by adding more segments and connecting them into a single structure. Different CAD software have similar features that allow them to scale individual meshes as well.
Transformation of a solid
Now, we are going to discuss a Solid in 3D modeling by looking at a fiberglass mesh. It is quite similar to a chain, but the main difference is that all of its segments are connected. When fiberglass castings are used in the real world, they have a single volume.
3D solid in computer graphics acts just like the fiberglass mesh in the real-world. Designers only need to create a wireframe structure, and the 3d modeling software adds the infill to make it into a solid object.
Adding the infill is part of the rendering process. Designers can change the color, add texture, lighting, and other effects to make a photorealistic rendering, but the 3D modeling process only focuses on creating and modifying the wireframe structure.
So when we look at a solid, we can safely say that if it has a single volume, and that it can stretch like a chain, but we cannot change its size. If we pull it to the right, for example, it will pull away from the left side, and it's because all of the segments are connected.
Transformation of flexible objects
We are going to discuss this by looking at the image of a balloon in the real world. It can stretch and change size. When air is blown into it, it can expand and change its area and the volume that it occupies in 3D space. With all of these transformations, there is one parameter that remains a constant, which is mass. A balloon can change its volume by thinning its walls. It means that the more you stretch a flexible object such as a balloon, the thinner its walls will become.
In the 3D digital world, however, 3D modeling software can perform all of these transformations on an object without changing its underlying structure.
Transformation of living things
Living things like Plants that grow can increase in size and volume as they grow. They can also add additional segments when growing extra leaves.
In some ways, a 3D solid is similar to a living body. It can grow in size by adding segments to it, so to speak. It is a necessity to know that transformations can only take place at the vertices of the solid, which are located at all intersection points.
So far, we have learned that there are certain similarities between the virtual world of 3D modeling and the real-world. We have learned that:
- Rigid shapes cannot be scaled
- Chains can be transformed as a whole object, but not its individual loops or segments. Each of the individual parts of a chain has its own solid
- A single solid object can only be stretched, but cannot be scaled
- A flexible object can be scaled by thinning its walls without any change to its mass
- Only living objects can be scaled
From this, we can conclude that only living objects can be scaled. This brings us to the following question. Are 3D objects alive, and if so, then why can they only be transformed at intersection points? It brings us back to the story of Faces, Edges, and Vertices. It also highlights the importance of learning about what happens when a 3D object is scaled.
So what is a digital image?
This topic has been discussed in great detail in the Computer Graphics Handbook. Here are a few pointers from this article.
Scaling images is limited because each of them has a finite number of pixels. The problem of the limited pixels in scaling can be solved when images are converted to the SVG format.
From the Handbook, we know that Edges consist of two Vertices with a computer-drawn line connecting the two vertices.
We also know that 3D primitives are the basics of any object in 3D modeling, which, once again, brings us back to Faces, Edges, and Vertices.
How do we scale objects?
Scaling is based on the movement of points. When we compare scaling and stretching, we can see that the only difference between them is in how the distance between those two points changes. We also know that the only way to scale a finite object is to add more segments to it. Then we have the case of rigid solids such as rocks, that cannot stretch at all. Inflatable objects and fluids, on the other hand, cannot be deformed or changed in size.
When we create new 3D objects, we create it with new segments. Modifying those objects result in a change in the number of segments, as well as their shape and size. On top of that, segments can be added to or removed from the object when needed.
Transformations and Deformations of objects, on the other hand, revolve around the movement of the vertices. The software responds by redrawing new line segments to join the points. The number of vertices remains the same, and the number of segments in the object remains unchanged. The only thing that does is the position of vertices.
What is a 3D Solid?
A solid is similar to fiberglass in the real world. Any Transformation is restricted to the surface of the solid, but it can grow if we add more segments to it. This way, the solid is something like a living grid. Its density can be changed by either subdividing it or by changing its resolution.
To illustrate this, we will use two cubes with the same dimensions. The only difference being that one cube has its six default faces, one at each side, while the second one has nine faces at each side, arranged in three rows of three.
When we scale the front edge scaling of the first cube, you can see that the entire object ends up scaled because the Vertices drag the connected Edges with it. When we apply the same transformation on the cube with the increased resolution, the scaling is limited to the top front Faces only, and the rest of the shape remains unchanged.
In the last shape, we selected and moved three front faces, as well as a single face at the top. As you can see, because of the increased resolution, we only changed the position of the selected faces and their neighboring regions.
In all three cases, we used joint-vertices when performing the Transformation.
When you transform a shape, you will only modify its vertices because the vertex is the core of any 3D object.
If you select the entire object, then all of its vertices will be modified. If you select a Vertex, then only that vertex will be affected. If you choose an Edge, only the two vertices which form that edge will be affected. And if you select a Face, then the vertices forming the edges of that face will be affected.
Similarly, by modifying a single vertex, you will end up modifying the edges attached to that vertex as well.
Linear and Non-Linear Transformations
Most of the 3D transformations are linear, which means that everything will be transformed by the same amount. There are a few exceptions to this rule, and they will be discussed a little bit later.
Deformations, on the other hand, are all non-linear transformations. They use what we call a weighted function to deform a solid in the selected region.
General deformation implies that we take something and change it into something less attractive than the original. The term has the same meaning when it comes to deforming 3D objects, but it is only one of many tools used in the entire process of 3D modeling. Designers use deformation tools to improve the appearance of a shape, not to damage the object in any way.
Deformation tools work similarly to how Transformations do. The more details there are in the solid, the smoother will be the applied deformation.
Deformations are predefined functions in our 3D modeling platform, similar to what can be found in other modeling software. The effectiveness of deformation depends on the amount of detail the object has. We can illustrate this by using a cube that has the minimum number of six faces and eight vertices.
When we apply the predefined Bend deformation, the cube skews rather than bends. It is because the deformation was only able to act on a single face of the basic cube.
When we add detail by increasing the resolution of the cube, we get a different result. Application of the Bend transformation tool to the modified cube (increased resolution) bends the cube much more smoothly.
We are also able to specify exactly which part of the cube should bend, including the direction. These parameters are decided by the position of the Gizmo, or by selecting the faces that we want to bend.
The same applies to the other predefined deformations, such as Inflate.
Each of those predefined deformations has its advanced functions as well, but that's the topic for another article.
There are times when we might need to do custom deformation, which is not included as one of the predefined options. Those can be done by using some of the more advanced tools. Here we are going to explain this by using the same cube and the Follow Path tool.
We will scale our cube so that it forms like a thin slice, and draw a profile using a tool from the Drawing category.
It is possible to draw a profile using the 3D Sketch tool. We will use the cube and get it to wrap along the profile using the Follow Path tool. The result is several cubes that smoothly wrap along with the profile.
How smoothly will they wrap around the profile depends on the level of the detail of the cube. If we decrease the level of the detail, then the wrap will not be as smooth, and some parts of the profile may even be ignored completely.
SelfCAD has a fairly unique feature which allows the user to reduce the level of the detail to 0, which deletes all of the unnecessary detail from the object without destroying its geometry. It’s called Resolution, which can be found in the Modify category in the main toolbar.
Under Utilities, we can find several extremely useful functions that are best described as helper tools. We will introduce some of them down below.
This tool allows us to align two or more objects to each other. It is possible to align objects next to, on top of, or in front of any other object in the workspace. We can even set offsets to the alignment.
This tool can be used to snap objects to the position of the cursor within the grid.
With this tool, we can measure the exact length of a line, or the edge of the object, as well as the distance between two objects. On top of that, its secondary mode can be used to measure the Angle between edges.
Scaling with the Measurement Tool
After determining the exact length of an edge, we can scale it by entering a new value into the text-box. We will use our cube again to illustrate this.
It is possible to scale an edge from one or both vertices. We can also select and scale the whole object.
It is also possible to determine the exact distance between the two objects. When we change the scale of the distance between objects, the objects will be scaled to the same degree. Check out the video down below to learn how the measurement tool was used to scale an object.
The magnet can be found in the advanced settings of the Move tool. With this feature, we can snap an object to any surface, and have it cling to this surface as if pulled by the magnet. The placement of the Gizmo also determines the alignment of the object.
We have mentioned earlier that transformations can be both linear, as well as non-linear.
The difference between linear and non-linear transformations
I am going to explain this from a technical perspective by using a random set of numbers in an Excel spreadsheet.
Let’s say we have some numbers in a column and apply a specific function to each of these values. Each value will change according to the preset, fixed-function in the results column. This is what a linear function means.
We are going to use the same numbers down in a column. In this case, each number will be changed using a predefined function (different) for each value. In simple terms, this would be non-linear.
Linear and non-linear transformations in 3D modeling
Basic transformations such as Move, Rotate, and Scale are all linear transformations. Transformations are all regarded as being non-linear.
Linear Transformations in 3D modeling
Move is an interesting linear transformation tool in that it can sometimes result in the deformation of the object as well. We are first going to look at features of move that don't result in deformations. It means that the position of the object can be changed, without any deformation of the original object. See how the move tool is used in the video below.
Changing the position of an object without deformation
Any change in location of the object takes place around a fixed position of the object, the scene, and the axis. It will become clear what I mean as we continue with this section.
There are three ways in which an object can be moved around a fixed position.
- Fixed movement on the axes
We are already familiar with the 3D space and the arrangement of the axes. Arrows situated above the Gismo represent the alignment of the axes. We can move the object along or parallel to the X-axis if they follow the axes representing the x-direction. We can similarly move an axis above the Y axes and to the Z-axis.
- Free movement around a point
It is also possible to move an object freely around a point where more than one Gizmo is used. One Gizmo will be the anchor on the plane around which the object can be moved, and the other Gizmo will move the object itself.
- Movement along with fixed angles
Objects can be moved along lines that are at fixed angles around the axes. These lines are represented by grey arrows which are offset around a central Gizmo on the object.
Let us return to the concept of movement being fixed in a scene. This is related to a mathematical concept called a matrix. In the case of the scene, it is called the Global or World Matrix. We can see how this works quite nicely when we move, rotate, or zoom the camera. The whole scene is moved, without changing the global relation of the objects to each other.
Let us explain this a bit better. If we have two objects where one is placed above the other, they will keep this relation. If we zoom in or out, the objects will appear bigger or smaller, but they will maintain their alignment with each other.
Similarly, each object has its own matrix. We call it a Local Matrix, which is associated with the actual object.
When the World Matrix and the Local Matrix are not aligned, then the object will deform when it is moved. Let me explain how it works.
Changing the location of an object and inducing deformation of an object
We can illustrate this by first rotating the object, and then moving it by using the fixed positions of the Gizmo.
Once the object is rotated, its Local Matrix won't be aligned with the Global Matrix. As explained above, the move function operates about the Global Matrix. When we move the whole object, all the vertices are moved through the same distance and direction. In this case, the whole object will still move without any deformation.
If we select a specific region, like a face, the first thing that you will notice is that the position of the Gizmo is not aligned perpendicular to its surface. It can be used to explain what happens now when we move an object on an axis.
When we move the object now, it deforms the object because its axis is not perpendicular to the face.
SelfCAD has some interesting features which can be found in the advanced settings of the Move tool. One of those settings is called the Local Transformation. A similar option can be found in other 3D modeling software as well.
The Local Transformation will align the Gizmo perpendicularly to the face. It will allow us to scale the object by increasing or decreasing the distance between the vertices of the two opposite edges.
Interesting facts about matrices
A simple way of looking at the matrix is to visualize it as an Excel spreadsheet with an arrangement of numbers and functions. As these functions are applied, the results of the formulas update immediately in the background. The same may be said about image manipulations that are done on an object.
When an object is moved or deformed, for example, the changes are seen on the computer screen. The reason for this is that all of these operations take place in computer memory or RAM. Sometimes the calculations even take place in the GPU of the computer. This way, the software can display changes to large objects fairly quickly on-screen. However, there is a major drawback.
The changes you visualize are not stored on the actual object on the hard drive or a server. It's the case with most of the image deformation and manipulation functions. The danger is that once that computer is powered down, all of the changes you see will not be stored in the actual geometry of the object.
The only way to store the actual changes to the object geometry is to use a function called Apply to Matrices. It has to be done manually in many 3D imaging programs. Fortunately, SelfCAD will do this for you automatically.
Some more facts about the Move tool
The general idea of the position of the object on the plane is that it is recorded relative to the center where the X, Y, and Z axes meet. As explained before, this position is given by X=0, Y = 0 and Z = 0. If you want to know the exact position of the object on the plane, it will always be given in reference to the central point on the grid.
The Move tool has a mode called Move By. It allows you to move the object by a prescribed number of units, in whatever direction you choose. In this mode, the number of units you enter will always move the object relevant to its current position, and not the Centre of the grid.
It is important to know that the position of the object is given based on the position of the Gizmo, and not on the position of the actual object.
Some useful Utility functions for moving objects
- The Align Tool
Allows you to align objects with each other. In the tools settings, we can specify exactly how the objects need to be aligned. Next to each, on top of each other, one inside the other, etc.
- The Snap Tool
It is even possible to snap edges of objects to each other to form a new object. When you do this, do not forget to remove any duplicate edges with the Remove Duplicate tool in Utilities. If you fail to do this, the object will not be manifold.
Scaling is also a Linear Transformation. The way scaling works is that it takes the vertices of one face and either increases or decreases the distance between the corresponding vertices of the opposite face. In this way, the object is stretched, but it is not deformed. The only thing that changes is the distance between the vertices on the opposite sides.
Scaling and rotating
We can again use rotation to change the orientation of the local matrix of the object so that it is not aligned with the global matrix of the scene. If we scale on one axis at a time, then the object will be deformed. The only way to avoid the deformation of the rotated object is by scaling along all three axes at the same time.
Local Transformation can be found in the Advanced Settings, and it allows us to align the Gizmo perpendicularly to the face. When we Scale in this situation, we are unable to do so on the perpendicular axis. However, we will be able to apply to scale the object along the other two axes which are not perpendicular to the face.
See the video to learn more about local transformation.
The main difference between Rotate and the other transformation tools, Move and Scale, is that it occurs around the axis, whereas the other two rely on the position of the Gizmo.
When we are looking at the Rotate, we can think of the hinge of a door. When you activate the Rotate tool, the object displays three Gizmos that correspond with the three axes. Even though all three of them are visible, it is only possible to rotate the object in 2D along with the horizontal and vertical planes.
The axis around which you rotate the object can be moved by changing the position of the Gizmo. The further away you move the Gizmo from the object, the larger you make the axis around which the object will be rotated.
In the Advanced Settings, we can find an option called Minimum Step Size. The smaller the step size is, the smoother your rotation will be.
Selection and the way you select objects and their parts are extremely important when doing 3D modeling. It is important to know that the Scene in the Viewport, irrespective of the number of objects in it, renders a single canvas.
In this method of selection, we use the mouse to select a point on the screen, which sends a ray to intercept it. It is quite a complex task, and the algorithm will not be sure if we wanted to select the whole object or its parts, like an edge, vertex, or face.
Other selection tools
For this reason, there are other methods of selection that are much more precise. For example, we can set the selection tool to select only vertices, edges, or faces/polygons. We can choose the kind of region or element we want to select by using the Interactive Rectangle on the right of the screen.
Vertices, Edges, and Faces
If we choose Vertices, then only vertices will be available for selection. The same goes if we select Edges, Faces, and Polygons.
Technically we know that a face is a phase four primitive. In other words, it means that it is a triangle. From a geometric point of view, we know that any rectangle consists of two triangles, making up a face on 3D objects.
It's important to know about this selection method. As we already know, we can perform various deformations and transformations on selected parts of 3D models. Knowing this allows us to modify the basic parts that make 3D models, which are Faces, Edges, and Vertices.
Sometimes, the side of the object may consist of more than one Face. We call this a Polygon, which is a flat surface (side) of the 3D model. Choosing this option on the Interactive Rectangle allows us to select the entire Polygon of the object with all its Faces. The software considers the Polygon as a complete object, so we don't have to worry that Faces within it will deform separately.
If we work with a slightly bent surface, it is possible to set up some Tolerance levels in the Advanced Settings, which allow the software to consider this surface as a polygon, even though it might have a slight bend or curve.
Under the Advanced Settings available for Face selection, there is an option called the Loop Selection. A loop, as the name suggests, is a section that goes right around the object and connects at the starting point.
It is also possible to add loops to the object or remove them from it. We can add details such as lines or drawings. It increases the number of deformations that we can perform.
We can even remove parts of objects. The software is quite useful here, as it will indicate if it is possible to remove a line from the object or not. If it cannot be removed, it will appear red when the user attempts to remove it.
Scaling and Loops
When we use the Scaling tool on Loops in an object, it will only scale the actual Loop, and the dimensions of the object will not be altered. In other words, no deformation of the original object will take place. We can move the Loop to a different position or change its width without touching the dimensions of the object we started with, as well as perform deformations such as extrusion.
The advanced settings allow us to perform custom patterns on the Loops. But this will be discussed in another blog.
Marque Selection allows us to select multiple elements by dragging the mouse from left to right, or from right to left. When enabled, it makes it possible to select Faces, Edges, or Vertices. Let's consider working on a polygon that has several Faces.
Depending on the selection criteria, it is possible to select a group of Faces, Edges, or Vertices at the same time. When we drag from left to right, we will select only those elements that are completely covered by the area.
When we Marque Select from right to left, we will select all the elements, no matter if they are covered entirely or just partially.
The difference in Marquee Selection can be seen in the video down below.
Marquee Selection of Multiple Objects
Marquee Selection is a useful tool when we work with multiple objects. Even here, left to right and right to left, the Marquee Selections principles will apply without issues.
Advanced Settings has a useful feature called Part Selection. It allows us to move and work on individual objects, even when they are grouped.
Loops are reserved for working with Edges and Faces, however, there is an option to select a complete ring of Vertices, as we do in a Loop when we choose Wireframe mode. When we enter this mode, we will see a wireframe of the object, and all its Vertices will appear as black dots.
We can choose a full ring of dots (like in a loop) by aligning the shape directly with the camera. When this alignment is in place, we can choose a full ring of vertices using Marquee Selection.
If we have a very dense mesh that makes it difficult to select individual features, the Marquee Selection can be of great help as well. The same principles from before still apply when you drag from the left to right and right to left.
Cube Selection is a very powerful tool that is unique to SelfCAD.
The difference between Marquee Selection and Cube Selection is that whereas Marquee Selection works in 2D, the Cube Selection works in 3D.
When we choose Cube Selection, it is possible to cut the selected object in all three dimensions. Each plane is color-coded, so if we want to cut the cube on the X-axis, we will use the red markers, blue markers to cut on the Y-axis, and green markers to cut on the Z-axis.
Depending on the cut settings, it is possible to create Faces with different dimensions.
And that is all we had for you - at least when it comes to the Introduction to 3D Modeling.
We have covered a lot in this article. Starting with an exploration of the similarities between the world of 3D modeling and the real world, we have touched upon every basic operation that you can perform in any 3D software, which we can consider to be their foundations. Those are the Transformations, Deformations, and Modifications.
Here are some key differences between those operations that you should know about:
Deformations alter the profiles of an object, but they do not change the number of its Faces.
In the same way, Transformations change the object without influencing its number of Faces.
Modifications differ from them both, as they always change the level of the detail of the object. There are several Modification tools, and using any of them will change the object by adding faces to it, or in some cases, removing them.
Join SelfCAD University, and stay tuned for more educational articles dedicated to expanding your knowledge of 3D modeling and that of graphic design.
Enjoy powerful modeling, rendering, and 3D printing tools without the steep learning curve.
Need to learn 3D Modeling? Get started with interactive tutorials.