Back to class indexx | y | zero[static][const] | one[static][const] | unitX[static][const] | unitY[static][const] | nan[static][const] | inf[static][const] | ctor (+3 overloads) | ptr() (+1 overload) | operator[](index) (+1 overload) | At(index) (+1 overload) | operators +,-,*,/(v)[const] (+1 overload) | operators +=,-=,*=,/=(v) | Add/Sub/Mul/Div(v)[const] (+1 overload) | xx/xy/yx/yy()[const] | Swizzled(i,j,k,l)[const] (+2 overloads) | SetFromScalar(scalar) | Set(x,y) | SetFromPolarCoordinates(theta,length) (+1 overload) | ToPolarCoordinates()[const] | AimedAngle()[const] | Length()[const] | LengthSq()[const] | Normalize() | Normalized()[const] | ScaleToLength(newLength) | ScaledToLength(newLength)[const] | IsNormalized(epsilonSq)[const] | IsZero(epsilonSq)[const] | IsFinite()[const] | IsPerpendicular(other,epsilonSq)[const] | Equals(other,epsilon)[const] (+1 overload) | BitEquals(other)[const] | ToString()[const] | SerializeToString()[const] | SerializeToCodeString()[const] | SumOfElements()[const] | ProductOfElements()[const] | AverageOfElements()[const] | MinElement()[const] | MinElementIndex()[const] | MaxElement()[const] | MaxElementIndex()[const] | Abs()[const] | Neg()[const] | Recip()[const] | Min(ceil)[const] (+1 overload) | Max(floor)[const] (+1 overload) | Clamp(floor,ceil)[const] (+1 overload) | Clamp01()[const] | Distance(point)[const] | DistanceSq(point)[const] | Dot(v)[const] | Perp()[const] | PerpDot(rhs)[const] | Rotate90CW() | Rotated90CW()[const] | Rotate90CCW() | Rotated90CCW()[const] | Reflect(normal)[const] | Refract(...)[const] | ProjectTo(direction)[const] | ProjectToNorm(direction)[const] | AngleBetween(other)[const] | AngleBetweenNorm(normalizedVector)[const] | Decompose(...)[const] | Lerp(b,t)[const] | FromScalar(scalar)[static] | FromPolarCoordinates(theta,length)[static] (+1 overload) | FromString(str,outEndStr)[static] (+1 overload) | Lerp(a,b,t)[static] | Orthogonalize(a,b)[static] | AreOrthogonal(a,b,epsilon)[static] | Orthonormalize(a,b)[static] | OrientedCCW(a,b,c)[static] | ConvexHull(...)[static] | ConvexHullInPlace(...)[static] | ConvexHullContains(...)[static] | MinAreaRectInPlace(...)[static] | RandomDir(lcg,length)[static] | RandomBox(...)[static] |
| float2::OrthogonalizeSyntaxvoid float2::Orthogonalize(const float2 &a, float2 &b); [5 lines of code]Makes the given vectors linearly independent. This function directly follows the Gram-Schmidt procedure on the input vectors. The vector a is kept unmodified, and vector b is modified to be perpendicular to a. Note If any of the input vectors is zero, then the resulting set of vectors cannot be made orthogonal. See Also AreOrthogonal(), Orthonormalize(), AreOrthonormal(). |