<< Chapter < Page Chapter >> Page >
Learn how to use the dot product to compute nine different angles of interest that a vector makes with various elements in 3D space. Also learn how to use the dot product to find six of the infinite set of vectors that are perpendicular to a given vector, and how to use the dot product to perform back-face culling of an image.

Table of contents

Preface

This module is one in a collection of modules designed for teaching GAME2302 Mathematical Applications for Game Development at Austin Community College in Austin, TX.

What you have learned

In the previous module, which was the first part of a two-part miniseries on the vector dot product, you learned the fundamentals of the vector dot productin both 2D and 3D. You learned how to update the game-math library to support various aspects of the vector dot product, and you learned how to write 2D and3D programs that use the vector dot product methods in the game-math library.

What you will learn

In this module, you will learn how to apply the vector dot product to three different applications. You will learn

  • how to use the dot product to compute nine different angles of interest that a vector makes with various elements in 3D space,
  • how to use the dot product to find six somewhat unique vectors of the infinite set of vectors that are perpendicular to a given vector as shown in Figure 4 , and
  • how to use the dot product to perform back-face culling to convert the image shown in Figure 1 to the image shown in Figure 2 .

Figure 1 - A 3D image before back-face culling.

Missing image.

Figure 2 - The 3D image after back-face culling.

Missing image.

Viewing tip

I recommend that you open another copy of this module in a separate browser window and use the following links to easily find and view the Figuresand Listings while you are reading about them.

Figures

  • Figure 1 . A 3D image before back-face culling.
  • Figure 2 . The 3D image after back-face culling.
  • Figure 3 . Screen shot of the output from the program named DotProd3D05.
  • Figure 4 . Six (magenta) vectors that are perpendicular to a given (black) vector.
  • Figure 5 . Screen output when one coordinate has a value of zero.
  • Figure 6 . A general formulation of 3D vector perpendicularity.
  • Figure 7 . Output from Exercise 1.
  • Figure 8 . Output from Exercise 2.

Listings

  • Listing 1 . Beginning of the actionPerformed method in the program named DotProd3D05.
  • Listing 2 . Create ColMatrix3D objects that represent projections.
  • Listing 3 . Create and draw vectors.
  • Listing 4 . Compute and display the nine angles.
  • Listing 5 . Beginning of the actionPerformed method for the program named DotProd3D06.
  • Listing 6 . Remainder of the actionPerformed method.
  • Listing 7 . The method named drawTheCylinder in DotProd3D04.
  • Listing 8 . The method named drawTheCylinder in DotProd3D03.
  • Listing 9 . Source code for the game-math library named GM02.
  • Listing 10 . Source code for the program named DotProd3D05.
  • Listing 11 . Source code for the program named DotProd3D06.
  • Listing 12 . Source code for the program named DotProb3D04.
  • Listing 13 . Source code for the program named DotProb3D03.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Game 2302 - mathematical applications for game development. OpenStax CNX. Jan 09, 2016 Download for free at https://legacy.cnx.org/content/col11450/1.33
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Game 2302 - mathematical applications for game development' conversation and receive update notifications?

Ask