Swadge 2024 2.0.0
APIs to develop games for the Magfest Swadge
Loading...
Searching...
No Matches
vectorFl2d.h File Reference

Detailed Description

Design Philosophy

These utility functions are can be used for floating point vector 2D math. Vector math is useful for physics calculations.

Usage

No initialization or deinitialization is required. Each function will return a new vector and will not modify the vectors given as arguments. See the functions below for what is provided and how to use them.

Example

vecFl_t vecOne = {
.x = 3.0f,
.y = 5.0f,
};
vecFl_t vecTwo = {
.x = 8.0f,
.y = 2.0f,
};
vecFl_t vecSum = addVecFl2d(vecOne, vecTwo);
vecFl_t addVecFl2d(vecFl_t left, vecFl_t right)
Add two vectors and return the resulting vector.
Definition vectorFl2d.c:11
float x
The signed integer X component of the vector.
Definition vectorFl2d.h:38
A 2D vector with signed integer X and Y components.
Definition vectorFl2d.h:37

Go to the source code of this file.

Data Structures

struct  vecFl_t
 A 2D vector with signed integer X and Y components. More...
 

Functions

vecFl_t addVecFl2d (vecFl_t left, vecFl_t right)
 Add two vectors and return the resulting vector.
 
vecFl_t subVecFl2d (vecFl_t left, vecFl_t right)
 Subtract two vectors and return the resulting vector.
 
vecFl_t mulVecFl2d (vecFl_t vector, float scalar)
 Multiply a vector by a scalar and return the result.
 
vecFl_t divVecFl2d (vecFl_t vector, float scalar)
 Divide a vector by a scalar and return the result.
 
float dotVecFl2d (vecFl_t left, vecFl_t right)
 Find the dot product of two vectors.
 
vecFl_t rotateVecFl2d (vecFl_t vector, float radians)
 Rotate a vector by a number of degrees and return the result.
 
float magVecFl2d (vecFl_t vector)
 Compute the magnitude of a vector.
 
float sqMagVecFl2d (vecFl_t vector)
 Return the squared magnitude of the given vector. The square root is not used because it is slow.
 
vecFl_t normVecFl2d (vecFl_t in)
 Normalize and return a vector.
 
vecFl_t perpendicularVecFl2d (vecFl_t in)
 Return a vector perpendicular to the input.
 

Data Structure Documentation

◆ vecFl_t

struct vecFl_t
Data Fields
float x The signed integer X component of the vector.
float y The signed integer Y component of the vector.

Function Documentation

◆ addVecFl2d()

vecFl_t addVecFl2d ( vecFl_t left,
vecFl_t right )

Add two vectors and return the resulting vector.

Parameters
leftOne vector to add
rightThe other vector to add
Returns
The sum of both vectors

◆ subVecFl2d()

vecFl_t subVecFl2d ( vecFl_t left,
vecFl_t right )

Subtract two vectors and return the resulting vector.

Parameters
leftThe vector to subtract from
rightThe other vector to subtract
Returns
The difference between the vectors

◆ mulVecFl2d()

vecFl_t mulVecFl2d ( vecFl_t vector,
float scalar )

Multiply a vector by a scalar and return the result.

Parameters
vectorThe vector to multiply
scalarThe scalar to multiply by
Returns
The multiplied vector

◆ divVecFl2d()

vecFl_t divVecFl2d ( vecFl_t vector,
float scalar )

Divide a vector by a scalar and return the result.

Parameters
vectorThe vector to divide
scalarThe scalar to divide by
Returns
The divided vector

◆ dotVecFl2d()

float dotVecFl2d ( vecFl_t left,
vecFl_t right )

Find the dot product of two vectors.

Parameters
leftOne vector to dot
rightThe other vector to dot
Returns
The dot product of the two vectors

◆ rotateVecFl2d()

vecFl_t rotateVecFl2d ( vecFl_t vector,
float radians )

Rotate a vector by a number of degrees and return the result.

Parameters
vectorThe vector to rotate
radiansThe angle to rotate clockwise by, in radians
Returns
The rotated vector

◆ magVecFl2d()

float magVecFl2d ( vecFl_t vector)

Compute the magnitude of a vector.

Parameters
vectorThe vector to compute magnitude for
Returns
The magnitude

◆ sqMagVecFl2d()

float sqMagVecFl2d ( vecFl_t vector)

Return the squared magnitude of the given vector. The square root is not used because it is slow.

Parameters
vectorThe vector to get the squared magnitude for
Returns
The squared magnitude of the vector

◆ normVecFl2d()

vecFl_t normVecFl2d ( vecFl_t in)

Normalize and return a vector.

Parameters
inThe input vector
Returns
The normalized vector

◆ perpendicularVecFl2d()

vecFl_t perpendicularVecFl2d ( vecFl_t in)

Return a vector perpendicular to the input.

Parameters
inThe input vector
Returns
The perpendicular vector