Exemple #1
0
        /// <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));
        }
Exemple #2
0
 /// <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)));
 }
Exemple #3
0
        /// <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));
        }
Exemple #4
0
        /// <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));
        }
Exemple #5
0
        /// <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));
        }