Difference between revisions of "Vector"
Jump to navigation
Jump to search
Outerbeast (talk | contribs) m |
Outerbeast (talk | contribs) m |
||
| Line 1: | Line 1: | ||
Vectors are essentially float arrays of size 3 which are used to represent various things like spatial co-ordinates, angles, velocities and colours, and so will come up very often. | Vectors are essentially float arrays of size 3 which are used to represent various things like spatial co-ordinates, angles, velocities and colours, and so will come up very often. | ||
| + | |||
| + | Operations such as dot product and cross product can be performed on vectors using these global functions: | ||
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! Function | ||
| + | ! style="vertical-align:middle;" | Description | ||
| + | |- | ||
| + | | float DotProduct(const Vector2D& in lhs, const Vector2D& in rhs) | ||
| + | | style="vertical-align:middle;" | Returns a dot product of the given vectors | ||
| + | |- | ||
| + | | style="vertical-align:middle;" | ||
| + | | float DotProduct(const Vector& in lhs, const Vector& in rhs) | ||
| + | | style="vertical-align:middle;" | Returns the dot product of the given vectors | ||
| + | |- | ||
| + | | style="vertical-align:middle;" | ||
| + | | Vector CrossProduct(const Vector& in, const Vector& in) | ||
| + | | style="vertical-align:middle;" | Returns the cross product of the given vectors | ||
| + | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
Revision as of 01:21, 14 February 2025
Vectors are essentially float arrays of size 3 which are used to represent various things like spatial co-ordinates, angles, velocities and colours, and so will come up very often.
Operations such as dot product and cross product can be performed on vectors using these global functions:
| Function | Description | |
|---|---|---|
| float DotProduct(const Vector2D& in lhs, const Vector2D& in rhs) | Returns a dot product of the given vectors | |
| style="vertical-align:middle;" | float DotProduct(const Vector& in lhs, const Vector& in rhs) | Returns the dot product of the given vectors |
| style="vertical-align:middle;" | Vector CrossProduct(const Vector& in, const Vector& in) | Returns the cross product of the given vectors |
| Method | Description |
|---|---|
| void Vector() | Default constructs a 3D vector (0, 0, 0) |
| void Vector(const Vector& in vec) | Copy constructs a 3D vector |
| void Vector(float x, float y, float z) | Constructs a 3D vector from 3 floats |
| Vector& opAssign(const Vector& in other) | Assign vector |
| Vector opNeg() const | Negate vector |
| Vector opAdd(const Vector& in other) const | Add vectors |
| Vector opSub(const Vector& in other) const | Subtract vectors |
| Vector opMul(float fl) const | Multiply vector by value |
| Vector opMul_r(float fl) const | Multiply vector by value |
| Vector opDiv(float fl) const | Divide vector by value |
| Vector opDiv_r(float fl) const | Divide vector by value |
| float& opIndex(size_t uiIndex) | Index operator |
| float opIndex(size_t uiIndex) const | Index operator |
| bool opEquals(const Vector& in other) const | Compare vectors |
| Vector opMul(const Vector& in other) const | Multiply vectors |
| Vector opDiv(const Vector& in other) const | Divide vectors |
| float Length() const | Gets the length of this vector |
| float Length2D() const | Gets the length of this vector in 2D |
| Vector Normalize() const | Returns the normalized form of this vector |
| Vector2D Make2D() const | Returns the 2D form of this vector |
| string ToString() const | Returns a string representation of this vector in the format "x, y, z" |