Vectors Extension - fallenblood7080/Unity-Extension-Method GitHub Wiki
VectorsExtension Class
Index
- NearestPointOnAxis (Vector3)
- NearestPointOnAxis (Vector2)
- NearestPointOnLine (Vector3)
- NearestPointOnLine (Vector2)
- GetClosestVectorFrom (Vector2)
- GetClosestVectorFrom (Vector3)
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).