Vectors Extension - fallenblood7080/Unity-Extension-Method GitHub Wiki

VectorsExtension Class

Index

NearestPointOnAxis (Vector3)

Finds the nearest point on a specified axis to a given point in 3D space.

Usage

// Example: Find the nearest point on the X-axis to the point (2, 1, 3)
Vector3 axisDirection = Vector3.right;
Vector3 point = new Vector3(2, 1, 3);
Vector3 nearestPoint = axisDirection.NearestPointOnAxis(point);

General Syntax

Vector3 result = axisDirection.NearestPointOnAxis(point, isNormalized);

Parameters

Parameter Data Type Description
axisDirection Vector3 The direction vector of the axis.
point Vector3 The 3D point for which you want to find the nearest point on the axis.
isNormalized bool Indicates whether the axisDirection vector is already normalized. Default is false.

Method Description

This extension method finds the nearest point on the specified axis to the input point in 3D space. If the axisDirection vector is not normalized, it normalizes it before performing the calculations. The result is calculated as the projection of the point onto the axis defined by axisDirection.

Example

// Find the nearest point on the X-axis to the point (2, 1, 3)
Vector3 axisDirection = Vector3.right;
Vector3 point = new Vector3(2, 1, 3);
Vector3 nearestPoint = axisDirection.NearestPointOnAxis(point);
// Result: nearestPoint = (2, 0, 0)

In this example, the NearestPointOnAxis method is used to find the nearest point on the X-axis to the point (2, 1, 3).

NearestPointOnAxis (Vector2)

Finds the nearest point on a specified axis to a given point in 2D space.

Usage

// Example: Find the nearest point on the X-axis to the point (2, 1)
Vector2 axisDirection = Vector2.right;
Vector2 point = new Vector2(2, 1);
Vector2 nearestPoint = axisDirection.NearestPointOnAxis(point);

General Syntax

Vector2 result = axisDirection.NearestPointOnAxis(point, isNormalized);

Parameters

Parameter Data Type Description
axisDirection Vector2 The direction vector of the axis.
point Vector2 The 2D point for which you want to find the nearest point on the axis.
isNormalized bool Indicates whether the axisDirection vector is already normalized. Default is false.

Method Description

This extension method finds the nearest point on the specified axis to the input point in 2D space. If the axisDirection vector is not normalized, it normalizes it before performing the calculations. The result is calculated as the projection of the point onto the axis defined by axisDirection.

Example

// Find the nearest point on the X-axis to the point (2, 1)
Vector2 axisDirection = Vector2.right;
Vector2 point = new Vector2(2, 1);
Vector2 nearestPoint = axisDirection.NearestPointOnAxis(point);
// Result: nearestPoint = (2, 0)

In this example, the NearestPointOnAxis method is used to find the nearest point on the X-axis to the point (2, 1).

NearestPointOnLine (Vector3)

Finds the nearest point on a specified line to a given point in 3D space.

Usage

// Example: Find the nearest point on the line passing through (1, 1, 1) in the direction of (1, 0, 0) to the point (2, 2, 2)
Vector3 lineDirection = Vector3.right;
Vector3 pointOnLine = new Vector3(1, 1, 1);
Vector3 point = new Vector3(2, 2, 2);
Vector3 nearestPoint = lineDirection.NearestPointOnLine(point, pointOnLine);

General Syntax

Vector3 result = lineDirection.NearestPointOnLine(point, pointOnLine, isNormalized);

Parameters

Parameter Data Type Description
lineDirection Vector3 The direction vector of the line.
point Vector3 The 3D point for which you want to find the nearest point on the line.
pointOnLine Vector3 A point on the line used as a reference for calculations.
isNormalized bool Indicates whether the lineDirection vector is already normalized. Default is false.

Method Description

This extension method finds the nearest point on the specified line to the input point in 3D space. If the lineDirection vector is not normalized, it normalizes it before performing the calculations. The result is calculated as the projection of the vector from pointOnLine to point onto the line defined by lineDirection.

Example

// Find the nearest point on the line passing through (1, 1, 1) in the direction of (1, 0, 0) to the point (2, 2, 2)
Vector3 lineDirection = Vector3.right;
Vector3 pointOnLine = new Vector3(1, 1, 1);
Vector3 point = new Vector3(2, 2, 2);
Vector3 nearestPoint = lineDirection.NearestPointOnLine(point, pointOnLine);
// Result: nearestPoint = (2, 1, 1)

In this example, the NearestPointOnLine method is used to find the nearest point on the line to the point (2, 2, 2).

NearestPointOnLine (Vector2)

Finds the nearest point on a specified line to a given point in 2D space.

