Skip to content

MathNet.Spatial.Euclidean.Line3D retruns UnExpected NULL  #239

@ASCmetrology

Description

@ASCmetrology

MathNet.Spatial.Euclidean.Line3D Intersection with Plane returns unexpected NULL:

//------------------------------------
// Immediate below FAILS, expecting (200, ~0, ~0) but receive aPtint = NULL:

                MathNet.Spatial.Euclidean.Point3D LinePt1 = new Point3D(200, 0, 0);
                MathNet.Spatial.Euclidean.Point3D LinePt2 = new Point3D(100, 0, 0);
                Line3D a_Line3D = new Line3D(LinePt1, LinePt2);
                        Ap = -100; Bp = 0; Cp = -3.979039320256561E-13;
                    Vector3D aNormal = new Vector3D(Ap, Bp, Cp);                         
                UnitVector3D aNormalV = aNormal.Normalize();
                Point3D PtOnPlane = new Point3D(200, -100, 100);
                Plane a_Plane = new Plane(PtOnPlane, aNormalV);
                Point3D? aPtint = new Point3D();
                aPtint = a_Line3D.IntersectionWith(a_Plane, 4.9E-324);  //returns unexpected NULL.

//------------------------------------

Below DOES work, receives aPtint = (200, 0, 0);

                MathNet.Spatial.Euclidean.Point3D LinePt1 = new Point3D(200, 0, 0);
                MathNet.Spatial.Euclidean.Point3D LinePt2 = new Point3D(100, 0, 0);
                Line3D a_Line3D = new Line3D(LinePt1, LinePt2);
                    Vector3D aNormal = new Vector3D(-100, 0, 0);
                UnitVector3D aNormalV = aNormal.Normalize();
                Point3D PtOnPlane = new Point3D(200, -100, 100); 
                Plane a_Plane = new Plane(PtOnPlane, aNormalV); 
                Point3D? aPtint = new Point3D();
                aPtint = a_Line3D.IntersectionWith(a_Plane, 4.9E-324);

Notes:
_difference in above is changing Cp value from -3.979039320256561E-13 to 0;
_modification of error epsilon from 4.9E-324 to 0 etc did not change results.
_employing using VS 2017 fully updated; Working as expected for all other code within subject test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions