Math for 3D/Games Programmers - FREE version View on Asset Store (opens in new tab)

Package details

Latest version
1.0
Last updated
First released
Unity version
2020.3.44 or later
Package size
140 KB
Files
104
Favorites
36
Views in the past week
20

Price tracking

Last checked
Tracked since
Lowest recorded
Free on

Keywords

Math for 3D/Games Programmers - FREE version

by Wojtek Sterna (opens in new tab)

No ratings yet

Price Free

Get it free on Asset Store (opens in new tab)

Affiliate link · Purchases support this site

Price history

Last 6 months

USD
Price history for Math for 3D/Games Programmers - FREE version, 6 months Current Free; lowest Free; highest Free in this period. $0 Jun Jul Aug Sep Oct Nov

Asset preview

1 / 9

Math for 3D/Games Programmers - FREE version screenshot 1

Math for 3D/Games Programmers - FREE version screenshot 1

About this asset

This is the FREE version of the course that includes only the first 4 chapters (of 9). The full version will be available as a separate course.

Does any of the following describe your feelings?

- Do you want to thoroughly learn 3D mathematics, starting from the basics (such as trigonometry and vectors) and ending with more advanced topics (derivatives/integrals)?

- Do you already have some idea about 3D mathematics, you use it every day in programming, but still everything doesn’t quite come together and you feel/know that you have some gaps?

- You don’t know which book (and the choice is wide) for 3D mathematics will be suitable for you to learn? Moreover, most of them have several hundred pages.

- Do you care about understanding theory and formulas, but at the same time you want to see that this theory has actual, practical application in game/3D programming?

- Does it irritate you when, in various sources on 3D mathematics, authors explain in great detail what vectors are, only to then overwhelm you with equations with partial derivatives or integrals, without discussing them first?

- Vectors, Euler angles, matrices, quaternions, derivatives, integrals… Why, if at all, is all this necessary for games/3D programming?

The “Math for 3D/Games Programmers” course is the result of my many months of work on a video course which, on the one hand, is intended to be very practical, and on the other hand explains how the theoretical background of the topics discussed, including from time to time delving a little deeper into derivation of some mathematical formulas important for game/3D programmers.

On the one hand, there is a lot of very solid and often voluminous books on 3D mathematics for programmers available on the market (requiring a lot of time to work through them), yet they contain few practical examples – reading dry formulas without observing them in action can make them very difficult to understand. On the other hand, we have plenty of free mathematical programming libraries for solving specific programming problems, but whose inner workings can be “dark magic” to us. This course is in the middle – we learn as much theory as needed to understand a given topic, and at the same time we learn this theory on specific sample programs.

Interestingly, in many sources, such as the thick books mentioned above, topics such as vectors and matrices (in general, linear algebra) are explained very carefully, but for unknown reasons these sources assume that the reader is familiar with derivatives and integrals (calculus in general). This is, to say the least, a strange approach – if you need to explain vectors to someone, they certainly don’t know derivatives yet. By contrast, in this course, two large separate chapters are devoted to derivatives and integrals from a practical perspective. The chapter on derivatives, due to its extremely wide applications, is the largest in the entire course.

The sample programs are written in C# on the Unity 3D engine due to its ubiquity and ease of use. Additionally, using Unity 3D frees us from the need to write code that is not important from the point of view of the topics discussed. For example, we do not have to write code that draws 3D objects in a low-level graphics API such as DirectX, we just use the ready-made and basic Unity functionality. This ensures that all demo programs are concise and focus on the mathematical aspects of the problems being discussed. This also means that even though the demo programs are written in C# / Unity, porting them to other languages and engines will not be a major problem.

The course is intended for all programmers who are already involved in or want to be involved in programming video games and 3D applications/simulations. The course assumes that you already have at least a basic understanding of 3D mathematics from high school, and that concepts such as the 2D/3D coordinate system or quadratic equation are familiar to you. I’m also assuming that you already have at least a basic understanding of any game engine like Unity 3D.

Find out more here:

https://wojtsterna.com/math-for-3d-programmers

https://wojtsterna.com

Table of Contents:

(in this package only chapters 1-4 are included)

1. Trigonometry

Trigonometric Functions

Generic Sine Function

Polar Coordinates

Generating Points on Circle

Spherical Coordinates

Generating Points on Sphere

2. Complex Numbers

Definition

Operations

Trigonometric Form

Exponential Form

3. Vectors

What is a Vector

Vector Creation from Two Points

Vector as a Point

Addition

Subtraction

Linear Interpolation

Vector Length

Normalization

Normal Vector

Perpendicular Vectors in 2D

Dot Product

Vector Projection

Cross Product (Perpendicular Vector in 3D)

Point in Triangle (in 2D)

Normalized Vector Compression

4. Geometrical Objects Equations

Line

- Line Equation

- Implicit Equation

- Parametric Equation

Circle

- Implicit Equation

- Parametric Equation

Sphere

Plane

- Implicit Equation

- Parametric Equation

Triangle

- Barycentric Coordinates

Equations Optimization

5. Matrices and Transforms I

Matrices

Transforms

Transforms and Matrices

Image Rotation on GPU

Point Projection onto a Plane

6. Matrices and Transforms II

Rotation Matrix About Any Axis

Column and Row Order

Scale-Rotate-Translate (SRT) and Hierarchy

Camera and Projection Matrices

Basis and Basis Change

Normal Vector Transformation

Plane Transformation

7. Quaternions

What is a Quaternion

Rotation About Any Axis

Quaternion, Matrix and Euler Angles

Slerp - Spherical Linear Interpolation

Gimbal Lock

8. Derivatives

What is a Derivative

Numerical Calculation

Analytical Calculation

Function Extrema

Derivative of Parametric Function

Partial Derivatives and Gradient

Derivative of Implicit Function

Least Squares Method

Gradient Descent Algorithm

Tangent Space

9. Integrals

What is an Integral

Numerical Calculation

Analytical Calculation

Motion Equation Integration

Double Integral

Analytical Integration Example

Numerical Integration Example

From the publisher's Asset Store listing.

Compatibility

Render pipelines supported in each Unity version
Unity version Built-in URP HDRP
2020.3.44f1 Compatible Not listed Not listed

As listed on the Asset Store.