Usage

// Example: Find the nearest point on the line passing through (1, 1) in the direction of (1, 0) to the point (2, 2)
Vector2 lineDirection = Vector2.right;
Vector2 pointOnLine = new Vector2(1, 1);
Vector2 point = new Vector2(2, 2);
Vector2 nearestPoint = lineDirection.NearestPointOnLine(point, pointOnLine);

General Syntax

Vector2 result = lineDirection.NearestPointOnLine(point, pointOnLine, isNormalized);

Parameters

Parameter Data Type Description
lineDirection Vector2 The direction vector of the line.
point Vector2 The 2D point for which you want to find the nearest point on the line.
pointOnLine Vector2 A point on the line used as a reference for calculations.
isNormalized bool Indicates whether the lineDirection vector is already normalized. Default is false.

Method Description

This extension method finds the nearest point on the specified line to the input point in 2D space. If the lineDirection vector is not normalized, it normalizes it before performing the calculations. The result is calculated as the projection of the vector from pointOnLine to point onto the line defined by lineDirection.

Example

// Find the nearest point on the line passing through (1, 1) in the direction of (1, 0) to the point (2, 2)
Vector2 lineDirection = Vector2.right;
Vector2 pointOnLine = new Vector2(1, 1);
Vector2 point = new Vector2(2, 2);
Vector2 nearestPoint = lineDirection.NearestPointOnLine(point, pointOnLine);
// Result: nearestPoint = (2, 1)

In this example, the NearestPointOnLine method is used to find the nearest point on the line to the point (2, 2).

GetClosestVectorFrom (Vector2)

Finds the vector in an array that is closest to a specified reference vector in 2D space.

Usage

// Example: Find the Vector2 vector from an array closest to the reference vector (2, 1)
Vector2 referenceVector = new Vector2(2, 1);
Vector2[] otherVectors = { new Vector2(3, 1), new Vector2(1, 2), new Vector2(4, 1) };
Vector2 closestVector = referenceVector.GetClosestVectorFrom(otherVectors);

General Syntax

Vector2 result = referenceVector.GetClosestVectorFrom(otherVectors);

Parameters

Parameter Data Type Description
referenceVector Vector2 The reference vector for which you want to find the closest vector.
otherVectors Vector2[] An array of Vector2 vectors from which to find the closest vector.

Method Description

This extension method finds the Vector2 vector from the array otherVectors that is closest to the reference vector referenceVector. It iterates through the array and calculates the squared distance between the reference vector and each vector in the array, returning the vector with the minimum squared distance.

Example

// Find the Vector2 vector from an array closest to the reference vector (2, 1)
Vector2 referenceVector = new Vector2(2, 1);
Vector2[] otherVectors = { new Vector2(3, 1), new Vector2(1, 2), new Vector2(4, 1) };
Vector2 closestVector = referenceVector.GetClosestVectorFrom(otherVectors);
// Result: closestVector = (3, 1)

In this example, the GetClosestVectorFrom method is used to find the Vector2 vector from the array that is closest to the reference vector (2, 1).

GetClosestVectorFrom (Vector3)

Finds the vector in an array that is closest to a specified reference vector in 3D space.

Usage

// Example: Find the Vector3 vector from an array closest to the reference vector (2, 1, 3)
Vector3 referenceVector = new Vector3(2, 1, 3);
Vector3[] otherVectors = { new Vector3(3, 1, 2), new Vector3(1, 2, 4), new Vector3(4, 1, 3) };
Vector3 closestVector = referenceVector.GetClosestVectorFrom(otherVectors);

General Syntax

Vector3 result = referenceVector.GetClosestVectorFrom(otherVectors);

Parameters

Parameter Data Type Description
referenceVector Vector3 The reference vector for which you want to find the closest vector.
otherVectors Vector3[] An array of Vector3 vectors from which to find the closest vector.

Method Description

This extension method finds the Vector3 vector from the array otherVectors that is closest to the reference vector referenceVector. It iterates through the array and calculates the squared distance between the reference vector and each vector in the array, returning the vector with the minimum squared distance.

Example

// Find the Vector3 vector from an array closest to the reference vector (2, 1, 3)
Vector3 referenceVector = new Vector3(2, 1, 3);
Vector3[] otherVectors = { new Vector3(3, 1, 2), new Vector3(1, 2, 4), new Vector3(4, 1, 3) };
Vector3 closestVector = referenceVector.GetClosestVectorFrom(otherVectors);
// Result: closestVector = (3, 1, 2)

In this example, the GetClosestVectorFrom method is used to find the Vector3 vector from the array that is closest to the reference vector (2, 1, 3).