/// <summary> /// Units the normal vector at. /// </summary> /// <param name="angleRadians">The angle radians.</param> /// <returns>VectorParametric.</returns> public VectorParametric UnitNormalVectorAt(double angleRadians) { VectorParametric unitTangentVector = UnitTangentVectorAt(angleRadians); VectorParametric unitTangentVectorPrime = unitTangentVector.Differentiate(); return(unitTangentVectorPrime / unitTangentVectorPrime.Magnitude(angleRadians)); }
/// <summary> /// Cross-product of two vectors. /// </summary> /// <param name="vector">The vector.</param> /// <param name="angleRadians">The angle radians.</param> /// <returns>System.Double.</returns> public double CrossProductAt(VectorParametric vector, double angleRadians) { return(VectorLibrary.CrossProduct( _curveParametric.Xcomponent.ValueAt(angleRadians), _curveParametric.Ycomponent.ValueAt(angleRadians), vector._curveParametric.Xcomponent.ValueAt(angleRadians), vector._curveParametric.Ycomponent.ValueAt(angleRadians))); }
/// <summary> /// Curvatures the specified angle radians. /// </summary> /// <param name="angleRadians">The angle radians.</param> /// <returns>System.Double.</returns> public double Curvature(double angleRadians) { VectorParametric unitTangentVector = UnitTangentVectorAt(angleRadians); VectorParametric unitTangentVectorPrime = unitTangentVector.Differentiate(); VectorParametric vectorPrime = Differentiate(); return(unitTangentVectorPrime.Magnitude(angleRadians) / vectorPrime.Magnitude(angleRadians)); }
/// <summary> /// Units the tangent vector at. /// </summary> /// <param name="angleRadians">The angle radians.</param> /// <returns>VectorParametric.</returns> public VectorParametric UnitTangentVectorAt(double angleRadians) { VectorParametric vectorPrime = Differentiate(); return(vectorPrime / vectorPrime.Magnitude(angleRadians)); }
/// <summary> /// Units the vector at. /// </summary> /// <param name="angleRadians">The angle radians.</param> /// <returns>VectorParametric.</returns> public VectorParametric UnitVectorAt(double angleRadians) { VectorParametric vector = new VectorParametric(_curveParametric, Tolerance); return(vector / vector.Magnitude(angleRadians)); }