assignment in 3d

3D Modeling Basics

license

Introduction: 3D Modeling Basics

3D Modeling Basics

3D Modeling is used in a variety of applications to make representations of physical objects on the computer. 3D modeling is a subset of Computer Aided Design (CAD), in which you use a computer to assist in the design process for any type of design work. It is used in a variety of applications, mostly when it comes to designing parts on the computer to assist in the making or visualization of those parts. The computer model is used to communicate dimensions, material types, etc. to anyone viewing the design, and can be used to make control paths for Computer Numerical Controlled (CNC) machines.

3D Modeling in general makes the product design process more efficient. Modeling programs allow you to create and visualize final products, modify and optimize the designs, and document designs, measurements, and materials easily. If you've heard of 3D printing , 3D modeling is what is used to design objects before they are 3D printed. In this Instructable you'll learn some of the basics of 3D modeling and why it is important.

Step 1: 3D Modeling in Engineering

3D Modeling in Engineering

From movies to manufacturing, 3D modeling is incredibly useful. There are hundreds of different 3D design programs out there, each for a specific application. 3D modeling allows engineers to flush out their ideas before they become reality, so most objects that you see around you were first designed in 3D design software by engineers before they were made. 3D design is extremely important for this reason: engineers, architects, and the like use 3D CAD programs to design things before building them all the time. For example, each component of your computer was modeled in 3D modeling software, each part's shape and cost was optimized for its use, and all of the models were put together in an assembly in the software to ensure that they all fit together properly. The files were then all sent to a manufacturer, where computer controlled machines were able to make all of the parts, and workers used the files to follow the assembly steps to physically build the computer that you have sitting in front of you.

Step 2: 3D Modeling in Movies

3D Modeling in Movies

While 3D CAD programs are traditionally used in the fields of engineering, architecture, and making things in general, 3D modeling can also be applied to the field of cinematography. Artists and designers design 3D objects, creatures, and worlds in programs like Autodesk Maya or 3DS Max for animations and product visualizations. All animated movies require some sort of 3D design to create the creatures and worlds in the films, and some live action movies incorporate CGI (Computer-generated imagery) to add special effects, details, and backdrops to create the scene and incorporate elements of the film that wouldn't have been possible otherwise.

Step 3: Beginning Steps

Beginning Steps

All 3D modeling programs start out with the basics of working in 3D dimensions: simple shapes and geometries. Most CAD programs start with basic shapes, either sketches of 2D shapes that can be "extruded" into three dimensions, or simple 3D shapes like blocks, cylinders, or spheres whose dimensions can be adjusted. Above is a simple box made in two different programs, Tinkercad , a simple, introductory 3D modeling program, and Autodesk Inventor , a professional 3D CAD program used for product design and simulation. You can CAD programs to modify, edit, and manipulate simple shapes to create more complicated ones, as I'll show in the coming steps.

From basic shapes and sketches, almost anything can be created using a variety of tools and templates that every CAD program provides. If you're new to a 3D modeling program, most will have introductory tutorials so that you can get familiar with the software. I'll primarily be using Autodesk Fusion 360 to show some CAD functionality, but nearly all of the procedures I'll be showing you can be found in many CAD programs. This isn't a Fusion 360 tutorial, I'm just going to show the basic functionality of 3D CAD software so that you can get started in any program you want. Some programs are a bit different than the one I'll be using, because they are set up differently, but don't be alarmed! Hopefully you'll still be able to figure them out. Your first step should be to find a 3D modeling program that suits your needs. There are a few below that I've listed. Try them out and lets start designing!

Free 3D Design Programs

  • Autodesk 123D : A group of free apps and programs designed to make 3D design easy
  • Tinkercad : A very simple, free online CAD program designed to create and print 3D content
  • SketchUp : Another simple, easy to learn CAD program
  • OpenSCAD : A 3D design tool for programmers used to make easily modifiable designs
  • Blender : A 3D design tool used for more natural objects, with sculpting, rendering, and animation capabilities, used by many independent studios

Free For Students

  • Autodesk Inventor : Professional mechanical design software used to create and optimize designed systems
  • Autodesk Fusion 360 : Cloud-based CAD platform used to help designers through the entire designing, engineering and manufacturing processes
  • Autodesk Maya : extensive 3D modeling and animation software used in many games and movies
  • 3DS Max : 3D modeling and animation software used for presentations, animations, and design visualizations

Other 3D Design Software

  • Solidworks : Engineering 3D design software with multiple packages for aiding in design for specific applications
  • Rhino : very versatile 3D modeling software used to model everything from animals to buildings
  • TurboCAD : Professional all around 3D modeling software for architecture and mechanical design

Step 4: File Types

File Types

Most 3D design software allows you to create a couple different file types. Nearly all of them allow you to create part files and assembly files, because every product is either a single element or a combination of different pieces. Parts represent single components, and assemblies represent combinations of parts or other assemblies. Drawings, a less used file type, are 2D visualizations of 3D designs that help designers convey information about their part or assembly to others on a single sheet of paper. Design programs can also contain other file types that can help designers and engineers present, simulate, animate, or manufacture their designs.

Step 5: Design Environment

Design Environment

All CAD programs have a similar design environment that allows you to view, edit, and document your CAD files. The file itself sits in the center of the environment, and the tools to manipulate the file are located around the edges. Again, if you are using a different program, these tools may be in different places, but I will go through the most common tools and things that you'll see in your window when you open up a file.

Step 6: Viewing Tools

Viewing Tools

These tools (located in the bottom center of the window) are used to view your model in different orientations. With these tools, you can rotate, pan, or zoom in on your file, and even set the viewing angle normal to a specific face or plane. With these tools, you can focus your window on certain aspects of the design if you are working on them. These tools will also allow you to change the background, perspective, and lighting on your part.

Step 7: Design History

Design History

The design history bar displays all of the actions you have taken to edit your design. This tool is fairly common in design software, and incredibly useful as it allows you to go back and edit past actions you have taken in your design, including alter dimensions, remove or change features, or just scroll back and restart from a certain point. This tool is also handy in that it allows you and others to see how you created the part.

Step 8: Feature Tree

Feature Tree

The Feature Tree, like the Design History, keeps track of your work. However, instead of displaying your work chronologically, it displays it by type of operation. In a part document, you could use the Feature Tree to see all of the sketches you have added to the part, and you can choose to view or hide operations, bodies, and features. In an assembly, you could use the Feature Tree to see what parts you have and how they are connected to each other.

Step 9: The Toolbar

The Toolbar

The Toolbar is a very important component of CAD software, it is what allows you to actually create 3D shapes. Each section of the toolbar contains features or actions that allow you to form and edit your model. While the organization of the tools in each CAD program will be different, most of the features you will almost always be able to find somewhere along the many tabs of your CAD program's toolbar. If you can't find a specific tool, don't worry! It may go by a different name, so you could try searching for a term within your program or looking online.

Step 10: Planes, Axes, and Points

Planes, Axes, and Points

Before we start actually building things, I'd like to bring up some important pieces of 3D design software: reference geometries. These are planes, axes, and points that you can use to locate your part and its features in 3D space. All files will start out with the base reference geometries, centered around the origin, or the "zero-point", which the CAD software defines as the point (0,0,0) in 3D space. CAD programs function in a Cartesian coordinate system, so all points are defined by x,y, and z distances from the origin. The X,Y, and Z axes extend from the origin, and form the XY, YZ, and XZ planes. All of these reference geometries can be referenced in sketches and features when designing the part. Sketches, which I'll talk about soon, are defined by the plane that they lie on, and within sketches and other features, the axes and the origin can be referenced to create dimensions. You can also create new planes, axes, and points elsewhere in your 3D model, which I'll go into a bit more later.

Step 11: Parts

Parts

Part files are the basic components of 3D design software. Part files represent single components or pieces that can either be their own entity or part of a larger assembly, which I'll cover later. When designing a part, you can use a wide range of 2D sketching utilities and 3D forming tools in the modeling software to create the specific 3D shape that you want. For example, the computer front panel in the image above was created using a variety of extrusions, sculpting, and cutting features, and the car wheel rim was made with revolve, hole, and chamfer features, among other things. Both started as simple shapes and step by step the designer created the finished, detailed model. A manufacturer can use the file to obtain information about how to make the part, including the dimensions and tolerances, the material, and even the final paint coating the part should get.

Step 12: Sketches

Sketches

Alright, lets start simple, in two dimensions. Within a part file, the sketch toolbar allows you to create 2D drawings that you can then use to generate 3D shapes, or just use for reference when designing a part. By clicking "Create Sketch", you can select a plane or face on which to start your sketch. A toolbar will open up with various sketch actions you can take; these include drawing tools, constraints, and dimension tools. The basic drawing tools will allow you to create some basic shapes, like rectangles, circles, arcs, polygons, and even text. Note that in Fusion 360, closed shapes get filled in, while open shapes do not.

Step 13: Dimensions and Constraints

Dimensions and Constraints

When sketches are initially drawn, they are unconstrained. There are no dimensions or constraints associated with a line when it is first created, so you are free to move it around on the sketch plane. It is good practice in CAD programs to dimension and constrain your sketches appropriately so that they don't accidentally get messed up or altered. The quadrilateral in the first image above is only constrained in that one of its vertices is at the origin. Apart from that, I can select any of the lines or points in the sketch and drag them around. To make the shape I want, I need to use the dimension tool to make it the correct size, and the constraints to create the relationships I want between the four lines.

In the third image, you'll see I've used the dimension tool to set angles and dimensions that I want. This tool fixes those components at those specific dimensions. However, the shape can still move a fair amount, because it is not fully constrained. Instead of dimensioning every aspect of the shape, I can use the constraints toolbar to set certain rules for the shape.

In the fourth image, you can see that I have used some constraints to set some rules for my shape. I made the bottom line horizontal, I made the top line parallel to the bottom one, and I set the left and right lines equal to one another. I have now fully defined the parallelogram.

In some programs, if a sketch feature is fully defined and can no longer move, it will turn a different color to let you know that it no longer able to move. While it is important to fully define your sketches when finalizing your model both to convey to others the dimensions, and to ensure you wont accidentally change something about your part, you may want to leave a sketch unconstrained so that you can play around with its size and shape and see how it affects your 3D model.

Step 14: Other Sketch Tools

Other Sketch Tools

I'm not going to cover every single tool there is, but I will cover some of the most common sketch tools available so that you know what kinds of functions you can perform within a sketch.

Spline: A smooth line that will curve and adapt to intercept multiple defined points in the sketch and maintain its continuity.

Offset: Creates a similar feature to the selected entity that is offset by a given distance from the selection (if the selection is a closed loop, it will offset the entire loop outside or inside the selection)

Fillet: Rounds selected corners with a given radius

Trim: Trims a line down to the nearest endpoint (Example: if there were two intersecting lines, and the trim tool was used on one side of one line, it would remove that side and create an endpoint to the trimmed line at the intersection)

