public void Inverser() { gPoint P = Start; Start = End; End = P; }
public Boolean Comparer(gPoint pt, Double arrondi) { if (Distance(pt) < arrondi) { return(true); } return(false); }
public gSegment(gPoint a, gVecteur v) { Start = a; End = new gPoint ( a.X + v.X, a.Y + v.Y, a.Z + v.Z ); }
public gPoint Projection(gSegment s) { gVecteur ab = s.Vecteur; gVecteur ac = new gVecteur(s.Start, this); Double n = ab.Scalaire(ac) / ab.Norme; ab.Normaliser(); ab.Multiplier(n); gPoint p = s.Start; p.Deplacer(ab); return(p); }
public Boolean SurLePlan(gPoint p, Double arrondi) { var v2 = new gVecteur(Origine, p); v2.Normaliser(); var val = Math.Abs(Normale.Vectoriel(v2).Norme - 1); // Si l'origine est sur le plan if (val < arrondi) { return(true); } return(false); }
public Double Distance(gPoint pt) { return(Math.Sqrt(Math.Pow(X - pt.X, 2) + Math.Pow(Y - pt.Y, 2) + Math.Pow(Z - pt.Z, 2))); }
public gPlan(gPoint a, gVecteur v) { Origine = a; Normale = v; Normale.Normaliser(); }
public gSegment(Edge e) { Start = new gPoint((Vertex)e.GetStartVertex()); End = new gPoint((Vertex)e.GetEndVertex()); }
public gSegment(gPoint a, gPoint b) { Start = a; End = b; }
public gVecteur(gPoint a, gPoint b) { X = b.X - a.X; Y = b.Y - a.Y; Z = b.Z - a.Z; }
public void Max(gPoint pt) { X = Math.Max(X, pt.X); Y = Math.Max(Y, pt.Y); Z = Math.Max(Z, pt.Z); }
public void Min(gPoint pt) { X = Math.Min(X, pt.X); Y = Math.Min(Y, pt.Y); Z = Math.Min(Z, pt.Z); }
public gPoint Milieu(gPoint pt) { return(new gPoint((X + pt.X) * 0.5, (Y + pt.Y) * 0.5, (Z + pt.Z) * 0.5)); }