/// <summary> /// Verifie si deux plans sont identiques /// On peut également vérifier ou non les directions des normales /// </summary> /// <param name="p"></param> /// <param name="prendreEnCompteSensNormale"></param> /// <returns></returns> public Boolean SontIdentiques(gPlan p, Double arrondi, Boolean prendreEnCompteSensNormale = true) { var result = false; var normale = p.Normale; var origine = p.Origine; normale.Normaliser(); // Si les normales sont colinéaires if (normale.EstColineaire(Normale, arrondi, prendreEnCompteSensNormale)) { if (Origine.Comparer(origine, arrondi)) { result = true; } // On test si l'origine est sur le plan en calculant le // produit vectoriel de la norme avec le vecteur(Origine, origine) // Si la valeur est égale à 1, ces deux vecteurs sont perpendiculaire var v2 = new gVecteur(Origine, origine); v2.Normaliser(); var val = Math.Abs(Normale.Vectoriel(v2).Norme - 1); if (val < arrondi) { result = true; } } return(result); }
public Boolean Compare(gSegment s, Double arrondi) { if ((Start.Comparer(s.Start, arrondi) && End.Comparer(s.End, arrondi)) || (Start.Comparer(s.End, arrondi) && End.Comparer(s.Start, arrondi))) { return(true); } return(false); }