Extend: Extends a line to the next endpoint (Example: A line is drawn within a box, when the extend tool is used, the line's endpoints will extend to the edges of the box.)

Mirror: Reflects the selected sketch entity across a given line

Rectangular Pattern: Repeats selected entities a given number of times in rows and/or columns.

Circular Pattern: Repeats selected entities radially around a center point.

Project/Convert: Projects the silhouettes or edges of selected geometries or faces outside of the sketch into lines on the sketch plane.

Construction Lines: Converts selected lines into "construction lines", meaning that they can be used for alignment or guiding sketches, but are not a part of the "real" sketch (They don't interfere with closed loops or extruded features)

Step 15: Bringing Sketches Into 3D

Bringing Sketches Into 3D

Once you have drawn a sketch, there are few things you can do with it to take it into three dimensions. In most CAD programs, all 3D features are generated from 2D sketches. The sketches themselves define the shape or path of the feature, and different features will do different things to bring the sketch into three dimensions. When I say feature, I am referring to the action that I have performed in the workspace. Features can be any action that alters the model, and they will come up in the design history and feature tree. If you want to edit a feature that have created, all you have to do is go into the sketch that defines its shape and alter the desired portions of the sketch. The four most common types of actions are extrudes, revolves, sweeps, and lofts. All of these operations can either add or subtract material from a 3D body depending on what you want the operation to do to your part. With these tools most 3D shapes can be created, and then other tools are used to edit and refine the part.

Step 16: Extrudes

Extrudes

An extrude is the simplest tool needed to bring an object into 3D. What an extrude does is "pull" a 2D sketch straight up into the third dimension, as shown in the image. You can also use an extrude to cut away material from existing bodies.

To use the extrude feature, you select a closed loop in your sketch, and then set a height you want the sketch to extend to or cut to. To set the height, you can either set the height to a specified dimension or allow the shape to extrude to a selected plane, surface, or vertex in the part.

In some programs, you can extrude and add a taper at the same time, so that the feature's sides get smaller at one end. This draft or taper can assist the design process when designing for manufacturing process like injection molding, and it can also come in handy when you are creating conical or pyramid like shapes.

Step 17: Revolves

Revolves

A revolve takes a closed loop in a sketch and rotates the loop around a drawn line or axis. While extrudes create planar, prismatic geometries, revolves create spherical and torus-like features.

To use the revolve feature, you select the closed loop that you want to revolve, then select the axis you want to revolve it around. Afterward, you can either set the angle at which you want your revolve to extend to, or you can revolve the part up to a certain surface, vertex, or plane.

Step 18: Sweeps

Sweeps

The sweep function is a lot more freeform than the extrude or revolve functions, because it allows you to take a closed loop sketch and drag or "sweep" it out along a path. Sweeps require two sketches: one defining the profile to be swept, and the other defining the path to sweep the profile along. Sweeps allow more complicated shapes to be formed, because instead of just extruding or revolving a sketch, you are dragging a sketch out along what could be a very complicated spline or curve.

To use the sweep feature, select the loop that you wish to sweep (the first sketch), and then select the path you want to sweep it along (the second sketch). If the path is too complicated and the loop profile is too large, the sweep may fail.

Step 19: Lofts

Lofts

Lofts are another more complicated 3D feature. Similarly to how ships are drafted and built slice by slice, lofts allow you to select different sketches on multiple planes to create streamlined, curving geometries with non-uniform cross sections.

To use the loft tool, select (in order) the sketches that you wish to be a part of the loft. An optional step to creating a loft entails creating sketches with "guide curves", which act like sweeps in that they direct where certain points on the loft should go as the cross sections move from one shape to the next.

Step 20: Modification and Refinement Tools

Modification and Refinement Tools

After you have used some of the extrude, revolve, sweep, or loft features, you can do a couple more things to touch up your model and manipulate it to produce the desired result. Here are a few more actions you can take. Notice they are pretty similar to some of the sketch actions.

Fillet: Rounds edges and corners to a given radius. Once the part is actually manufactured, fillets prevent sharp corners. Filleting inside corners is always a good idea because rounded internal edges relieve stresses on the part and prevent shearing.

Chamfer: Chamfers create an angled face on selected edges or corners. While they are mostly added for aesthetic appeal, they can be used on parts that slide into one another to make the insertion process smoother.

Shell: Hollows out the interior of a selected body to a given wall thickness. Specified faces can be removed from the body.

Draft: Angles selected faces to a specified degree. Draft angles are useful when designing parts for molding procedures.

Holes: Allows you to place any type of hole at specified points. These include holes based on drill bit size, clearance holes, threaded holes specified by screw type, countersinks, counterbores, etc.

Mirror: reflects a selected feature or body about a selected plane.

Rectangular Pattern: Repeats selected features or bodies a given number of times in rows and/or columns.

Circular Pattern: Repeats selected features radially around an axis.

Step 21: Bodies

Bodies

So what happens if you do an extrude cut or some similar operation and end up with multiple pieces in your part? While the entire thing is technically still one "part", it is split up into multiple fixed bodies. Multiple bodies can intersect yet still be of the same part, and operations can be performed on bodies to manipulate the part that you are making. For example, if you have explored some of the options within extrudes, revolves, sweeps, and lofts, you may have noticed a "new body" or "merge body" option. These selections allow you to create a new body with your feature (yet still have it possibly intersect the old one), or include the new feature as part of the original body. If you already have multiple bodies in your part, you can add, subtract, or intersect them to achieve different types of new bodies with the old ones. The four images above show the two separate bodies, and the two bodies joined, cut, and intersected in that order.

Join/Add: Adds two intersecting bodies together to form one.

Cut/Subtract: Subtracts one body from another to form one body with the negative of the other cut out of it.

Intersect: Creates one body comprising of the intersection between the original bodies.

Step 22: Reference Geometries

Reference Geometries

While sketches can be made on any flat face, sometimes you'll need to sketch on more than just the three origin planes and any faces you may have made from other features. Reference geometries allow you to create new planes, axes, and vertices other than the default reference geometries that appear when you start a new part. To fully define reference geometries, you'll need to select multiple details from your design that will "fix" the geometry in place. For example, in order to fully define a plane, you would need 3 points. To fully define a line, you need 2 points. Here are some other options when it comes to defining reference geometry:

  • Offset from another plane or face
  • At an angle rotated around a selected line or edge
  • Tangent to a curved surface and coincident with another feature
  • Between 2 selected faces or planes
  • Through 2 non-conlinear lines or edges
  • Tangent to a curved surface and intersecting a point
  • Along a drawn path
  • Through a cylindrical object
  • Normal to a face in a selected area
  • Through the intersection of two planes
  • Through 2 points
  • On a selected edge
  • Perpendicular to a face and passing through a selected point
  • An already existing sketch point or corner
  • At the intersection of 2 edges
  • At the intersection of 3 planes
  • At the center of a spherical or circular feature
  • At the intersection of a line and a plane

Step 23: Forming Tools

Forming Tools

Some 3D CAD software will allow you to naturally form and sculpt your models in a much more natural way than the loft tools can. With forming features you can take a basic 3D object, like a sphere, cube, or prism, and shape it by dragging and sculpting the shapes faces, edges and vertices instead of editing and manipulating precise dimensions for shapes drawn in a sketch. This allows for the creation of much more natural objects; using forming tools making realistic looking faces, animals, and smooth, curved surfaces.

Step 24: Assemblies

Assemblies

Assemblies are 3D files that contain multiple parts or other assemblies. In assemblies, you can connect parts together with mates or constraints to build up a 3D model of an entire system. The assembly of the computer above is a combination of many parts and sub-assemblies needed to build the computer. Assemblies allow designers to visualize how their entire product will fit together once it is fully assembled. Within the 3D modeling program, an assembly will automatically document its bill of materials, a list of all of the components and their quantities required to build the project. If the cost of each part is known, then designers and engineers can adjust and redesign the assembly to reduce the manufacturing and assembly cost of the entire product. Engineers can use their assemblies to document the steps required to build the final product once its components have been manufactured. Working with an assembly is a little bit different than working with a part, because different tools are available to help you through the design process.

Step 25: Placing Part Files

Placing Part Files

When you open up a blank assembly document, the first thing you'll need to do is place the parts that you want into that assembly. Assemblies, like sketches, also need to be constrained, unless you want parts of your assembly to move. To add a part, you can use the "Add Part" or "Insert Component" tools to select and place your part. The first component that you place will usually be "fixed" immediately, meaning that if you tried to select it and drag it around you wouldn't be able to. The origin of the assembly will initiate at the origin of that part. The above assembly was created in Fusion 360, and the part file for the blade holder was added in.

Note: The assembly process in Fusion 360 is a bit different than in other programs. Instead of opening a new assembly file, Fusion 360 has "top-down" design methodology where you can design your entire system in one file, along with your parts. If you want to make a new part, select "New Component" when you are using a feature (like extrude, revolve, etc) to create and work on a new part. If you want to add a part you've designed in a separate design file, select "Create Base Feature".

Step 26: Joints

Joints

When you have multiple parts in your assembly, the parts will be placed, but not fixed down. The joint tool will allow you to constrain your parts in the way that you want them to be constrained in real life. By selecting multiple faces, edges, or vertices on different components, you will be able to "connect" them using mates. To create a mate, you just select the parts of each component that you want to connect, and then select what "Mate Type" you want. Here are a couple different common mating options:

Rigid/Fix Mate: This mate type will completely fix the selected components exactly where they are.

Planar/Coincident Mate: Makes two planes or faces flush with one another.

Concentric/Cylindrical Mate: Allows the two selections (usually edges, holes, or cylinders) to rotate around a common axis.

Tangent/Pin-Slot Mate: Makes two surfaces (with at least one curved one) tangent and able to slide along one another.

Ball Joint: Fixes two points together, but allows the rest of the parts to rotate freely.

Slider: The selected component will be allowed to translate along a given axis

Offset: For any mate type, you can select an offset for the mate, which will offset the two linked features by a given distance.

In order to fully define a part in the position you want it in, you may need to apply multiple mates to it. Some mates will allow you to set limits to restrict the motion of the part. For example, if you were designing a light switch, you may want to set limits to the sliding motion of the light switch so that it can only move so far.

Step 27: Movement

Movement

You may not want to fully constrain every single part in your assembly, in fact, you may have built your assembly specifically to visualize the motion of your design. There are some mates that can help you create the motion you want; for example, most mate types allow you to put limits on the mate so that you can restrict the motion of the part to a certain area. For example, the box cutter above uses a slider joint with limits to allow the blade holder piece to slide along the slot in the handle. Some software can also analyze where there are contact points between bodies, so that parts can only move until they contact other parts. Some programs will incorporate

Step 28: Animations

Animations

Some design software will allow you to actually animate moving components of your design. This can be useful because it allows you to record video footage of your design. Animations can be used to easily show others how a mechanism you have design works. While programs like Fusion 360 allow you to make simple animations to show the motion of a mechanism, more animation focused programs like Autodesk Maya allows designers to bring their designs to life with entire scenes and worlds in which they can "film" animated movies.

Step 29: Appearance and Rendering

Appearance and Rendering

If you're showing off your 3D model to someone in a presentation or paper, or you just want to get a really nice snapshot of your model, you may want to render it. Within your file you can opt to change the appearance and material properties of your model to simulate a specific material. This can be done under the "Appearance" and "Material" menus in most programs. The render itself will generate a high quality, good looking image of your model, complete with adjustable lighting, backdrops, and views.

Step 30: Drawings

Drawings

Some CAD programs will allow you to create 2D drawings of your parts on the computer. Part and assembly drawings are used by engineers to communicate information about a part to the manufacturer. Drawings contain the important dimensions, tolerances, and specific instructions required to physically make a part. They present the important information about the part on one sheet of paper, so that the manufacturer can reference it when actually machining the part. Drawings of assemblies or larger mechanisms often provide information about how to assemble the product and what motion it exhibits. In general, drawings are 2D visualizations of 3D designs that help convey information to others.

Step 31: Computer Aided Manufacturing

Computer Aided Manufacturing

After a component is designed, it needs to be manufactured and made physical. Some CAD programs will assist in the manufacturing process with what is called Computer Aided Manufacturing, or CAM. CAM software helps engineers optimizing their parts for certain types of manufacturing, and is used to program Computer Numerical Controlled (CNC) machines so that they know how to machine the part. The image above shows the tool path that a CNC milling machine would take to mill out the two pockets on the face of the part. CAM software packages will sometimes be separate programs associated with specific machines, but some 3D modeling programs, Fusion 360 included, come equipped with CAM capabilities, including design guides for 3D printing, milling, or CNC routing.

Step 32: Simulations

3D design software can be used to simulate real world circumstances in order to analyze the part for its strength, behavior, and failure modes. The above animation was used to find the fundamental frequency of vibration for a designed marimba bar. 3D CAD software can be used to analyze architectural structures for their strength, determine how aerodynamic the wing of a plane is, or the dampening of the suspension of a car. Software like Solidworks and Autodesk Inventor can run extensive simulations on large assemblies in order to help designers optimize and polish their product to make it stronger, lighter and cheaper, among other things.

Step 33: Start a Project!

Start a Project!

Now that you understand the basic concepts in 3D modeling, its time for you to try it out for yourself! If you already have an idea in mind, try to model it in the program of your choice. You could try modeling real world objects by measuring them and then making computer models of them based on those measurements, or you could try designing something you've always wanted to 3D print, like a nametag or a keychain. Tinkercad , for example, has a lot of introductory tutorials that you can 3D print once you've finished them. If not, I've made a simple 3D design starter project that you may want to get started on! It's a shadow cube, a cube-like object with the profile of a letter on each face, inspired by the cover of the book Gödel, Escher, Bach , by Douglas Hofstadter. Here's the link if you'd like to try it out!

Step 34: Resources

There's a lot more material to learn if you're interested in learning more! I didn't cover everything, but hopefully I've given you a good head start into how 3D modeling works, so that you can get going in a program yourself. There are lots more things you can do once you've learned the basics; 3D sketches, equation driven commands, parametrization, and lots more! Remember, there are always program specific tutorials and instructions if you get stuck. If you have any additional 3D modeling intro advice, comments, or questions, please comment below.

3D Model Websites

  • GrabCAD : Collaborative CAD model site where users can share models they've designed and collaborate on projects
  • 3Dcontentcentral : CAD sharing site with an extensive collection of 3D files supplied by companies and other users
  • Thingiverse : A great site to share and find 3D printable designs

assignment in 3d

Recommendations

Tim's Mechanical Spider Leg [LU9685-20CU]

Big and Small Contest

Big and Small Contest

Green Future Student Design Challenge

Green Future Student Design Challenge

Engineering in the Kitchen - Autodesk Design & Make - Student Contest

Engineering in the Kitchen - Autodesk Design & Make - Student Contest

Logo for Open Textbooks @ UQ

7. 3D models

When you start creating 3D Models, you should be familiar with these terms:

  • Part  – a single component or body that you are designing
  • Dimension  – a constraint applied to edge length or surface size
  • Assembly  – an arrangement of parts to form a construction
  • CAD  – Computer Aided Design

Types of 3D models

There are two types of 3D models that you might like to design:

  • Geometric models   — components made entirely from lines, shapes and extrusions
  • Organic models  — involve using curves to sculpt a mesh to a desired form.

Geometric models are typically used for engineering and construction applications, while organic models are used in 3D animations and industrial design. A combination of both types is also possible.

Geometric model

Designing a 3D model for your assignment

Use this strategy to approach the design of a 3D model:

  • Draw  a rough sketch of the part with pencil and paper
  • Annotate  your sketch with dimensions, constraints or other key features
  • Plan  steps to convert your drawing to a digital model (e.g. sketch, extrude, fillet, etc…)
  • Apply  these steps in your 3D modelling software
  • Refine  your model according to other details from your sketch
  • Verify  that all dimensions and constraints were correctly applied.

Prepare your model for 3D printing

3D modelling software can export your model in a variety of formats. Depending on how or where you 3D print your model, these formats are typically used:

  • A stereolithography file (.STL)
  • A Wavefront 3D model file (.OBJ)

Steps for exporting your model in these formats are generally found in the help pages of the software you are using.

3D modelling software

Use of 3D modelling software largely depends on the model you are trying to create. If you are creating:

  • a geometric engineering component, CAD software is usually the best option
  • an organic model for 3D animation, then 3D modelling software is best.

Get more  information on 3D modelling tools .

3D Photogrammetry software

Photogrammetry software is a very useful tool for constructing 3D Models from photographs. This can be done with photos from a phone or digital camera, and then the software’s algorithms do all the work.  Visit 3D Photogrammetry tools for more information.

Ways to get 3D models

3D modelling can be used in a variety of ways. You can upload a 3D model for online interaction, 3D printing, animation or for use within VR/AR applications.

You can get a 3D model via:

  • CAD or 3D Modelling software — 3D Models can be created from scratch using this software
  • Photogrammetry — construct 3D models from photographs at the click of a button using specialised software
  • MRI/CT Scan Conversion — extract a 3D model from any CT Scan or MRI data
  • 3D Scanning — scanning an object with a 3D scanner
  • Online Collections — download an online 3D model

Examples of 3D models you can create using photogrammetry. Press the play buttons to interact with each model:

Trilobite 3D model

Trilobite by Nick Wiggins on Sketchfab

Kangaroo Cranium 3D Model

Kangaroo Cranium by Nick Wiggins on Sketchfab

Model of sculpture ‘A student’s head’ 3D Model

Model of sculpture ‘A student’s head’ by The University of Queensland Library on Sketchfab

 Find existing 3D models

Find designs to download and use under a Creative Commons Licence from:

  • Thingiverse  — a MakerBot website for sharing 3D models
  • Yeggi  — 3D model search engine
  • NIH 3D Print Exchange  — a collection biomedical 3D models that include, anatomy objects, proteins, cells and tissues

Museum collections

Some museums are now making parts of their collections available as scans for home 3D printing:

  • British Museum Exhibits  on Sketchfab
  • The New York Metropolitan Museum of Art  on Thingiverse
  • Smithsonian

Types of Assignments Copyright © 2023 by The University of Queensland is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License , except where otherwise noted.

Share This Book

Library homepage

  • school Campus Bookshelves
  • menu_book Bookshelves
  • perm_media Learning Objects
  • login Login
  • how_to_reg Request Instructor Account
  • hub Instructor Commons

Margin Size

  • Download Page (PDF)
  • Download Full Book (PDF)
  • Periodic Table
  • Physics Constants
  • Scientific Calculator
  • Reference & Cite
  • Tools expand_more
  • Readability

selected template will load here

This action is not available.

Chemistry LibreTexts

6.2: Heteronuclear 3D NMR- Resonance Assignment in Proteins

  • Last updated
  • Save as PDF
  • Page ID 398288

  • Serge L. Smirnov and James McCarty
  • Western Washington University

\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

\( \newcommand{\Span}{\mathrm{span}}\)

\( \newcommand{\id}{\mathrm{id}}\)

\( \newcommand{\kernel}{\mathrm{null}\,}\)

\( \newcommand{\range}{\mathrm{range}\,}\)

\( \newcommand{\RealPart}{\mathrm{Re}}\)

\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

\( \newcommand{\Argument}{\mathrm{Arg}}\)

\( \newcommand{\norm}[1]{\| #1 \|}\)

\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

\( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vectorC}[1]{\textbf{#1}} \)

\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

In the previous Chapter we described 2D NMR spectroscopy, which offers significantly greater spectral resolution than basic 1D spectra. In this Chapter we will show how the well-resolved 2D 15 N-HSQC resonances can be assigned to specific residues and chemical groups within protein samples. As an example, we will consider a couple of complementary types of 3D NMR data: HNCACB and CBCA(CO)NH and their joint application for making heteronuclear NMR resonance assignment in proteins. Such an assignment opens a number of ways to probe structure and function (e.g. ligand binding) for the target protein samples.

Learning Objectives

  • Grasp why the resonance assignment of 2D 15 N-HSQC can be beneficial : the case of ligand (drug) binding by a protein (therapeutic target)
  • Familiarize with 3D heteronuclear through-bond (J-coupling) NMR : introduction and case of HNCACB and CBCA(CO)NH pair of 3D experiments
  • Follow an example of assignment of heteronuclear NMR resonances ( 1 H N , 15 N H , 13 Cα, 13 Cβ) from a combination of 2D 15 N-HSQC and 3D HNCACB/CBCA(CO)NH

15 N-HSQC as an assay for probing protein – ligand interactions: the need for the NMR resonance assignment

During the process of rational drug design, it is often necessary to characterize the interactions between the therapeutic target (protein) and candidate drug (ligand) beyond determination of the binding affinity ( K d ). Heteronuclear solution NMR experiments 15 N-HSQC can provide significant insight for such interactions. Let’s recall that most of the signals in this 2D NMR spectra originate from backbone H-N amide groups and some (minority) from the side chain NH and NH 2 groups. The position of 15 N-HSQC resonances are defined by the 1 H N and 15 N H chemical shift values, which in tern depend on the local electronic environment. Ligand binding changes such an environment for the residues forming the binding site even if the tertiary structure of the rest of the protein does not get perturbed. In such a case, the 15N-HSQC resonance pattern undergoes local changes: only the resonances representing NH groups involved in the binding site change their position significantly (>0.05 ppm in 1 H and/or >0.2 ppm in 15 N dimension) or signal intensity (including peak disappearance). Figure VI.2.A illustrates such a change.

Figure_VI.2.Ab_.png

Importantly, every 15 N-HSQC resonance in Figure VI.2.A is labeled with a single letter to help identify specific peaks which undergo spectral changes upon ligand binding. This data could have much greater impact if the peaks which underwent the most pronounced changes in position and/or intensity were assigned to specific amino acid residues within the polypeptide and chemical groups within those residues (backbone vs. side chain). The rest of this Chapter demonstrates some of the fundamentals of the heteronuclear NMR resonance assignment methodology.

Heteronuclear 3D NMR introduction: CBCA(CO)NH spectrum as an example

Just like every 2D 15N-HSQC resonance reports a J-coupling via a covalent bond between an 15N and 1H spin-½ nuclei, there are 3D NMR experiments which report resonances originating from J-coupling (through-bond) of three types of spin-½ nuclei ( 1 H, 13 C, 15 N). In this section we will introduce two such types of 3D NMR data: HNCAB and CBCA(CO)NH. In order to produce a protein sample with nearly complete uniform labeling with 13 C and 15 N isotopes, bacterial recombinant protein expression can be performed in a minimal media supplemented with 13 C-labeled glucose and 15 N-labeled ammonium chloride as the sole sources of carbon and nitrogen respectively. Figure VI.2.B introduces a general concept of a 3D NMR data and shows an element of 3D CBCA(CO)NH spectrum.

Figure_VI.2.Bd_.png

Each resonance (“cross-peak”) of a 3D CBCA(CO)NH spectrum indicates a through-bond (J-coupling scalar) interaction between two atoms of the backbone amide group ( 1 H N and 15 N H ) or residue j and Cα and Cβ nuclei ( 13 C) of preceding residue j -1. The name of the experiment, CBCA(CO)NH refers to the specific spin-½ nuclei involved (and not involved) in relevant J-coupling interactions: Cβ and Cα are J-coupled to NH while the connecting carbonyl carbon is not reporting any NMR signal (although its magnetization state is affected during the experiment). Two types of residues generate special CBCA(CO)NH peak pattern: prolines have no amide proton, so they do not have CBCA(CO)NH peaks linked with their amide groups. Glycine residues have no Cβ, therefore for any residue following a glycine only a single CBCA(CO)NH resonance will be observed (from glycine NH to previous Cα).

The NMR resonance assignment: combined use of two complementary datasets HNCACB and CBCA(CO)NH

By itself, CBCA(CO)NH does not convey much of sequential information. Another heteronuclear 3D NMR dataset, HNCACB, affords a powerful complement here. Just like CBCA(CO)NH, HNCACB reports resonances originating from J-coupling between backbone amide group and Cα / Cβ nuclei. The difference is that HNCACN reports two additional peaks, all intra-residual: between HN and Cα a Cβ spins ( Figure VI.2.C ).

Figure_VI.2.Clast_.png

Typically, HNCACB and CBCA(CO)NH are acquired with identical parameters including spectral width in all three dimensions and the same number of data points in the 15 N dimension (or 15 N planes as on panel B of Figure VI.2.B ) Now, let’s imagine that we go through every 15 N plane and build the pairs of “residue j / residue j -1″ HNCAB/CBCA(CO)NH peaks. This does not give us the sequence-specific NMR resonance assignments yet but already creates such pairs of 3D cross-peaks linked to di-peptides within the sequence. Now, let’s take into account that for some types of residues their 13Cα and 13Cβ chemical shift values differs remarkably from those from other residue types. For details, take a look at BMRB chemical shift statistics for amino acid residues with emphasis on Gly, Ala, Ser, Thr. Knowing where such residues are positioned within the polypeptide sequence, we can start “connecting the dots” by mapping HNCACB/CBCA(CO)NH planes and di-peptides on actual amino acid sequence.

Figure_VI.2.D.png

Figure VI.2.D provides a general idea of how the two 3D NMR experiments HNCACB and CBCA(CO)NH can be utilized together to map the signals on the amino acid sequence of a protein sample. The C of Ala residues typically has chemical shift values below 20.0 ppm, which is unique. This allows identification of Ala patterns HNCACB/CBCA(CO)NH spectral patters. Starting from this starting points (as well from other distinct values, e.g. Cα for Gly and Cβ for Ser/Thr), one can continue “connecting the dots” process outlined in Figure VI.2.D to cover the entire sequence. If these two 3D NMR datasets encounter resonance overlaps, which are impossible to resolve, more 3D NMR dataset pairs are utilized in a similar way, e.g. HNCO/HN(CA)CO and others. This process allows assignment to specific residues and chemical groups of nearly all backbone and some side-chain resonances ( 1 H N , 15 N H , 13 Cα, 13 Cβ). Methods for assigning side-chain chemical shift values are not discussed in this chapter but conceptually they are similar to the ones described here.

With the general process of the protein NMR resonance assignment described, let’s assume that this method was successfully applied to the protein target (T) sample presented in Figure VI.2.A. The resonance assignment completion allows one to replace letter labels with residue-number labels (similar to the ones used in Figure VI.2.D). This in turn allows one to determine the specific residues affected directly or allosterically by binding of the ligand (L) to the target. In many cases, such information together with other data leads to the determination of the ligand binding residues within the target. If the ligand is a candidate therapeutic agent, identification of the ligand binding residues greatly advances ensuing efforts to optimize the drug.

Example \(\PageIndex{1}\)

Analyze Figure VI.2.A and list at least two resonances which undergo major spectral changes upon binding of the unlabeled ligand (L) to the 15 N-labeled target protein (T). Major spectral changes for this model spectrum include resonances moving by >0.05 ppm in 1 H or >0.2 ppm in 15 N dimensions as well as peak disappearance (peak intensity going down to zero).

Upon ligand L binding target protein (T), resonance f disappears and resonance s moves by >0.05 ppm in 1 H dimension.

Example \(\PageIndex{2}\)

Inspect BMRB entry 50205 and list all the heteronuclear NMR datasets utilized for the NMR resonance assignment.

BMRB entry 50205 contains the chemical shift assignment data for the target sample and offers several ways to look at its underlying NMR data including the list of experiments used to perform the NMR resonance assignment and the chemical shift values. E.g., the NMR-STAR v3 text file has a section titled _Experiment_list, which sums up the heteronuclear NMR data types used for making the assignments: 2D 1 H- 15 N HSQC and 3D HNCACB, CBCA(CO)NH, HNCO and HN(CA)CO.

Example \(\PageIndex{3}\)

How many 3D HNCACB resonances would you expect to originate from a Lys residue which is preceded by a Met?

four as both Lys and Met have backbone amide (HN) groups and both have Cα and Cβ atoms.

Practice Problems

Problem 1 . Analyze Figure VI.2.A and list all the resonances which undergo major spectral changes upon binding of the unlabeled ligand (L) to the 15 N-labeled target protein (T). Example 1 above will help you start the analysis.

Problem 2 . From BMRB entry linked to PDB 5VNT, list all the heteronuclear NMR datasets utilized for the NMR resonance assignment for the target sample.

Problem 3 . Let’s consider panel B of Figure VI.2.B . Imagine that the 13 C dimension is taken out of the spectrum (all 13 C planes are collapsed together). What type of 2D spectrum will remain after such a dimension reduction?

Problem 4 . How many 3D HNCACB resonances would you expect to originate from a Gly residue which is preceded by a Pro?

Problem 5 . How many 3D HNCACB resonances would you expect to originate from a Pro residue which is preceded by a Gly?

Problem 6* . Look up the amino acid NMR chemical shift values statistics table presented with BMRB repository and list the average values for the following resonances: 15 N, 13 Cα and 13 Cβ for Gly, Ala, Tyr, Glu, Arg, Ser, Thr, Pro. From this analysis, suggest what types of residues tend to report unusually low or high chemical shift values in comparison with the rest of the amino acids?

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications

Volume Rendering, Neural Radiance Fields, Neural Surfaces

learning3d/assignment3

Folders and files, repository files navigation, assignment 3, environment setup.

You can use the python environment you've set up for past assignments, or re-install it with our environment.yml file:

If you do not have Anaconda, you can quickly download it here , or via the command line in with:

Most of the data for this assignment is provided in the github repo under data/ . One of the assets (materials scene) is large, you need to download the zip file from https://drive.google.com/file/d/1v_0w1bx6m-SMZdqu3IFO71FEsu-VJJyb/view?usp=sharing and unzip it into data/ directory.

A. Neural Volume Rendering

0. transmittance calculation (10 points).

Transmittance calculation is a core part for the implementation of volume rendering. Your first task is to compute the transmittance of a ray going through a non-homogeneous medium (shown in the image below). Please compute the transmittace in transmittance_calculation/a3_transmittance.pdf and submit the result on your assignment website. You can either hand write the result or edit the tex file and show a screenshot on your webpage, as long as it is readable by the TAs.

Transmittance computation

1. Differentiable Volume Rendering

In the emission-absorption (EA) model described in class, volumes are typically described by their appearance (e.g. emission) and geometry (absorption) at every point in 3D space. For part 1 of the assignment, you will implement a Differentiable Renderer for EA volumes, which you will use in parts 2 and 3. Differentiable renderers are extremely useful for 3D learning problems --- one reason is because they allow you to optimize scene parameters (i.e. perform inverse rendering) from image supervision only!

1.1. Familiarize yourself with the code structure

There are four major components of our differentiable volume rendering pipeline:

  • The camera : pytorch3d.CameraBase
  • The scene : SDFVolume in implicit.py
  • The sampling routine : StratifiedSampler in sampler.py
  • The renderer : VolumeRenderer in renderer.py

StratifiedSampler provides a method for sampling multiple points along a ray traveling through the scene (also known as raymarching ). Together, a sampler and a renderer describe a rendering pipeline. Like traditional graphics pipelines, this rendering procedure is independent of the scene and camera.

The scene, sampler, and renderer are all packaged together under the Model class in volume_rendering_main.py . In particular the Model 's forward method invokes a VolumeRenderer instance with a sampling strategy and volume as input.

Also, take a look at the RayBundle class in ray_utils.py , which provides a convenient wrapper around several inputs to the volume rendering procedure per ray.

1.2. Outline of tasks

In order to perform rendering, you will implement the following routines:

  • Ray sampling from cameras : you will fill out methods in ray_utils.py to generate world space rays from a particular camera.
  • Point sampling along rays : you will fill out the StratifiedSampler class to generate sample points along each world space ray
  • Rendering : you will fill out the VolumeRenderer class to evaluate a volume function at each sample point along a ray, and aggregate these evaluations to perform rendering.

1.3. Ray sampling (5 points)

Take a look at the render_images function in volume_rendering_main.py . It loops through a set of cameras, generates rays for each pixel on a camera, and renders these rays using a Model instance.

Implementation

Your first task is to implement:

  • get_pixels_from_image in ray_utils.py and
  • get_rays_from_pixels in ray_utils.py

which are used in render_images :

The get_pixels_from_image method generates pixel coordinates, ranging from [-1, 1] for each pixel in an image. The get_rays_from_pixels method generates rays for each pixel, by mapping from a camera's Normalized Device Coordinate (NDC) Space into world space.

Visualization

You can run the code for part 1 with:

Once you have implemented these methods, verify that your output matches the TA output by visualizing both xy_grid and rays with the vis_grid and vis_rays functions in the render_images function in main.py . By default, the above command will crash and return an error . However, it should reach your visualization code before it does. The outputs of grid/ray visualization should look like this:

Grid

1.4. Point sampling (5 points)

Your next task is to fill out StratifiedSampler in sampler.py . Implement the forward method, which:

  • Generates a set of distances between near and far and
  • Uses these distances to sample points offset from ray origins ( RayBundle.origins ) along ray directions ( RayBundle.directions ).
  • Stores the distances and sample points in RayBundle.sample_points and RayBundle.sample_lengths

Once you have done this, use the render_points method in render_functions.py in order to visualize the point samples from the first camera. They should look like this:

Sample points

1.5. Volume rendering (20 points)

Finally, we can implement volume rendering! With the configs/box.yaml configuration, we provide you with an SDFVolume instance describing a box. You can check out the code for this function in implicit.py , which converts a signed distance function into a volume. If you want, you can even implement your own SDFVolume classes by creating new signed distance function class, and adding it to sdf_dict in implicit.py . Take a look at this great web page for formulas for some simple/complex SDFs.

You will implement

  • VolumeRenderer._compute_weights and
  • VolumeRenderer._aggregate .
  • You will also modify the VolumeRenderer.forward method to render a depth map in addition to color from a volume

From each volume evaluation you will get both volume density, and a color:

You'll then use the following equation to render color along a ray:

Spiral Rendering of Part 1

where σ is density, Δt is the length of current ray segment, and L_e is color:

Spiral Rendering of Part 1

Compute the weights T * (1 - exp(-σ * Δt)) in VolumeRenderer._compute_weights , and perform the summation in VolumeRenderer._aggregate . Note that for the first segment T = 1 .

Use weights, and aggregation function to render color and depth (stored in RayBundle.sample_lengths ).

By default, your results will be written out to images/part_1.gif . Provide a visualization of the depth in your write-up. Note that the depth should be normalized by its maximum value.

Spiral Rendering of Part 1

2. Optimizing a basic implicit volume

2.1. random ray sampling (5 points).

Since you have now implemented a differentiable volume renderer, we can use it to optimize the parameters of a volume! We have provided a basic training loop in the train method in volume_rendering_main.py .

Depending on how many sample points we take for each ray, volume rendering can consume a lot of memory on the GPU (especially during the backward pass of gradient descent). Because of this, it usually makes sense to sample a subset of rays from a full image for each training iteration. In order to do this, implement the get_random_pixels_from_image method in ray_utils.py , invoked here:

2.2. Loss and training (5 points)

Replace the loss in train

with mean squared error between the predicted colors and ground truth colors rgb_gt .

Once you've done this, you can run train a model with

This will optimize the position and side lengths of a box, given a few ground truth images with known camera poses (in the data folder). Report the center of the box, and the side lengths of the box after training, rounded to the nearest 1/100 decimal place.

2.3. Visualization

The code renders a spiral sequence of the optimized volume in images/part_2.gif . Compare this gif to the one below, and attach it in your write-up:

3. Optimizing a Neural Radiance Field (NeRF) (20 points)

In this part, you will implement an implicit volume as a Multi-Layer Perceptron (MLP) in the NeuraRadianceField class in implicit.py . This MLP should map 3D position to volume density and color. Specifically:

  • Your MLP should take in a RayBundle object in its forward method, and produce color and density for each sample point in the RayBundle.
  • You should also fill out the loss in train_nerf in the volume_rendering_main.py file.

You will then use this implicit volume to optimize a scene from a set of RGB images. We have implemented data loading, training, checkpointing for you, but this part will still require you to do a bit more legwork than for Parts 1 and 2. You will have to write the code for the MLP yourself --- feel free to reference the NeRF paper, though you should not directly copy code from an external repository.

Here are a few things to note:

  • For now, your NeRF MLP does not need to handle view dependence , and can solely depend on 3D position.
  • You should use the ReLU activation to map the first network output to density (to ensure that density is non-negative)
  • You should use the Sigmoid activation to map the remaining raw network outputs to color
  • You can use Positional Encoding of the input to the network to achieve higher quality. We provide an implementation of positional encoding in the HarmonicEmbedding class in implicit.py .

You can train a NeRF on the lego bulldozer dataset with

This will create a NeRF with the NeuralRadianceField class in implicit.py , and use it as the implicit_fn in VolumeRenderer . It will also train a NeRF for 250 epochs on 128x128 images.

Feel free to modify the experimental settings in configs/nerf_lego.yaml --- though the current settings should allow you to train a NeRF on low-resolution inputs in a reasonable amount of time. After training, a spiral rendering will be written to images/part_3.gif . Report your results. It should look something like this:

4. NeRF Extras (CHOOSE ONE! More than one is extra credit)

4.1 view dependence (10 pts).

Add view dependence to your NeRF model! Specifically, make it so that emission can vary with viewing direction. You can read NeRF or other papers for how to do this effectively --- if you're not careful, your network may overfit to the training images. Discuss the trade-offs between increased view dependence and generalization quality.

While you may use the lego scene to test your code, please employ the materials scene to show the results of your method on your webpage (experimental settings can be found in nerf_materials.yaml and nerf_materials_highres.yaml ).

4.2 Coarse/Fine Sampling (10 pts)

NeRF employs two networks: a coarse network and a fine network. During the coarse pass, it uses the coarse network to get an estimate of geometry, and during fine pass uses these geometry estimates for better point sampling for the fine network. Implement this strategy and discuss trade-offs (speed / quality).

B. Neural Surface Rendering

5. sphere tracing (10pts).

In this part you will implement sphere tracing for rendering an SDF, and use this implementation to render a simple torus. You will need to implement the sphere_tracing function in renderer.py . This function should return two outpus: ( points, mask ), where the points Tensor indicates the intersection point for each ray with the surface, and masks is a boolean Tensor indicating which rays intersected the surface.

You can run the code for part 5 with:

This should save part_5.gif in the `images' folder. Please include this in your submission along with a short writeup describing your implementation.

6. Optimizing a Neural SDF (15pts)

In this part, you will implement an MLP architecture for a neural SDF, and train this neural SDF on point cloud data. You will do this by training the network to output a zero value at the observed points. To encourage the network to learn an SDF instead of an arbitrary function, we will use an 'eikonal' regularization which enforces the gradients of the predictions to behave in a certain way (search lecture slides for hints).

In this part you need to:

Implement a MLP to predict distance : You should populate the NeuralSurface class in implicit.py . For this part, you need to define a MLP that helps you predict a distance for any input point. More concretely, you would need to define some MLP(s) in __init__ function, and use these to implement the get_distance function for this class. Hint: you can use a similar MLP to what you used to predict density in Part A, but remember that density and distance have different possible ranges!

Implement Eikonal Constraint as a Loss : Define the eikonal_loss in losses.py .

After this, you should be able to train a NeuralSurface representation by:

This should save save part_6_input.gif and part_6.gif in the images folder. The former visualizes the input point cloud used for training, and the latter shows your prediction which you should include on the webpage alongwith brief descriptions of your MLP and eikonal loss. You might need to tune hyperparameters (e.g. number of layers, epochs, weight of regularization, etc.) for good results.

7. VolSDF (15 pts)

In this part, you will implement a function converting SDF -> volume density and extend the NeuralSurface class to predict color.

Color Prediction : Extend the the NeuralSurface class to predict per-point color. You may need to define a new MLP (a just a few new layers depending on how you implemented Q2). You should then implement the get_color and get_distance_color functions.

SDF to Density : Read section 3.1 of the VolSDF Paper and implement their formula converting signed distance to density in the sdf_to_density function in renderer.py . In your write-up, give an intuitive explanation of what the parameters alpha and beta are doing here. Also, answer the following questions:

  • How does high beta bias your learned SDF? What about low beta ?
  • Would an SDF be easier to train with volume rendering and low beta or high beta ? Why?
  • Would you be more likely to learn an accurate surface with high beta or low beta ? Why?

After implementing these, train an SDF on the lego bulldozer model with

This will save part_7_geometry.gif and part_7.gif . Experiment with hyper-parameters to and attach your best results on your webpage. Comment on the settings you chose, and why they seem to work well.

8. Neural Surface Extras (CHOOSE ONE! More than one is extra credit)

8.1. render a large scene with sphere tracing (10 pts).

In Q5, you rendered a (lonely) Torus, but to the power of Sphere Tracing lies in the fact that it can render complex scenes efficiently. To observe this, try defining a ‘scene’ with many (> 20) primitives (e.g. Sphere, Torus, or another SDF from this website at different locations). See Lecture 2 for equations of what the ‘composed’ SDF of primitives is. You can then define a new class in implicit.py that instantiates a complex scene with many primitives, and modify the code for Q5 to render this scene instead of a simple torus.

8.2 Fewer Training Views (10 pts)

In Q7, we relied on 100 training views for a single scene. A benefit of using Surface representations, however, is that the geometry is better regularized and can in principle be inferred from fewer views. Experiment with using fewer training views (say 20) -- you can do this by changing train_idx in data laoder to use a smaller random subset of indices. You should also compare the VolSDF solution to a NeRF solution learned using similar views.

8.3 Alternate SDF to Density Conversions (10 pts)

In Q7, we used the equations from VolSDF Paper to convert SDF to density. You should try and compare alternate ways of doing this e.g. the ‘naive’ solution from the NeuS paper , or any other ways that you might want to propose!

Contributors 3

  • Python 96.0%

FREE K-12 standards-aligned STEM

curriculum for educators everywhere!

Find more at TeachEngineering.org .

  • TeachEngineering
  • 3D Printing, Computer Aided Design (CAD) and G-Code Basics

Hands-on Activity 3D Printing, Computer Aided Design (CAD) and G-Code Basics

Grade Level: 10 (9-11)

two 90-minute class periods

Expendable Cost/Group: US $0.00

Group Size: 2

Activity Dependency: None

Subject Areas: Computer Science, Geometry, Measurement, Science and Technology

NGSS Performance Expectations:

NGSS Three Dimensional Triangle

  • https://ncviewer.com/

TE Newsletter

Engineering connection, learning objectives, materials list, worksheets and attachments, more curriculum like this, pre-req knowledge, introduction/motivation, vocabulary/definitions, troubleshooting tips, activity extensions, activity scaling, user comments & tips.

Engineers are creative problem solvers

Advances in manufacturing incorporate various technologies that operate the machining processes that produce various products. These technologies allow engineers to design products that can be manufactured at a faster rate and at an unprecedented scale. The successful implementation of CNC machining in the subtractive manufacturing realm has led engineers to apply the same concepts to 3D printing, also known as additive manufacturing. These advancements improve the prototyping process and make it faster and less costly for engineers to design and test a part. 3D printing has also allowed engineers to create complex geometry that traditional machining methods would not allow because of machine constraints.

After this activity, students should be able to:

  • Discuss how the 3D printing process works as well as the various types of 3D printing that are currently used in the manufacturing industry.
  • Calculate distance and convert distance into x , y , z coordinate points.
  • Write G-code to program a wireframe model.
  • Explain how a 3D printer uses x , y , z coordinate points to create an object from a CAD model.

Educational Standards Each TeachEngineering lesson or activity is correlated to one or more K-12 science, technology, engineering or math (STEM) educational standards. All 100,000+ K-12 STEM standards covered in TeachEngineering are collected, maintained and packaged by the Achievement Standards Network (ASN) , a project of D2L (www.achievementstandards.org). In the ASN, standards are hierarchically structured: first by source; e.g. , by state; within source by type; e.g. , science or mathematics; within type by subtype, then by grade, etc .

Ngss: next generation science standards - science, common core state standards - math.

View aligned curriculum

Do you agree with this alignment? Thanks for your feedback!

International Technology and Engineering Educators Association - Technology

State standards, michigan - math, michigan - technology.

Each student/group needs:

  • computer with an internet connection
  • NC Viewer software (free and available online )

To share with the entire class:

  • digital projector

An understanding of the basics of engineering drawing, such as orthographic views or CAD modeling, basic geometric principles including x , y , z coordinates and computer skills.

Prompt a teacher-led discussion with the following questions:

What is additive manufacturing?

Additive manufacturing is a phrase used to describe using a computer-generated 3D model to create a solid object using a 3D printer. (Additive manufacturing used interchangeably with the phrase 3D printing.) Using the specifications from the computer model, these special printers place layers of material— usually plastic, although technology is allowing the use of metal and other substances for 3D printing—over each other until the object is built. Additive manufacturing is in contrast to subtractive manufacturing, where the user starts with a piece of material, such as metal or plastic, and molds the object using a series of machining processes such as milling, grinding, cutting, or shaping.

A diagram of a CAD model and a photograph of its corresponding CNC machined part.

How does a 3D printer work?

3D printers use coordinate points from a CAD model, convert those coordinate points into a computer program using G-code, and, using that data, move the tool head in the specified pattern that creates the solid object.

What type of materials can be 3D printed?

Large-scale and mass-market 3D printers can currently print using various types of plastics and metals. However, engineers are experimenting with other materials such as concrete and even organic material!

A photo of a 3D printer head tool with two printed plastic examples below; a green “3” and a red “D”.

What are some advantages and disadvantages with printing in plastic or metal?

A few advantages that come with printing with plastic filament is that the process is less expensive and an engineer can print an object in a short amount of time. The advantages of printing with metal are the object will be stronger and the design may include complex geometry that can be hard to create with traditional machining processes

Disadvantages of plastic include the potential for warping and deformation of an object. Metal can be more expensive and both materials experience issues with tolerancing—shrinkage of material can be hard to predict.

Are there any limitations on what can be made with a 3D printer?

Some printing processes have build plate constrictions. That is, objects printed in plastic of a certain dimension may not fit on the plate where they are being built. Materials may also have limiting factors based upon their molecular makeup. 

Can 3D printers produce objects with rounded edges or arcs?

Unfortunately, CAD modeled parts and 3D printed parts cannot create fully rounded edges rounds or arcs because, by definition, they contain an infinite number of points. Software engineers have explored this issue by turning the rounded edges and arcs on a CAD model into a polygonal. Because the polygon contains points are so close together, the model gives the illusion of roundness. See the Reference: CAD Model to G-Code Overview .

Open and present the Additive Manufacturing PowerPoint Presentation . Discuss the various types of 3D printing and highlight G-code programming. The presentation also gives examples of various types of 3D printing processes currently used in the manufacturing industry with examples of advantages and disadvantages for each.

Load a basic program such as the Reference: CAD Model to G-Code Full Code Notepad (.txt) into the NC Viewer software > press play and run the simulation. Lead a discussion with students about what they see/think is happening? Answers may include:

The lines represent the tracing of the tool path when the code is running. 

Outline of an object is being created as the tool moves.

Tool moves in such a way that it does not retrace its steps.

Color of lines means the tool is moving differently (such as the tool speed).

Optional: Show videos on various types of 3D printers, types of 3D printed parts, or CNC machining and highlight the movement of the tool head around the build area or part. Showing successful and failed print jobs helps students visualize the potential limitations that exist with current 3D printing technology. (YouTube: The Ultimate Beginner’s Guide to 3D Printing , CNC Vertical Mill Video , 3D Printing Video )

Familiarize yourself with the NC Viewer software (See: https://ncviewer.com ) and G-code. See the Tutorial: G-Code Basics for more details. Show students how to take coordinate points from an object and write the G-code program that a machine will be able to read and replicate. Note the models and programs are only the wireframe version of the model. The activity is setup this way because the sheer length of the code; if we were to program it for a 3D printer, it would be thousands of lines long. The process is to declare an origin of the part then write down the x, y, and z coordinates for each corner of the part, then translate that into a G-code program.

Before the Activity Present the Additive Manufacturing PowerPoint and highlight the various types of additive manufacturing processes and user considerations.

With the Students

If possible, load all content onto a class website (such as Google Classroom) for students to refer to as they go through the activity. This will make it easier to go between documents during the presentation and helps facilitate answering student questions. You may also make copies of the references and assignments as needed.

  • Using the Reference: CAD Model to G Code Overview , discuss converting a solid model to a stereolithography file. Identify the chord height (point spacing) of the object. Note that an object that appears to have rounded edges does not actually have rounded edges, but instead has multiple polygonals. This is due to the movement of the tooling in additive manufacturing, which cannot create perfect rounds or arcs because, by definition, they make up an infinite number of points. Instead, 3D printers create objects with polygons that contains points that are so close together it gives the illusion of roundness.
  • Open Reference: CAD Model to G Code Full Code Notepad (.txt) to show students the length of a program that is needed to print a basic object. Let students know they will not be writing a program of this length, but instead they will be creating a wireframe.
  • Walk through the Tutorial: G Code Basics on writing a program. Use the Reference: Basic G Codes document to provide definitions to the various codes:
  • Overview of software
  • Line code numbers
  • G-code basics (Use Reference: Basic G Codes )
  • Compiling and running the simulation 

As a class:

  • Follow the G Code Basics Tutorial that will have them program G-code into the compiler and simulate a tool path that outlines an object.
  • Assign the following program: Solid Model Parts to G Code Assignment .
  • Walk around the room and assist the students as needed.  Provide hints to the order of the code. There are multiple ways to create the wireframe model.  Discuss how challenging it can be to write this type of code from scratch, which is why we use slicing software to create the G-code program for us. Students can find answers to their assignments in the following Notepad (.txt) files: Part 1 L-Block , Part 2 U-Block , Part 3 Bracket , and Part 4 Tool Rest .

additive manufacturing: A variety of processes in which material is joined or solidified under computer control to create a three-dimensional object, with material added layer by layer; commonly known as 3D printing.

build plate: The surface on which a 3D printed object is built.

build volume: Total space on which the machine can print the product; volume is determined by several factors, including the size of the build plate.

computer aided design (CAD) : Software used to create 2D and 3D models of objects to scale.

computer numerical control (CNC) machine: Machines that uses coding language to control the machine operation and tooling movement.

computer program compiler: Software used to convert programming code into machine code for a microprocessor to read.

G-code: Machine code used to control machine operations; the code takes coordinate data points and instructs a machine to move a tool around from point-to-point.

orthographic drawing: Type of drawing that represents a three-dimensional object using two-dimensional reference planes.

sinter: Process of compacting and forming a solid mass of material by heat or pressure without melting it to the point of liquefaction.

slicing software: Type of software used in 3D printers that takes a stereolithography file and creates a coded program that the 3D printer can read.

stereolithography file: Type of file used to convert a solid model from CAD software in to coordinate data points. Known as a .stl file.

subtractive manufacturing: A variety of processes in which raw material is cut, shaped, or formed to create a finished shape.

wireframe: Type of CAD model that just shows the edges (boundaries) of an object.

Pre-Activity Assessment

Discussion: Lead students in a discussion about 3D printing and present the following questions:

  • Has anybody used a 3D printer before? If so, what did you print?
  • Has anyone used a 3D printed object before? If so, what was it and how did you use it?
  • What are some things that we use today that are made with a 3D printer?
  • Why do you think 3D printing continues to gain in popularity?

Review: Basics of x , y and z coordinate points.

Activity Embedded Assessment

Observation: Observe students during the program creation and offer assistance with the NC Viewer program. Ensure that all students are on-task and if working in teams each group member is participating. Students should run their final coding by the teacher for feedback.

Post-Activity Assessment

Assignment(s) : Once students complete the tutorial, have them begin to write G-code programs in the Solid Model Parts to G-Code Assignment .

Recommend students to do the following:

  • Identify and write down all of the coordinate points they will need to use.
  • Organize coordinate points in the order in which they would like the object to be drawn. The key is to try and not have the drawing tool retrace over an existing edge.

Design CAD models and then convert the models to a stereolithography file. Import the stereolithography file for export to a 3D printer.

Use designs for 3D printed objects that are premade from maker sites (such as www.thingiverse.com ). Try to setup a print job using the printer’s specific slicing software to create the program.

  • For lower grades, provide students with each coordinate point on the wireframe model.
  • For higher grades, provide students with dimensions either on a pictorial (3D part) or provide dimensions on an orthographic (2D) drawing for the front, top and and right-side views ). Using spatial visualization, have students convert the 2D drawing into a 3D part then create G-code for the part.

assignment in 3d

During this lesson, students discover the journey that a Mars rover embarks upon after being designed by engineers and before being prepared for launch. Students investigate the fabrication techniques, tolerance concepts, assembly and field-testing associated with a Mars exploratory rover.

preview of 'Come On Over Rover' Lesson

Arcam EBM system. “Ti6Al4V Titanium Alloy.” Arcam.com. Accessed May 3, 2019.    http://www.arcam.com/wp-content/uploads/Arcam-Ti6Al4V-Titanium-Alloy.pdf

Dpi Metalworking. “Minimal Quantity Lubrication (MQL).” Accessed May 3, 2019.  https://www.dpi-metalworking.de/en/products/metalworking/minimal-quantity-lubrication-mql/276-mimesch-spray-nozzle

GE Additive. “Electron Beam Melting (EBM).” Accessed May 3, 2019. https://www.ge.com/additive/additive-manufacturing/information/electron-beam-melting-technology

Gong, Haijun; Rafi, Khalid; Starr, Thomas; Stucker, Brent. The Effects of Processing Parameters on Defect Regularity in Ti-6Al-4V Parts Fabricated By Selective Laser Melting and Electron Beam Melting. University of Louisville. Louisville, KY. 2013. Accessed May 3, 2019.  https://sffsymposium.engr.utexas.edu/Manuscripts/2013/2013-33-Gong.pdf

Gong, Haijun; Gu, Hengfeng; Zeng, Kai; Dilip, J.J.S; Pal, Deepankar; Stucker, Brent; Christiansen, Daniel; Beuth, Jack; Lewandowski, John. Melt Pool Characterization for Selective Laser Melting of Ti-6Al-4V Pre-alloyed Powder . University of Louisville, Louisville, KY. 2014. Accessed May 3, 2019. http://sffsymposium.engr.utexas.edu/sites/default/files/2014-022-Gong.pdf

Contributors

Supporting program, acknowledgements.

This material is based upon work supported by the National Science Foundation under grant no. CNS 1300794—a Research Experience for Teachers program titled “Robotics Engineering for Better Life and Sustainable Future” at Michigan State University. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the National Science Foundation.

Last modified: February 13, 2020

  • Trending Now
  • Foundational Courses
  • Data Science
  • Practice Problem
  • Machine Learning
  • System Design
  • DevOps Tutorial
  • Computer Graphics - 3D Composite Transformation
  • Composite Transformation in 2-D graphics
  • Computer Graphics - 3D Scaling Transformation
  • Computer Graphics - 3D Shearing Transformation
  • Computer Graphics - 3D Rotation Transformations
  • Computer Graphics - 3D Translation Transformation
  • Computer Graphics - Reflection Transformation in 3D
  • Translation of objects in computer graphics
  • 2D Transformation in Computer Graphics | Set 1 (Scaling of Objects)
  • 2D Transformation | Rotation of objects
  • Computer Graphics | The RGB color model
  • Computer Graphics Rotation
  • Computer Graphics Curve in Computer Graphics
  • Modeling and Coordinate Transformation
  • Geometric Computing in Computer Graphics
  • Projections in Computer Graphics
  • Blender Manual in Computer Graphics
  • Raster Method of Transformations
  • Python OpenCV - Affine Transformation
  • Normal Mapping in Computer Graphics

Computer Graphics – 3D Composite Transformation

3-D Transformation is the process of manipulating the view of a three-D object with respect to its original position by modifying its physical attributes through various methods of transformation like Translation, Scaling, Rotation, Shear, etc.

Types of Transformation:

  • Translation Transformation
  • Scaling Transformation
  • Rotation Transformation
  • Shearing Transformation
  • Reflection Transformation

Note: If we’re asked to perform three or more different sorts of transformations over a point(P 0 ) simultaneously which is placed in 3D space, and let us assume that these transformations are T 1 , T 2 , and T 3 respectively, then in this case what we’ll do? 

So, we will see the following solutions

a) Obviously, first by applying series of Transformations one by one over the coordinates of the object sequentially.

First we performed transformation T 1, then P o become transformed to P 1.   Secondly, we perform transformation T 2 and the point P 1 become transformed to P 2.   Lastly, we perform transformation T 3 and we get the final result i.e; P 3, and we will get our final transformed point coordinate(P 3 ).

   

b) Second solution, by applying Composite transformation in a single shot.

\mathbf{P_1[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=P_0[x_0\hspace{0.2cm}y_0\hspace{0.2cm}z_0\hspace{0.2cm}1].T_1} \newline \hspace{5.87cm}\mathbf{P_1[x\hspace{0.2cm}y\hspace{0.2cm}z]=[x_1\hspace{0.2cm}y_1\hspace{0.2cm}z_1]} \\ \hspace{4.37cm}\mathbf{P_2[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=P_1[x_1\hspace{0.2cm}y_1\hspace{0.2cm}z_1\hspace{0.2cm}1].T_2} \newline \hspace{5.87cm}\mathbf{P_2[x\hspace{0.2cm}y\hspace{0.2cm}z]=[x_2\hspace{0.2cm}y_2\hspace{0.2cm}z_2]} \newline \hspace{4.37cm}\mathbf{P_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=P_2[x_2\hspace{0.2cm}y_2\hspace{0.2cm}z_2\hspace{0.2cm}1].T_3} \newline \hspace{5.87cm}\mathbf{P_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[x_3\hspace{0.2cm}y_3\hspace{0.2cm}z_3]}\\ \textbf {But the idea that is concerned in Composite Transformation is} \newline \textbf{slightly different, that we'll discuss in detail in the following article.}

Note: Here T 1 , T 2 , T 3 correspond to their transformation matrix condition.

Composite Transformation

As its name suggests itself composite, here we compose two or more than two transformations together and calculate a resultant(R) transformation matrix by multiplying all the corresponding transformation matrix conditions with each other. 

The same equivalent result that we got over Point P 0 and transformed it into P 3 in the above example can also be achieved by directly multiplying resultant R with the point P 0 rather than performing transformations T 1 , T 2 , and T 3 sequentially one after one.

\mathbf{R=[T_1*T_2*T_3]} \newline \hspace{4.37cm}\mathbf{P_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=P_0[x_0\hspace{0.2cm}y_0\hspace{0.2cm}z_0\hspace{0.2cm}1].R} \\ \hspace{5.87cm}\mathbf{P_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[x_3\hspace{0.2cm}y_3\hspace{0.2cm}z_3]}

And we end up with the same equivalent result that we got into our above example.

Problem: Consider we are given with a cuboid “OABCDEFG” over which we want to perform 

  • Translation transformation(T 1 ) if translation distances are D x =2, D y =3, D z =2 ,then
  • Scaling transformation(T 2 ) if scaling factors are s x =2, s y =1, s z =3 and lastly perform,
  • Shearing transformation(T 3 ) in x-direction if shearing factors are s y =2 and s z =1.

Solution: We are given the following cuboid

assignment in 3d

First, we perform translation transformation T1:

The Translation transformation matrix is shown as:

\mathbf{T_1=\left[\begin{matrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\D_x&D_y&D_z&1\end{matrix}\right]}\\ \mathbf{Where \hspace{0.2cm}D_x=2,D_y=3\hspace{0.2cm} and\hspace{0.2cm} D_z=3\hspace{0.2cm} are\hspace{0.2cm}translation\hspace{0.2cm} distances.}

Now apply this translation transformation matrix condition over the coordinates:

For coordinate O[0 0 0], the newly translated coordinate would be O 1 :

\mathbf{O_1[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=O[0\hspace{0.2cm}0\hspace{0.2cm}0\hspace{0.2cm}1]*\left[\begin{matrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\2&3&2&1\end{matrix}\right]}\\ \\ \hspace{6.52cm}\mathbf{=[2\hspace{0.2cm}3\hspace{0.2cm}2\hspace{0.2cm}1]} \\ \hspace{4.15cm}\mathbf{O_1[x\hspace{0.2cm}y\hspace{0.2cm}z]=[2\hspace{0.2cm}3\hspace{0.2cm}2]}

For coordinate A[0 0 4], the newly translated coordinate would be A 1 :

\mathbf{A_1[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=A[0\hspace{0.2cm}0\hspace{0.2cm}0\hspace{0.2cm}1]*\left[\begin{matrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\2&3&2&1\end{matrix}\right]}\\ \\ \hspace{6.52cm}\mathbf{=[2\hspace{0.2cm}3\hspace{0.2cm}6\hspace{0.2cm}1]} \\ \hspace{4.15cm}\mathbf{A_1[x\hspace{0.2cm}y\hspace{0.2cm}z]=[2\hspace{0.2cm}3\hspace{0.2cm}6]}

For coordinate B[0 4 2], the newly translated coordinate would be B 1 :

\mathbf{B_1[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=B[0\hspace{0.2cm}4\hspace{0.2cm}2\hspace{0.2cm}1]*\left[\begin{matrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\2&3&2&1\end{matrix}\right]}\\ \\ \hspace{6.52cm}\mathbf{=[2\hspace{0.2cm}7\hspace{0.2cm}4\hspace{0.2cm}1]} \\ \hspace{4.15cm}\mathbf{B_1[x\hspace{0.2cm}y\hspace{0.2cm}z]=[2\hspace{0.2cm}7\hspace{0.2cm}4]}

For coordinate C[2 4 0], the newly translated coordinate would be C 1 :

\mathbf{C_1[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=C[2\hspace{0.2cm}4\hspace{0.2cm}0\hspace{0.2cm}1]*\left[\begin{matrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\2&3&2&1\end{matrix}\right]}\\ \\ \hspace{6.52cm}\mathbf{=[4\hspace{0.2cm}7\hspace{0.2cm}2\hspace{0.2cm}1]} \\ \hspace{4.15cm}\mathbf{C_1[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}7\hspace{0.2cm}2]}

For coordinate D[2 2 4], the newly translated coordinate would be D 1 :

\mathbf{D_1[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=D[2\hspace{0.2cm}2\hspace{0.2cm}4\hspace{0.2cm}1]*\left[\begin{matrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\2&3&2&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}5\hspace{0.2cm}6\hspace{0.2cm}1]} \\ \hspace{4.15cm}\mathbf{D_1[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}5\hspace{0.2cm}6]}

For coordinate E[2 0 0], the newly translated coordinate would be E 1 :

\mathbf{E_1[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=E[2\hspace{0.2cm}0\hspace{0.2cm}0\hspace{0.2cm}1]*\left[\begin{matrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\2&3&2&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}3\hspace{0.2cm}2\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{E_1[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}3\hspace{0.2cm}2]}

For coordinate F[0 0 2], the newly translated coordinate would be F 1 :

\mathbf{F_1[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=F[0\hspace{0.2cm}0\hspace{0.2cm}2\hspace{0.2cm}1]*\left[\begin{matrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\2&3&2&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[2\hspace{0.2cm}3\hspace{0.2cm}4\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{F_1[x\hspace{0.2cm}y\hspace{0.2cm}z]=[2\hspace{0.2cm}3\hspace{0.2cm}4]}

For coordinate G[2  0  2], the newly translated coordinate would be G 1 :

\mathbf{G_1[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=G[2\hspace{0.2cm}0\hspace{0.2cm}2\hspace{0.2cm}1]*\left[\begin{matrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\2&3&2&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}3\hspace{0.2cm}4\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{G_1[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}3\hspace{0.2cm}4]}

Secondly, we are said to perform Scaling transformation T 2 :

The Scaling transformation matrix is shown as:

\hspace{4.37cm}\mathbf{T_2=\left[\begin{matrix}s_x&0&0&0\\0&s_y&0&0\\0&0&s_z&0\\D_x&D_y&D_z&1\end{matrix}\right]}\\ \mathbf{Where \hspace{0.2cm}s_x=2,s_y=1\hspace{0.2cm} and\hspace{0.2cm} s_z=3\hspace{0.2cm} are\hspace{0.2cm}Scaling\hspace{0.2cm}parameter.}

Now apply this Scaling transformation matrix condition over the coordinates:

For coordinate O 1 [2 3 2], the newly Scaled coordinate would be O 2 :

\mathbf{O_2[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=O_1[2\hspace{0.2cm}3\hspace{0.2cm}2\hspace{0.2cm}1]*\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}3\hspace{0.2cm}6\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{O_2[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}3\hspace{0.2cm}6]}

For coordinate A 1 [2 3 6], the newly Scaled coordinate would be A 2 :

\mathbf{A_2[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=A_1[2\hspace{0.2cm}3\hspace{0.2cm}6\hspace{0.2cm}1]*\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}3\hspace{0.2cm}18\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{A_2[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}3\hspace{0.2cm}18]}

For coordinate B 1 [2 7 4], the newly Scaled coordinate would be B 2 :

\mathbf{B_2[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=B_1[2\hspace{0.2cm}7\hspace{0.2cm}4\hspace{0.2cm}1]*\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}7\hspace{0.2cm}12\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{B_2[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}7\hspace{0.2cm}12]}

For coordinate C 1 [4 7 2], the newly Scaled coordinate would be C 2 :

\mathbf{C_2[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=C_1[2\hspace{0.2cm}3\hspace{0.2cm}6\hspace{0.2cm}1]*\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[8\hspace{0.2cm}7\hspace{0.2cm}6\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{C_2[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}7\hspace{0.2cm}6]}

For coordinate D 1 [4 5 6], the newly Scaled coordinate would be D 2 :

\mathbf{D_2[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=D_1[4\hspace{0.2cm}5\hspace{0.2cm}6\hspace{0.2cm}1]*\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[8\hspace{0.2cm}5\hspace{0.2cm}18\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{D_2[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}5\hspace{0.2cm}18]}

For coordinate E 1 [4 3 2], the newly Scaled coordinate would be E 2 :

\mathbf{E_2[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=E_1[4\hspace{0.2cm}3\hspace{0.2cm}2\hspace{0.2cm}1]*\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[8\hspace{0.2cm}3\hspace{0.2cm}6\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{E_2[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}3\hspace{0.2cm}6]}

For coordinate F 1 [2 3 4], the newly Scaled coordinate would be F 2 :

\mathbf{F_2[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=F_1[2\hspace{0.2cm}3\hspace{0.2cm}4\hspace{0.2cm}1]*\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}3\hspace{0.2cm}12\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{F_2[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}3\hspace{0.2cm}12]}

For coordinate G 1 [4 3 4], the newly Scaled coordinate would be G 2 :

\mathbf{G_2[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=G_1[4\hspace{0.2cm}3\hspace{0.2cm}4\hspace{0.2cm}1]*\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[8\hspace{0.2cm}3\hspace{0.2cm}12\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{G_2[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}3\hspace{0.2cm}12]}

Lastly, we perform Shearing transformation T 3 in x-direction:

The Shearing transformation matrix for x-direction is shown as:

\hspace{4.37cm}\mathbf{T_3=\left[\begin{matrix}1&sh_y&sh_z&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\ \mathbf{Where \hspace{0.2cm}sh_y=2\hspace{0.2cm}and\hspace{0.2cm}sh_z=1\hspace{0.2cm}are\hspace{0.2cm}Shearing\hspace{0.2cm}parameter.}

Now, apply this Shearing transformation matrix condition over the coordinates:

For coordinate O 2 [4 3 6], the newly Scaled coordinate would be O 3 :

\mathbf{O_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=O_2[4\hspace{0.2cm}3\hspace{0.2cm}6\hspace{0.2cm}1]*\left[\begin{matrix}1&2&1&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}11\hspace{0.2cm}10\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{O_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}11\hspace{0.2cm}10]}

For coordinate A 2 [4  3 18], the newly Scaled coordinate would be A 3 :

\mathbf{A_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=A_2[4\hspace{0.2cm}3\hspace{0.2cm}18\hspace{0.2cm}1]*\left[\begin{matrix}1&2&1&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}11\hspace{0.2cm}22\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{A_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}11\hspace{0.2cm}22]}

For coordinate B 2 [4  7 12], the newly Scaled coordinate would be B 3 :

\mathbf{B_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=B_2[4\hspace{0.2cm}7\hspace{0.2cm}12\hspace{0.2cm}1]*\left[\begin{matrix}1&2&1&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}15\hspace{0.2cm}16\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{B_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}15\hspace{0.2cm}16]}

For coordinate C 2 [8  7  6], the newly Scaled coordinate would be C 3 :

\mathbf{C_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=C_2[8\hspace{0.2cm}7\hspace{0.2cm}6\hspace{0.2cm}1]*\left[\begin{matrix}1&2&1&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[8\hspace{0.2cm}23\hspace{0.2cm}14\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{C_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}23\hspace{0.2cm}14]}

For coordinate D 2 [8   5  18], the newly Scaled coordinate would be D 3 :

\mathbf{D_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=D_2[8\hspace{0.2cm}6\hspace{0.2cm}18\hspace{0.2cm}1]*\left[\begin{matrix}1&2&1&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[8\hspace{0.2cm}21\hspace{0.2cm}26\hspace{0.2cm}1]} \\ \hspace{4.15cm}\mathbf{D_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}21\hspace{0.2cm}26]}

For coordinate E 2 [8  7  6], the newly Scaled coordinate would be E 3 :

\mathbf{E_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=E_2[8\hspace{0.2cm}3\hspace{0.2cm}6\hspace{0.2cm}1]*\left[\begin{matrix}1&2&1&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\ \\ \hspace{6.52cm}\mathbf{=[8\hspace{0.2cm}19\hspace{0.2cm}14\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{E_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}19\hspace{0.2cm}14]}

For coordinate F 2 [4  3  12], the newly Scaled coordinate would be F 3 :

\mathbf{F_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=F_2[4\hspace{0.2cm}3\hspace{0.2cm}12\hspace{0.2cm}1]*\left[\begin{matrix}1&2&1&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}11\hspace{0.2cm}16\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{F_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}11\hspace{0.2cm}16]}

For coordinate G 2 [8  3 12], the newly Scaled coordinate would be G 3 :

\mathbf{G_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=G_2[8\hspace{0.2cm}3\hspace{0.2cm}12\hspace{0.2cm}1]*\left[\begin{matrix}1&2&1&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[8\hspace{0.2cm}19\hspace{0.2cm}20\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{G_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}19\hspace{0.2cm}20]}

Finally, we get our resized slanted object in the x-direction after performing transformations T 1 , T 2 and T 3 .

assignment in 3d

Solution through Composite Transformation

The final result, that we got above for the cuboid “OABCDEF” through applying transformation T 1 , T 2 , and T 3   one after one in sequential order the same equivalent result could also be got by using the concept of Composite Transformation. To perform composite transformation first we need to calculate the Resultant Transformation matrix(R) by combining all the distinguished transformation matrix representations together.

The resultant transformation matrix would be calculated as follows: 

The resultant transformation will be calculated by multiplying the Translation transformation matrix with the Scaling transformation matrix and the resultant(R 2 ) multiplication of both will then be multiplied with the last given, Shearing transformation matrix.

\hspace{4.37cm}\mathbf{R_2=\left[\begin{matrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\2&3&2&1\end{matrix}\right]*\mathbf{\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\0&0&0&1\end{matrix}\right]}} \\ \newline\hspace{4.37cm}\mathbf{R_2=\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\4&3&6&1\end{matrix}\right]}\\

Now, multiply R2 with the Shearing transformation matrix to get resultant R:

\mathbf{R=R_2*\left[\begin{matrix}1&2&1&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\\hspace{2.87cm}\mathbf{R=\left[\begin{matrix}2&0&0&0\\0&1&0&0\\0&0&3&0\\4&3&6&1\end{matrix}\right]*\left[\begin{matrix}1&2&1&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{matrix}\right]}\\ \newline \hspace{4.15cm} \mathbf{R=\left[\begin{matrix}2&4&2&0\\0&1&0&0\\0&0&3&0\\4&11&10&1\end{matrix}\right]}

Now, apply this resultant transformation matrix condition over the coordinates:

For coordinate O[0 0 0], the new Scaled coordinate would be O 3 :

\mathbf{O_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=O[0\hspace{0.2cm}0\hspace{0.2cm}0\hspace{0.2cm}1]*\left[\begin{matrix}2&4&2&0\\0&1&0&0\\0&0&3&0\\4&11&10&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[4\hspace{0.2cm}11\hspace{0.2cm}10\hspace{0.2cm}1]} \\ \hspace{4.15cm}\mathbf{O_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}11\hspace{0.2cm}10]}

For coordinate A[0 0 4], the newly Scaled coordinate would be A 3 :

\mathbf{A_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=A[0\hspace{0.2cm}0\hspace{0.2cm}4\hspace{0.2cm}1]*\left[\begin{matrix}2&4&2&0\\0&1&0&0\\0&0&3&0\\4&11&10&1\end{matrix}\right]}\\ \\ \hspace{6.52cm}\mathbf{=[4\hspace{0.2cm}11\hspace{0.2cm}22\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{A_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}11\hspace{0.2cm}22]}

For coordinate B[0 4 2], the newly Scaled coordinate would be B 3 :

\mathbf{B_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=B[0\hspace{0.2cm}4\hspace{0.2cm}2\hspace{0.2cm}1]*\left[\begin{matrix}2&4&2&0\\0&1&0&0\\0&0&3&0\\4&11&10&1\end{matrix}\right]}\\ \hspace{6.52cm}\mathbf{=[4\hspace{0.2cm}15\hspace{0.2cm}16\hspace{0.2cm}1]} \\ \hspace{4.15cm}\mathbf{B_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}15\hspace{0.2cm}16]}

For coordinate C[2 4 0], the newly Scaled coordinate would be C 3 :

\mathbf{C_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=C[2\hspace{0.2cm}4\hspace{0.2cm}0\hspace{0.2cm}1]*\left[\begin{matrix}2&4&2&0\\0&1&0&0\\0&0&3&0\\4&11&10&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[8\hspace{0.2cm}23\hspace{0.2cm}14\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{C_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}23\hspace{0.2cm}14]}

For coordinate D[2  2  4], the newly Scaled coordinate would be D 3 :

\mathbf{D_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=D[2\hspace{0.2cm}2\hspace{0.2cm}4\hspace{0.2cm}1]*\left[\begin{matrix}2&4&2&0\\0&1&0&0\\0&0&3&0\\4&11&10&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[8\hspace{0.2cm}21\hspace{0.2cm}26\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{D_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}21\hspace{0.2cm}26]}

For coordinate E[2  0  0], the newly Scaled coordinate would be E 3 :

\mathbf{E_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=E[2\hspace{0.2cm}0\hspace{0.2cm}0\hspace{0.2cm}1]*\left[\begin{matrix}2&4&2&0\\0&1&0&0\\0&0&3&0\\4&11&10&1\end{matrix}\right]}\\ \\\hspace{6.52cm} \mathbf{=[8\hspace{0.2cm}19\hspace{0.2cm}14\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{E_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}19\hspace{0.2cm}14]}

For coordinate F[0  0  2], the newly Scaled coordinate would be F 3 :

\mathbf{F_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=F[0\hspace{0.2cm}0\hspace{0.2cm}2\hspace{0.2cm}1]*\left[\begin{matrix}2&4&2&0\\0&1&0&0\\0&0&3&0\\4&11&10&1\end{matrix}\right]}\\ \\ \hspace{6.52cm}\mathbf{=[4\hspace{0.2cm}11\hspace{0.2cm}16\hspace{0.2cm}1]} \\\hspace{4.15cm} \mathbf{F_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[4\hspace{0.2cm}11\hspace{0.2cm}16]}

For coordinate G[2  0  2], the newly Scaled coordinate would be G 3 :

\mathbf{G_3[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=G[2\hspace{0.2cm}0\hspace{0.2cm}2\hspace{0.2cm}1]*\left[\begin{matrix}2&4&2&0\\0&1&0&0\\0&0&3&0\\4&11&10&1\end{matrix}\right]}\\ \\ \hspace{6.52cm}\mathbf{=[8\hspace{0.2cm}19\hspace{0.2cm}20\hspace{0.2cm}1]} \\ \hspace{4.15cm}\mathbf{G_3[x\hspace{0.2cm}y\hspace{0.2cm}z]=[8\hspace{0.2cm}19\hspace{0.2cm}20]}

Here, we get our final result in a single shot:

Please Login to comment...

Similar reads.

author

  • computer-graphics
  • Computer Subject

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

for Education

  • Google Classroom
  • Google Workspace Admin
  • Google Cloud

Easily distribute, analyze, and grade student work with Assignments for your LMS

Assignments is an application for your learning management system (LMS). It helps educators save time grading and guides students to turn in their best work with originality reports — all through the collaborative power of Google Workspace for Education.

  • Get started
  • Explore originality reports

TBD

Bring your favorite tools together within your LMS

Make Google Docs and Google Drive compatible with your LMS

Simplify assignment management with user-friendly Google Workspace productivity tools

Built with the latest Learning Tools Interoperability (LTI) standards for robust security and easy installation in your LMS

Save time distributing and grading classwork

Distribute personalized copies of Google Drive templates and worksheets to students

Grade consistently and transparently with rubrics integrated into student work

Add rich feedback faster using the customizable comment bank

Examine student work to ensure authenticity

Compare student work against hundreds of billions of web pages and over 40 million books with originality reports

Make student-to-student comparisons on your domain-owned repository of past submissions when you sign up for the Teaching and Learning Upgrade or Google Workspace for Education Plus

Allow students to scan their own work for recommended citations up to three times

Trust in high security standards

Protect student privacy — data is owned and managed solely by you and your students

Provide an ad-free experience for all your users

Compatible with LTI version 1.1 or higher and meets rigorous compliance standards

Google Classroom picture

Product demos

Experience google workspace for education in action. explore premium features in detail via step-by-step demos to get a feel for how they work in the classroom..

“Assignments enable faculty to save time on the mundane parts of grading and...spend more time on providing more personalized and relevant feedback to students.” Benjamin Hommerding , Technology Innovationist, St. Norbert College

assignment in 3d

Classroom users get the best of Assignments built-in

Find all of the same features of Assignments in your existing Classroom environment

  • Learn more about Classroom

Explore resources to get up and running

Discover helpful resources to get up to speed on using Assignments and find answers to commonly asked questions.

  • Visit Help Center

PDF

Get a quick overview of Assignments to help Educators learn how they can use it in their classrooms.

  • Download overview

PDF

Get started guide

Start using Assignments in your courses with this step-by-step guide for instructors.

  • Download guide

assignment in 3d

Teacher Center Assignments resources

Find educator tools and resources to get started with Assignments.

  • Visit Teacher Center

Video

How to use Assignments within your LMS

Watch this brief video on how Educators can use Assignments.

  • Watch video

Turn on Assignments in your LMS

Contact your institution’s administrator to turn on Assignments within your LMS.

  • Admin setup

assignment in 3d

Explore a suite of tools for your classroom with Google Workspace for Education

You're now viewing content for a different region..

For content more relevant to your region, we suggest:

Sign up here for updates, insights, resources, and more.

Logo for Open Textbook Publishing

Want to create or adapt books like this? Learn more about how Pressbooks supports open publishing practices.

7. 3D models

When you start creating 3D models, it’s helpful to be familiar with these terms:

  • Part  – a single component or body that you are designing
  • Dimension  – a constraint applied to edge length or surface size
  • Assembly  – an arrangement of parts to form a construction
  • CAD  – Computer Aided Design

Types of 3D models

There are two types of 3D models that you might like to design:

  • Geometric models   — components made entirely from lines, shapes and extrusions
  • Organic models  — involve using curves to sculpt a mesh to a desired form.

Geometric models are typically used for engineering and construction applications, while organic models are used in 3D animations and industrial design. A combination of both types is also possible.

Geometric model

Designing a 3D model for your assignment

Use this strategy to approach the design of a 3D model:

  • Draw  a rough sketch of the part with pencil and paper
  • Annotate  your sketch with dimensions, constraints or other key features
  • Plan  steps to convert your drawing to a digital model (e.g. sketch, extrude, fillet, etc…)
  • Apply  these steps in your 3D modelling software
  • Refine  your model according to other details from your sketch
  • Verify  that all dimensions and constraints were correctly applied.

Prepare your model for 3D printing

3D modelling software can export your model in a variety of formats. Depending on how or where you 3D print your model, these formats are typically used:

  • A stereolithography file (.STL)
  • A Wavefront 3D model file (.OBJ)

Steps for exporting your model in these formats are generally found in the help pages of the software you are using.

3D modelling software

Use of 3D modelling software largely depends on the model you are trying to create. If you are creating:

  • a geometric engineering component, CAD software is usually the best option
  • an organic model for 3D animation, then 3D modelling software is best.

Get more  information on 3D modelling tools .

3D Photogrammetry software

Photogrammetry software is a very useful tool for constructing 3D Models from photographs. This can be done with photos from a phone or digital camera, and then the software’s algorithms do all the work.  Visit 3D Photogrammetry tools for more information.

Ways to get 3D models

3D modelling can be used in a variety of ways. You can upload a 3D model for online interaction, 3D printing, animation or for use within VR/AR applications.

You can get a 3D model via:

  • CAD or 3D Modelling software — 3D models can be created from scratch using this software
  • Photogrammetry — construct 3D models from photographs at the click of a button using specialised software
  • MRI/CT Scan Conversion — extract a 3D model from any CT Scan or MRI data
  • 3D Scanning — scanning an object with a 3D scanner
  • Online Collections — download an online 3D model

Example of a 3D model you can create using photogrammetry. Press the play button to interact with the model:

Kangaroo Cranium 3D Model

Kangaroo Cranium by Nick Wiggins on Sketchfab

 Find existing 3D models

Find designs to download and use under a Creative Commons Licence from:

  • Thingiverse  — a MakerBot website for sharing 3D models
  • Yeggi  — 3D model search engine
  • NIH 3D Print Exchange  — a collection biomedical 3D models that include, anatomy objects, proteins, cells and tissues

Museum collections

Some museums are now making parts of their collections available as scans for home 3D printing:

  • British Museum Exhibits  on Sketchfab
  • The New York Metropolitan Museum of Art  on Thingiverse
  • Smithsonian

Digital Skills: Assignment Essentials Copyright © 2024 by Charles Sturt University is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License , except where otherwise noted.

Share This Book

assignment in 3d

10 Inspiring 3D Printing Lesson Ideas Created By Teachers

assignment in 3d

At Makers Empire, we’re always thrilled to learn about the new ways teachers are using Makers Empire’s 3D learning program to teach across the curriculum. Here are 10 inspiring real-life examples of teachers using Makers Empire in the classroom.

How Maplewood Intermediate School students study the International Space Station with 3D printing

1. Design an ISS storage container

At Maplewood Intermediate, teacher Lisa Hatton gave 5th grade her students the challenge to use Makers Empire to design a storage container that could be used aboard the International Space Station. Students had to apply what they learned about the ISS and the difference in gravity on the ISS compared to Earth when creating their designs. By working in groups the students were able to collaborate and devise unique solutions to the storage problem in zero gravity!  Learn more.

st stephens

2. Identify & solve a community problem

At St. Stephens School, the 6th-grade students were asked to think about their community and identify problems that people in their community might be facing. They identified that their teacher’s young daughter had a problem with her legs, and had to wear special straps on them. However, the straps would constantly fall off. Using Makers Empire the students set out to solve this problem by creating a specially designed clip that would hold the straps up. And they were successful! The students created a clip that was able to hold the straps up perfectly!  Learn more.

20161130_095154

3. Learn with the buddy system

The senior students at Fulham North Primary used Makers Empire as an opportunity to mentor the younger students at their school. The experienced senior students were paired with a younger schoolmate and showed them how to use the Makers Empire software. The older students learned valuable teaching skills and the younger ones were introduced to the fantastic potential of 3D design and printing technology. One of the first projects the senior mentors helped the younger students with was creating a personalized Christmas ornament to give to their parents!  Learn more.

makers empire 3d printing

4. Represent your family’s heritage

Second-grade students from Mont Claire Elementary School were asked to design a 3D object in Makers Empire that represented their family’s heritage. The students had been learning about their heritage, and this was a very personal and fun task where the students could think deeply and synthesize everything they had learned about their family. Every student was given the opportunity to express their unique family history through a thoughtfully designed 3D object.  Learn more .

pencil_box_red

5. Create a stationery holder

Elanora State School students were asked to create their very own stationery holder that would keep their essential supplies organized neatly on their desks. Students first created their design in a 2D drawing. Then the students used Makers Empire to transform that 2D drawing into a 3D design. Each student created a unique way to store their stationery supplies.  Learn more.

makers empire 3d printing app

6. Write and film a story

Year 1 students from Scotch College Perth and Presbyterian Ladies College Perth used Makers Empire 3D to enhance their communication, collaboration, storytelling and character development skills. Each student used their imagination to design a character in the 3D design app, which they then printed out. They partnered with another student and used iPads to film a story that featured their 3D designed character. This project took storytelling to a whole new level!  Learn more .

How students at The Scots College solve natural disasters problems with 3D printing

7. Prepare for a natural disaster

While learning about the devastation of natural disasters, the students at Scots College were challenged to design something that would help communities affected by a natural disaster. This cumulative task began with students investigating different types of disasters and the specific problems they create. Then, using Makers Empire, students designed a solution to the problem they had researched. Once they had created designs, students reflected on their product and its usefulness, encouraging students to view their solution in a real-world context.  Learn more .

st ann 8

8. Design a country flag

Kindergarten students at St. Ann School harnessed the power of 3D design when learning about the American political system during the most recent US election. Adding this hands-on element to the discussion of social and political systems made a potentially dry topic engaging for these young learners. Learn more.

Mars Rover - Redlands

9. Design a space rover for a planet

At Redlands School, when the year 5 students were learning about the solar system they were given a special challenge. They had to use Makers Empire to design a space rover that would function on the planet of their choice and explain how it would transmit information back to Earth. Students needed a solid understanding of the geographical features of the planet they chose in order to create a well-designed rover. Plus, through the explanation of their rover’s design and how it would transmit information the students practiced their writing skills. Preparing the next generation of space explorers!  Learn more.

makers empire st stephens school

10.   Create models of extinct animals

Kate Tyrwhitt from St. Michael’s School has created some fantastic 3D printing lesson plans, and one of our favorites is when she asked students to create 3D designs of Australia’s indigenous megafauna. Getting students interested in history and the distant past can be challenging because the concepts are all abstract. Kate used Makers Empire to bring the ancient megafauna of Australia into the classroom and engage her students with a hands-on experience.  Learn more.

Share this:

assignment in 3d

Kids in Space expanding in 2024 to 100+ Schools Across Australia

The Andy Thomas Space Foundation and Makers Empire are delighted to…

assignment in 3d

7 Ways Makers Empire Supports Neuro Affirming Learning for Students With Varying Support Needs

Over the years, Makers Empire has received feedback from teachers i…

assignment in 3d

Register Your Interest for a Western Sydney Advanced Manufacturing Industry Schools Program

Following successful programs in other states, primary and junior s…

assignment in 3d

2024 Design Thinking 3D Design Competitions Planner

Makers Empire’s in-app, monthly Design Thinking competitions …

assignment in 3d

5 Ways To Engage Students in Real-World Problem Solving Across the Curriculum with Makers Empire’s Advanced Module

Students can design in 3D in Makers Empire using one of three desig…

assignment in 3d

[Videos] American Teachers Share Their Fave Makers Empire Projects, Aha! Moments & Tips

We recently asked some of our American elementary and middle school…

assignment in 3d

10 Coronavirus 3D Design Challenges For Students | Help People Affected By COVID-19

We’ve seen a recent surge of activity around the world as health au…

positive design challenges coronavirus

10 Design Challenges for Children To Help Create Positive Feelings During COVID-19

We are all navigating unchartered territory as we learn to cope wit…

Try Makers Empire for free!

Start learning 3D design in minutes. Make teaching design and technology fun and effective!

  • USA (415) 652 0206
  • AUS 61 (0)8 8120 3150
  • Contact Makers Empire
  • Get Tech Support
  • Search Knowledgebase / FAQs
  • Share Your Makers Empire Story
  • 3D Design Software
  • Class & School Subscriptions
  • Learning by Design Course
  • Custom Solutions
  • Shop Makers Empire
  • Knowledgebase
  • Safety & Privacy
  • Accessibility & Equity
  • Free Printables
  • Grants for Schools
  • Makers Empire Blog
  • Gallery of Designs
  • Our Teachers
  • Teacher Interviews
  • Monthly Competitions
  • Our Partners & Awards
  • In the News
  • Testimonials
  • Major Milestones
  • Terms of Service | Privacy

We acknowledge and pay our respects to the Kaurna people, the traditional custodians whose ancestral lands we gather on. We acknowledge the deep feelings of attachment and relationship of the Kaurna people to country and we respect and value their past, present and ongoing connection to the land and cultural beliefs.

B-Corp-Logo-Tagline-Lockup-Standards-White-RGB-800x402-631910ba-294e-4a8d-a207-f16c67d848c4

Please wait while you are redirected to the right page...

  • Top Courses
  • Online Degrees
  • Find your New Career
  • Join for Free

Michigan State University

Game Design and Development 3: 3D Shooter

This course is part of Game Design and Development with Unity 2020 Specialization

Taught in English

Some content may not be translated

Brian Winn

Instructor: Brian Winn

Financial aid available

6,304 already enrolled

Coursera Plus

(53 reviews)

Recommended experience

Intermediate level

Completion of "Game Design and Development 2: 2D Platformer" course.

Skills you'll gain

  • Game Making
  • Video Game Development
  • Game Design

Details to know

assignment in 3d

Add to your LinkedIn profile

See how employees at top companies are mastering in-demand skills

Placeholder

Build your subject-matter expertise

  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 4 modules in this course

If you love games and want to learn how to make them, then this course is your third step down that path. In this course you will learn the fundamentals of game design, including an understanding of level design, game balancing, prototyping, and playtesting, as well as game asset creation techniques. You will continue developing video games using industry standard game development tools, including the Unity 2020 game engine. At the end of the course you will have completed a 3D First-Person Shooter game, and will be able to leverage an array of game development techniques to create your own basic games.

Your Third Step into Game Design and Development

Are you ready to take the next step in your journey into game design and development? In this module, we will introduce the course and kick off your third game project, a 3D Shooter. In the first part of the assignment, follow along with the tutorial videos introduced in this module. In the second part of the project, you will modify the game to make it your own.

What's included

26 videos 3 readings

26 videos • Total 179 minutes

  • Course Overview • 1 minute • Preview module
  • Project Overview • 5 minutes
  • Creating A New Unity Project • 3 minutes
  • Getting The New Input System • 1 minute
  • Importing The Asset Package • 1 minute
  • Main Menu Setup 1 - Creating Menu • 8 minutes
  • Main Menu Setup 2 - About Page • 3 minutes
  • Main Menu Setup 3 - Dynamic Elements • 4 minutes
  • Main Menu Setup 4 - Unity Terrain • 3 minutes
  • Main Menu Setup 5 - Environment Prefabs • 7 minutes
  • Creating First Level • 7 minutes
  • Setting Up 3D Art Assets • 7 minutes
  • Writing The Player Controller Script 1 • 8 minutes
  • Writing The Player Controller Script 2 • 11 minutes
  • Writing The Player Controller Script 3 • 15 minutes
  • Writing The Player Controller Script 4 • 15 minutes
  • Putting Together The Player Prefab • 7 minutes
  • Enemy AI Setup 1 • 6 minutes
  • Enemy AI Setup 2 • 6 minutes
  • Finishing The Level • 4 minutes
  • Creating Another Level • 9 minutes
  • Boss Fight • 4 minutes
  • Using Provided Prefabs 1 • 11 minutes
  • Using Provided Prefabs 2 • 10 minutes
  • Finish the Project • 1 minute
  • 3D Shooter Modification Examples • 9 minutes

3 readings • Total 35 minutes

  • Use Unity 2020.3 for this Course • 10 minutes
  • Downloading Project Assets • 10 minutes
  • 3D Shooter Assignment • 15 minutes

Game Assets

A big part of game development is developing the game assets. Game assets in Unity include the visuals (2D and 3D graphics, fonts, materials, animations), audio (sound effects, voice acting, ambient sounds, and music), and even the game logic (C# scripts), amongst other things. In this module, we will explore concepts and creation techniques of graphics, concepts and creation techniques of audio, the asset pipeline, and explore programming best practices.

13 videos 4 readings 4 quizzes

13 videos • Total 78 minutes

  • Game Graphics Concepts - Part 1 of 3 • 5 minutes • Preview module
  • Game Graphics Concepts - Part 2 of 3 • 5 minutes
  • Game Graphics Concepts - Part 3 of 3 • 3 minutes
  • Creating Game Graphics • 3 minutes
  • Game Audio Concepts • 5 minutes
  • Creating Game Audio • 6 minutes
  • The Asset Pipeline • 9 minutes
  • Programming Best Practices - Part 1: Introduction • 1 minute
  • Programming Best Practices - Part 2: Easy-to-Read Code • 12 minutes
  • Programming Best Practices - Part 3: Designer-Friendly Code • 6 minutes
  • Programming Best Practices - Part 4: Fault-Tolerant Code • 9 minutes
  • Programming Best Practices - Part 5: Efficient Code • 6 minutes
  • Programming Best Practices - Part 6: Refactoring Code • 3 minutes

4 readings • Total 20 minutes

  • Graphical Asset Creation Tools • 5 minutes
  • Graphical Asset Acquisition Resources • 5 minutes
  • Audio Asset Creation Tools • 5 minutes
  • Audio Asset Acquisition Resources • 5 minutes

4 quizzes • Total 55 minutes

  • Game Graphics • 15 minutes
  • Game Audio • 15 minutes
  • Asset Pipeline • 10 minutes
  • Programming Best Practices • 15 minutes

Level Design and Game Balancing

In this module, we will explore level design and game balancing. Level design is where the ‘rubber meets the road’. The level design is where the gameplay, storyline, art, and technology all come together to create the actual game world the player experiences. We have discussed the idea of creating experience goals, designing, playtesting, comparing the difference between the experience goals and the actual experience, and then iterating on the design, several times. This is game balancing. It is what iterative design is all about.

9 videos 10 readings 2 quizzes

9 videos • Total 46 minutes

  • Level Design - Part 1: Introduction • 5 minutes • Preview module
  • Level Design - Part 2: Components of Level Design • 6 minutes
  • Level Design - Part 3: Tips for Designing Levels • 6 minutes
  • Level Design - Part 4: Level Design Activity • 4 minutes
  • Game Balancing - Part 1: Introduction • 4 minutes
  • Game Balancing - Part 2: Player vs. Player • 6 minutes
  • Game Balancing - Part 3: Player vs. Gameplay • 3 minutes
  • Game Balancing - Part 4: Gameplay vs. Gameplay • 5 minutes
  • Game Balancing - Part 5: Game Design Challenge • 2 minutes

10 readings • Total 124 minutes

  • Level Design vs. Gameplay Design • 10 minutes
  • "What Makes a Good Puzzle" by Mark Brown • 18 minutes
  • "How Level Design Can Tell a Story" by Mark Brown • 18 minutes
  • "Why Nathan Drake Doesn’t Need a Compass" by Mark Brown • 9 minutes
  • Graph Paper • 5 minutes
  • Unity Level Design Tips • 10 minutes
  • "How Games Use Feedback Loops" by Mark Brown • 13 minutes
  • "Should Dark Souls Have an Easy Mode?" by Mark Brown • 10 minutes
  • "How Games Get Balanced" by Mark Brown • 16 minutes
  • Balancing Your Game • 15 minutes

2 quizzes • Total 30 minutes

  • Level Design • 15 minutes
  • Game Balancing • 15 minutes

Making Your Game Better

Prototyping is one of the most critical skills a game designer can cultivate. The ability to "find the fun" in gameplay design is critical to being a successful designer. In this module we will discuss prototyping of a game. This can then be put in front of players during a playtest, allowing you to better understand if the underlying mechanics, systems and aesthetic are something that players may find engaging. As you work on your 3D Shooter project, you should be playtesting. In this module, you will also finish up the 3D Shooter project, submit it for peer review, and peer review your fellow learners games. Finish the course strong!

8 videos 2 readings 1 quiz 1 peer review

8 videos • Total 30 minutes

  • Prototyping and Playtesting - Part 1: Introduction • 2 minutes • Preview module
  • Prototyping and Playtesting - Part 2: Gameplay Prototypes • 8 minutes
  • Prototyping and Playtesting - Part 3: Other Early Prototypes • 2 minutes
  • Prototyping and Playtesting - Part 4: Mid to Late Prototypes • 2 minutes
  • Prototyping and Playtesting - Part 5: Playtesting • 2 minutes
  • Prototyping and Playtesting - Part 6: Playtesting (cont.) • 6 minutes
  • Prototyping and Playtesting - Part 7: Playtesting (cont.) • 4 minutes
  • Course Wrap Up • 1 minute

2 readings • Total 16 minutes

  • "Secrets of Game Feel and Juice" by Mark Brown • 6 minutes
  • Mac Users: Read this when doing peer review • 10 minutes

1 quiz • Total 15 minutes

  • Prototyping and Playtesting • 15 minutes

1 peer review • Total 180 minutes

  • 3D Shooter Peer Review • 180 minutes

Instructor ratings

We asked all learners to give feedback on our instructors based on the quality of their teaching style.

assignment in 3d

Michigan State University has been advancing the common good with uncommon will for more than 150 years. One of the top research universities in the world, MSU pushes the boundaries of discovery and forges enduring partnerships to solve the most pressing global challenges while providing life-changing opportunities to a diverse and inclusive academic community through more than 200 programs of study in 17 degree-granting colleges.

Recommended if you're interested in Software Development

assignment in 3d

Michigan State University

Game Design and Development 5: Capstone Project

assignment in 3d

Game Design and Development 4: 3D Platformer

assignment in 3d

Game Design and Development 2: 2D Platformer

assignment in 3d

Game Design and Development 1: 2D Shooter

Why people choose coursera for their career.

assignment in 3d

Learner reviews

Showing 3 of 53

Reviewed on Sep 5, 2021

I really like the theoretical parts of these courses

New to Software Development? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions

What version of unity is covered in the course.

The course was originally built with Unity 5.1.x. However, we recently updated lessons to Unity 5.4.x where there were notable differences between 5.1 and 5.4.

When will I have access to the lectures and assignments?

Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:

The course may not offer an audit option. You can try a Free Trial instead, or apply for Financial Aid.

The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

What will I get if I subscribe to this Specialization?

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

What is the refund policy?

If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy Opens in a new tab .

Is financial aid available?

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

More questions

DiTNet: End-to-End 3D Object Detection and Track ID Assignment in Spatio-Temporal World

Ieee account.

  • Change Username/Password
  • Update Address

Purchase Details

  • Payment Options
  • Order History
  • View Purchased Documents

Profile Information

  • Communications Preferences
  • Profession and Education
  • Technical Interests
  • US & Canada: +1 800 678 4333
  • Worldwide: +1 732 981 0060
  • Contact & Support
  • About IEEE Xplore
  • Accessibility
  • Terms of Use
  • Nondiscrimination Policy
  • Privacy & Opting Out of Cookies

A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. © Copyright 2024 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions.

Assignments

assignment in 3d

Getting started with webpage submission. Due Date: 01/24/2023 (Wed), 11:59pm ET

assignment in 3d

Rendering basics with Pytorch3D. Due Date: 02/07/2024 (Wed), 11:59pm ET

assignment in 3d

Single view to 3D. Due Date: 02/21/2024 (Wed), 11:59pm ET

Volume Rendering, Neural Radiance Fields, Neural Surfaces. Due Date: 03/13/2023 (Wed), 11:59pm ET

3D Gaussian Splatting and Diffusion Guided Optimization Due Date: 03/27/2024 (Wed), 11:59pm ET

Point Cloud Processing Due Date: 04/12/2024 (Fri), 11:59pm ET

Late Policy

  • You have 7 free late days across all assignments.
  • You can use late days for any assignment. A late day extends the deadline for an assignment by 24 hours.
  • Once you have used all late days, for each additional late day, the penalty is 10pt decrease in score on that assignment (=1% of total course grade).
  • As the penalty for using additional late days is not too stringent, we will generally not approve any extension requests (exceptional circumstances exempted).

Academic Integrity & Collaboration

Students are encouraged to discuss the assignment with peers, but each student must write their own code and submit their own work. If your work benefits from another student’s discussion or idea, please credit it on your website/README. You absolutely should not share or copy code. Additionally, you should not use any external code unless explicitly permitted. Plagiarism is strongly prohibited and will lead to failure of this course.

  • Building Permit Drawings Assignment Help
  • Landscaping Layouts Assignment Help
  • Building Inspection Plans Assignment Help
  • 2D Drafting Assignment Help
  • Electrical Drawings Assignment Help
  • Dimensioning and Annotation Assignment Help
  • Solid Objects Assignment Help
  • Advanced Solid Models Assignment Help
  • Furniture and Product Designs Assignment Help
  • Civil Engineering Drawings Assignment Help
  • Architectural Drawings Assignment Help
  • HVAC Drawings Assignment Help
  • Interior Design Assignment Help
  • Jewelry Designs Assignment Help
  • Landscape Drawings Assignment Help
  • Mechanical Drawings Assignment Help
  • Structural Drawings Assignment Help
  • Bridge Designs Assignment Help
  • 3D Printed Models Assignment Help
  • Finite Element Analysis (FEA) Assignment Help

A Comprehensive Guide to Successfully Completing 3D Modeling Assignments

Tara Pate

Do you find it difficult to complete your 3D modeling assignments? You're not alone, so don't worry. 3D modeling assignments can be difficult and overwhelming for many students, but with the right strategy and some helpful advice, you can approach them with confidence. We will walk you through every step of successfully completing 3D modeling assignments in this comprehensive guide. You can build a solid foundation for your assignments by grasping the fundamentals of 3D modeling, mastering them, and studying examples from real-world applications. Additionally, we'll show you how to assess the demands of the assignment, plan your workflow, collect references, begin modeling, use textures and materials, set up lighting, and render your model. We will also offer success advice, such as the value of consistent practice and participating in online forums and communities. You'll learn the knowledge and abilities required to excel in your 3D modeling assignment help and overcome any difficulties with the help of this thorough guide. So let's get started and start your path to mastering 3D modeling!

The Ultimate Guide to Completing 3D Modeling Assignment

Understanding the Basics of 3D Modeling

It's imperative to have a firm grasp of the fundamentals before delving into the world of 3D modeling assignments. It's important to become familiar with the software you'll be working with. Spend some time investigating the features, tools, and functionalities of the 3D modeling software you choose, whether it's AutoCAD, Blender, or another one. To increase your confidence, watch tutorials, read the manual, and use the software. It's also crucial to understand the fundamentals of 3D modeling. Understanding terms like polygons, vertices, edges, textures, and lighting is part of this. Spend some time learning these foundational concepts because they will form the basis of your assignments. Studying examples from real-world situations is also very helpful. Investigate the architecture, video games, movies, and product designs for ideas. Investigate the methods used by experts to produce lifelike models and attempt to use them in your assignments. You can learn a lot about the craft of 3D modeling by looking at existing models. You'll be well-prepared to take on 3D modeling assignments with confidence and creativity if you have a solid foundation in the fundamentals. These are the three main ideas you need to understand:

Familiarize Yourself with the Software

To begin a 3D modeling assignment, you must first familiarize yourself with the software you'll be working with. Spend some time investigating the features, tools, and functionalities of the 3D modeling software you choose, whether it's AutoCAD assignment help , Blender, or another one. Learn how to use the interface, the navigational controls, and the fundamental functions. You'll be able to use the program more effectively and expeditiously while modeling as a result. Watch the software's specific tutorials to learn more about its sophisticated features and methods. Reading the documentation and consulting online sources can also yield insightful information and troubleshooting hints. Most importantly, regularly practice using the software. To learn more about the capabilities of various tools and functionalities, experiment with them. Learning the program inside and out will help you work more confidently and productively, which will ultimately improve the caliber of your 3D modeling assignments.

Master the Fundamentals of 3D Modeling

You need to have a solid foundation in 3D modeling fundamentals in order to succeed in 3D modeling assignments. Understanding terms like polygons, vertices, edges, textures, and lighting is part of this. Your models' foundation is made up of these components, which also raises the caliber of the final product. Spend some time learning and honing these foundational skills because they will form the basis of your assignments. Become familiar with the creation and manipulation of polygons to give your models shape, the definition of the structure by vertices and edges, and the addition of depth and realism by textures and materials. Learn about lighting principles and how they can improve the ambiance and appearance of your 3D models. By mastering these fundamentals, you'll gain a firm grasp on the guiding principles of 3D modeling and be better prepared to produce accurate and appealing models for your assignments.

Study Real-World Examples

Studying actual examples from the real world is one of the best ways to improve your 3D modeling abilities. Investigate the architecture, video games, movies, and product designs for ideas. Investigate the methods used by experts to produce lifelike models and attempt to use them in your assignments. You can learn a lot about the craft of 3D modeling by looking at existing models. Pay attention to the level of detail, the use of textures, and the lighting strategies used. Pay attention to the composition and aesthetics as a whole. Recognize how various components work together to produce a model that is both coherent and eye-catching. You can increase your knowledge, your creativity, and your capacity to produce stunning 3D models by studying examples from the real world. Push your limits and create your own distinctive style in the world of 3D modeling by using these insights.

Step-by-Step Guide to Completing 3D Modeling Assignments

Let's get started on the step-by-step procedure for finishing your 3D modeling assignments now that you have a strong foundation. The first step is to carefully review the assignment requirements, noting the details, measurements, and any special instructions. By breaking the assignment down into smaller tasks and making a timeline, you can plan your workflow once you have a clear understanding of the requirements. Collecting images, blueprints, or sketches that are relevant to your assignment will help you create accurate and realistic models. Once you have references, you can begin modeling. Start by making the fundamental structures and shapes, and as you go along, refine your model. Applying textures and materials will improve your model's visual appeal, and lighting and rendering setup will improve its overall presentation. To improve your skills, always remember to regularly save your work. You can successfully complete your 3D modeling assignments by carefully following this step-by-step manual.

Analyze the Assignment Requirements

To successfully complete a 3D modeling assignment, one must first carefully review the instructions. Read and comprehend the specifications, measurements, and any particular instructions provided by your instructor in detail. It's critical to recognize the primary outputs required of you and to keep track of the submission deadline. Understanding the requirements in detail will help you plan your workflow more successfully. Take into account the complexity of the assignment and divide it into more manageable tasks. This will make it easier for you to allot enough time and resources to each component, enabling you to successfully complete the assignment within the allotted time. You can approach the assignment with confidence if you approach it by paying close attention to the requirements from the start.

Plan Your Workflow

Planning your workflow is essential once you are aware of the assignment requirements. You can effectively manage your time by breaking the assignment into smaller tasks and making a timeline. Assess the assignment's complexity first, and then allot more time to difficult parts that might call for further investigation or experimentation. Identify any potential bottlenecks or areas where you might need assistance or clarification by taking into account the dependencies between tasks. You can stay organized and monitor your progress by creating a visual representation of your workflow, such as a Gantt chart or a task list. Additionally, it's crucial to account for a buffer period for unforeseen difficulties or revisions. You'll be able to approach the assignment in a structured manner, stay on track, and meet the deadline with ease if you plan your workflow in advance.

Gather Reference Material

It's crucial to compile relevant reference material before beginning the modeling process. This involves gathering any relevant visual materials, such as photos, blueprints, sketches, or other visual references. Throughout the modeling process, reference material is a helpful guide that helps to ensure accuracy and realism in your work. It offers hints in terms of proportions, specifics, and overall beauty. Reference material is even more important when it comes to lighting and texturing because it enables you to comprehend how surfaces and materials should appear in various lighting situations. You can make wise decisions and build models that are more convincing and visually appealing by reading and examining the references. To make it simple to access your references during the modeling process, remember to organize them logically. You'll be prepared to create excellent and visually accurate 3D models for your assignment with a wide range of reference materials at your disposal.

Start Modeling

It's time to start the modeling process now that you have your reference materials gathered. Create the fundamental structures and shapes that will serve as the model's framework first. Bring your vision to life by utilizing the tools and methods offered by the 3D modeling program of your choice. Pay close attention to the little things and iterate, improving your model as you go. To ensure accuracy and maintain a cohesive design, take breaks and step back to evaluate your work from various angles. To prevent any potential loss of progress or data, save your work frequently. Keep in mind that modeling is an iterative process, and changes and improvements are frequently made as you go. To get the desired result, don't be afraid to experiment and try different strategies. Keep calm, pay close attention to the little things, and consult your reference materials as necessary. You can produce engaging and visually appealing 3D models for your assignment by embracing the modeling process and maintaining a systematic approach.

Apply Textures and Materials

Applying textures and materials to your model will make it more visually appealing and realistic after the basic structure has been finished. Apply textures, colors, and materials to various parts of your model using the texturing tools provided by your preferred 3D modeling program. As you choose the textures and materials, keep in mind the precise specifications of your assignment and the desired aesthetic. To make your model appear more realistic, pay close attention to small details like surface roughness, reflections, and shadows. To achieve the desired look and feel, experiment with various textures and materials, and don't be afraid to make any necessary adjustments. To ensure that the textures and materials react correctly, preview your model in various lighting situations. You can improve the visual appeal and realism of your 3D model and produce a more engaging and immersive result by applying textures and materials thoughtfully.

Set Up Lighting and Rendering

Your 3D model's overall presentation depends heavily on lighting. You can achieve the desired ambiance and mood that improves the visual impact of your model by experimenting with various lighting configurations. To draw attention to the finer points of your design and highlight its key elements, change the lighting's color, brightness, and direction. The right lighting can significantly improve your model's overall aesthetic appeal, whether it's natural lighting for a realistic look or imaginative lighting for a more artistic effect. After you are happy with the lighting arrangement, render your model to capture the complex interaction of light and shadow. The final output, which showcases your 3D model's full potential and brings it to life in a visually stunning way, is produced by rendering your model.

Tips for Success in 3D Modeling Assignments

It's critical to regularly practice and invest time in developing your skills if you want to succeed in your 3D modeling assignments. You'll gain a better understanding of modeling techniques and a greater sense of proficiency by consistently honing your craft. Additionally, participating in online forums and communities devoted to 3D modeling can offer beneficial chances for networking and learning. Engaging with people who share your interests enables you to share ideas, get feedback, and keep up with market trends. When approaching assignments, don't be hesitant to experiment and let your creativity run wild. By thinking outside the box and experimenting with various tools and techniques, you can create distinctive models that beautifully display your personal style. Keep an open mind to constructive criticism because it can help you develop and hone your skills even more. You can succeed in your 3D modeling assignments and realize your full potential as a talented modeler with practice, collaboration, and a willingness to innovate. Here are a few more pointers to remember:

Practice Regularly

The key to mastering 3D modeling is consistent practice. Set aside a specific period of time every day or week to work on your skills. You can improve your modeling skills, gain a better understanding of the software tools, and gain more comfort using intricate shapes and structures by practicing regularly. To broaden your skill set, put yourself to the test by taking on a variety of projects and exploring various aesthetics. Consider joining online forums or communities where you can ask questions of other modelers and gain insight from their experiences. Just keep in mind that practice is a continuous process, and the more time you put into it, the better you will get at 3D modeling.

Join Online Communities and Forums

Getting involved in online 3D modeling communities and forums is a great way to advance your knowledge. These online communities give users the chance to meet others who share their enthusiasm for 3D modeling, such as students, professionals, and enthusiasts. Participating in these communities enables you to get advice, feedback, and support from more seasoned participants. It is a great place to pick up new skills, find fresh ideas, and keep up with the most recent developments in the industry. You can promote a sense of community and continuously broaden your knowledge base by actively taking part in discussions, sharing your work, and giving feedback to others. These communities also frequently provide tools like webinars, tutorials, and industry news that can help you develop as a 3D modeler. Utilize the advantages of online communities to network, educate yourself, and work together with like-minded individuals as you progress in learning 3D modeling.

3D modeling assignments can at first seem overwhelming, but with a strong foundation and a methodical approach, you can successfully approach them. Start by learning the fundamentals of 3D modeling, which includes becoming familiar with the software and becoming an expert in concepts like textures and polygons. Insights and inspiration can be gained from looking at examples from real-world situations. Once you have the necessary information, complete your assignments successfully by following a step-by-step procedure. Analysis of the requirements, workflow planning, gathering of reference materials, and modeling with careful attention to detail and iterative revision. Your models will become more realistic when textures, materials, and lighting are applied. Don't forget to regularly practice to improve your abilities and to join online communities to interact with other enthusiasts and professionals. Think outside the box and embrace creativity because doing so will distinguish your work. You can confidently complete 3D modeling assignments and keep developing as a skilled modeler with commitment, perseverance, and the appropriate approach.

Post a comment...

IMAGES

  1. AutoCAD 3D Assignment 15

    assignment in 3d

  2. 3D animation assignment

    assignment in 3d

  3. 3D assignments on Behance

    assignment in 3d

  4. 3D assignments on Behance

    assignment in 3d

  5. Assignment 12 3D Modeling

    assignment in 3d

  6. First 3D Model assignment

    assignment in 3d

VIDEO

  1. photogrammetry assignment-3D Modelling example

  2. UAMA 1144 Design Fundamentals

  3. VFX Course Assignment

  4. 3D ANIMATION : ASSIGNMENT 2

  5. Assignment 3D ma kasa लिखें ।🤔🤔 #3d #writing #3dwriting

  6. 3/15 Assignment: 3D Design

COMMENTS

  1. FIT1033

    Students communicate their knowledge of 3D theory through assignments that demonstrate geometrical modelling, texture mapping, virtual lighting and dynamic rendering techniques. Assignment 1. A spaceship is a paradoxical sculptural form; something that looks very heavy, but floats or soars weightlessly in a void. This assignment involves ...

  2. 3D Modeling Basics : 34 Steps (with Pictures)

    Step 3: Beginning Steps. All 3D modeling programs start out with the basics of working in 3D dimensions: simple shapes and geometries. Most CAD programs start with basic shapes, either sketches of 2D shapes that can be "extruded" into three dimensions, or simple 3D shapes like blocks, cylinders, or spheres whose dimensions can be adjusted.

  3. lorenarms/SNHU_CS_330_Computer_Graphics_and_Visualization

    4-3 Assignment Basic Camera Movement. ... user-friendly program that anyone can use to create a simple 3D scene. Feel free to browse my code and check out the various applications that I developed during the semester. The culmination of my learning can be found in the Final Project folder.

  4. 7. 3D models

    Designing a 3D model for your assignment. Use this strategy to approach the design of a 3D model: Draw a rough sketch of the part with pencil and paper; Annotate your sketch with dimensions, constraints or other key features; Plan steps to convert your drawing to a digital model (e.g. sketch, extrude, fillet, etc…); Apply these steps in your 3D modelling software

  5. Lesson Plans

    At Autodesk, we empower innovators everywhere to take the problems of today and turn them into something amazing. Start Tinkering Join Class. Explore our free Tinkercad lesson plans, developed in partnership with teachers to align with standards including ISTE, Common Core, and NGSS.

  6. Game Design and Development 4: 3D Platformer

    In this module, we will introduce the course and kick off your third game project, a 3D Platformer. In the first part of the assignment, follow along with the tutorial videos introduced in this module. In the second part of the project, you will modify the game to make it your own. What's included. 19 videos 3 readings.

  7. Classrooms

    Send and receive assignments, monitor student progress, and assign new activities—all in Tinkercad Classrooms. Teaching with Tinkercad has never been easier. ... Tinkercad is a free web app for 3D design, electronics, and coding. We're the ideal introduction to Autodesk, a global leader in design and make technology. Follow Us.

  8. 6.2: Heteronuclear 3D NMR- Resonance Assignment in Proteins

    If these two 3D NMR datasets encounter resonance overlaps, which are impossible to resolve, more 3D NMR dataset pairs are utilized in a similar way, e.g. HNCO/HN(CA)CO and others. This process allows assignment to specific residues and chemical groups of nearly all backbone and some side-chain resonances (1 H N, 15 N H, 13 Cα, 13 Cβ). Methods ...

  9. Assignment 3

    In the emission-absorption (EA) model described in class, volumes are typically described by their appearance (e.g. emission) and geometry (absorption) at every point in 3D space. For part 1 of the assignment, you will implement a Differentiable Renderer for EA volumes, which you will use in parts 2 and 3. Differentiable renderers are extremely useful for 3D learning problems --- one reason is ...

  10. Assignment

    To assign materials to different parts of a mesh, enter Edit Mode on the mesh. Additional buttons will then appear in the material slots panel. Material slots panel in Edit Mode. Assign active material slot and material to the selected faces in the mesh, strokes in a Grease Pencil, and similar for other object types.

  11. 3D Printing, Computer Aided Design

    Students learn about 3D printing and what considerations to make in the engineering design process to print an object with quality and to scale. Students learn the basic principles of computer-aided design (CAD) and how data points can be turned into a program that operates the 3D printer. Students also learn how to program using basic G-code to create a wireframe 3D shapes.

  12. "Mastering the Third Dimension: A Comprehensive Guide with ...

    The proficiency to navigate the complexities of 3D modeling is a cornerstone skill. Recently, I came across a transformative resource that has the potential to redefine the academic journey for…

  13. Computer Graphics

    Computer Graphics - 3D Composite Transformation. Last Updated : 28 Jun, 2021. 3-D Transformation is the process of manipulating the view of a three-D object with respect to its original position by modifying its physical attributes through various methods of transformation like Translation, Scaling, Rotation, Shear, etc. Types of Transformation:

  14. Get Started with Assignments

    Easily distribute, analyze, and grade student work with Assignments for your LMS. Assignments is an application for your learning management system (LMS). It helps educators save time grading and guides students to turn in their best work with originality reports — all through the collaborative power of Google Workspace for Education.

  15. 7. 3D models

    Designing a 3D model for your assignment. Use this strategy to approach the design of a 3D model: Draw a rough sketch of the part with pencil and paper; Annotate your sketch with dimensions, constraints or other key features; Plan steps to convert your drawing to a digital model (e.g. sketch, extrude, fillet, etc…); Apply these steps in your 3D modelling software

  16. How to Add a Pen Assignment in AutoCAD

    This video shows you how to quickly add a pen assignment in AutoCAD! Make sure to restart your AutoCAD after!Please comment any video tutorials you would lik...

  17. 10 Inspiring 3D Printing Lesson Ideas Created By Teachers

    Here are 10 inspiring real-life examples of teachers using Makers Empire in the classroom. 1. Design an ISS storage container. At Maplewood Intermediate, teacher Lisa Hatton gave 5th grade her students the challenge to use Makers Empire to design a storage container that could be used aboard the International Space Station.

  18. Game Design and Development 3: 3D Shooter

    In this course you will learn the fundamentals of game design, including an understanding of level design, game balancing, prototyping, and playtesting, as well as game asset creation techniques. You will continue developing video games using industry standard game development tools, including the Unity 2020 game engine.

  19. DiTNet: End-to-End 3D Object Detection and Track ID Assignment in

    End-to-end 3D object detection and tracking based on point clouds is receiving more and more attention in many robotics applications, such as autonomous driving. Compared with 2D images, 3D point clouds do not have enough texture information for data association. Thus, we propose an end-to-end point cloud-based network, DiTNet, to directly assign a track ID to each object across the whole ...

  20. Navigating 3D Modeling Challenges: "Complete My 3D Modeling Assignment

    Embarking on the journey of 3D modeling is an exciting yet intricate endeavor. Whether you're a student venturing into the world of design or a professional seeking to enhance your modeling ...

  21. 04.01 See in 3D

    For this assignment, select an adult in your life to interview. Explain the difference between 2D and 3D thinking to them. Then, ask the following questions: What changes have you seen in your lifetime that made a big impact on you? Tell me about a time when you had to use 3D thinking. In 2 to 4 complete sentences, reflect on their answers.

  22. Learning for 3D Vision

    Assignment 4. 3D Gaussian Splatting and Diffusion Guided Optimization Due Date: 03/27/2024 (Wed), 11:59pm ET . Assignment 5. Point Cloud Processing Due Date: 04/12/2024 (Fri), 11:59pm ET . Late Policy You have 7 free late days across all assignments. You can use late days for any assignment. ...

  23. The Ultimate Guide to Completing 3D Modeling Assignments

    3D modeling assignments can at first seem overwhelming, but with a strong foundation and a methodical approach, you can successfully approach them. Start by learning the fundamentals of 3D modeling, which includes becoming familiar with the software and becoming an expert in concepts like textures and polygons. Insights and inspiration can be ...