<< Chapter < Page Chapter >> Page >

The only really interesting code in Listing 25 is the statement that calls the rotate method of the game-math library on each Point3D object inside a for loop near the bottom of the listing. Knowing what you do about the rotate method, you should have no problem understanding the code in Listing 25 .

End of the discussion

That concludes the discussion of the program named StringArt03 . You will find a complete listing of this program in Listing 32 .

Documentation for the GM01 library

Click here to download a zip file containing standard javadoc documentation for the library named GM01 . Extract the contents of the zip file into an empty folder and open the filenamed index.html in your browser to view the documentation.

Although the documentation doesn't provide much in the way of explanatory text (see Listing 26 and the explanations given above) , the documentation does provide a good overview of the organization and structure of the library. You may find it helpful in that regard.

Homework assignment

The homework assignment for this module was to study the Kjell tutorial through Chapter6 - Scaling and Unit Vectors .

The homework assignment for the next module is to continue studying the same material.

In addition to studying the Kjell material, you should read at least the next two modules in this collection and bring your questions about that material tothe next classroom session.

Finally, you should have begun studying the physics material at the beginning of the semester and you should continue studying one physics moduleper week thereafter. You should also feel free to bring your questions aboutthat material to the classroom for discussion.

Run the programs

I encourage you to copy the code from Listing 26 through Listing 32 . Compile the code and execute it in conjunction with the game-math library provided in Listing 26 . Experiment with the code, making changes, and observing the results of your changes. Make certain that youcan explain why your changes behave as they do.

Summary

The most important thing that you learned in this module was how to update the game-math library to support 3D math and how to produce 3D images similar tothat shown in Figure 1 . You learned much more than that however. Some highlights of the things you learned are:

  • You learned how to program the equations for projecting a 3D world onto a 2D plane for display on a computer screen.
  • You learned how to cause the direction of the positive y-axis to be up the screen instead of down the screen.
  • You learned how to add vectors in 3D and confirmed that the head-to-tail and parallelogram rules apply to 3D as well as to 2D.
  • You learned about scaling, translation, and rotation of a point in both 2D and 3D.
  • You learned about the rotation equations and how to implement them in both 2D and 3D.
  • You learned how to rotate a point around an anchor point other than the origin.
  • You learned about the right-hand rule.

What's next?

In the next module in this collection, you will learn how to write your first interactive 3D game using the game-math library. You will also learn how towrite a Java program that simulates flocking behavior such as that exhibited by birds and fish and how to incorporate that behavior into a game.

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