Esempio n. 1
0
 public bool Equals(PlanePoint other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(OriginalPoint.Equals(other.OriginalPoint));
 }
Esempio n. 2
0
        public Hyperplane(PlanePoint point, Vector normal)
        {
            if (point.Dim != normal.Dim)
            {
                throw new ArgumentException("Point and normal have different dimensions.");
            }

            Dimension = normal.Dim;
            Normal    = normal.Normalize();
            MainPoint = point;
            ComputeNumVariable();
        }
Esempio n. 3
0
        public PlanePoint ConvertPoint(PlanePoint point)
        {
            if (point.Dim != MainPoint.Dim)
            {
                throw new ArgumentException("The planePoint has the wrong dimension.");
            }
            Point p1 = point - MainPoint;

            double[] newPoint = Basis.Select((vector => vector * p1)).ToArray();

            return(new PlanePoint(newPoint, point));
        }
Esempio n. 4
0
 public Edge(PlanePoint p1, PlanePoint p2)
 {
     if (p1.Dim != p2.Dim)
     {
         throw new ArgumentException("_points have different dimensions.");
     }
     if (p1 == p2)
     {
         throw new ArgumentException("Objects are equal.");
     }
     _points       = new[] { p1, p2 };
     AdjacentCells = new List <ICell>();
     Hyperplane    = Hyperplane.Create(_points);
 }
Esempio n. 5
0
        public static Hyperplane Create(PlanePoint point, Vector[] vectors)
        {
            if (!vectors.HaveSameDimension())
            {
                throw new ArgumentException("Vectors don't have same dimension");
            }
            if (point.Dim != vectors[0].Dim)
            {
                throw new ArgumentException("Vectors and points have different dimensions.");
            }

            Matrix leftSide = vectors.ToHorizontalMatrix();

            Vector normal = ComputeNormal(leftSide);

            return(new Hyperplane(point, normal)
            {
                Basis = vectors.GetOrthonormalBasis()
            });
        }
Esempio n. 6
0
 public PlanePoint(PlanePoint p) : base(p)
 {
     OriginalPoint  = p.OriginalPoint;
     _previousPoint = p._previousPoint;
 }
Esempio n. 7
0
 public PlanePoint(Point p, PlanePoint point) : base(p)
 {
     OriginalPoint  = point.OriginalPoint;
     _previousPoint = point;
 }
Esempio n. 8
0
 public PlanePoint(double[] np, PlanePoint point) : base(np)
 {
     OriginalPoint  = point.OriginalPoint;
     _previousPoint = point;
 }
Esempio n. 9
0
 public PlanePoint(int n, PlanePoint point) : base(n)
 {
     OriginalPoint  = point.OriginalPoint;
     _previousPoint = point;
 }