public bool Equals(PlanePoint other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(OriginalPoint.Equals(other.OriginalPoint)); }
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(); }
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)); }
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); }
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() }); }
public PlanePoint(PlanePoint p) : base(p) { OriginalPoint = p.OriginalPoint; _previousPoint = p._previousPoint; }
public PlanePoint(Point p, PlanePoint point) : base(p) { OriginalPoint = point.OriginalPoint; _previousPoint = point; }
public PlanePoint(double[] np, PlanePoint point) : base(np) { OriginalPoint = point.OriginalPoint; _previousPoint = point; }
public PlanePoint(int n, PlanePoint point) : base(n) { OriginalPoint = point.OriginalPoint; _previousPoint = point; }