public eVecteur Compose(eVecteur v) { eVecteur C = new eVecteur(X, Y, Z); C.Ajouter(v); return(C); }
public Boolean EstColineaire(eVecteur v, Double arrondi = 1E-10, Boolean prendreEnCompteSens = true) { var result = false; var v1 = Unitaire(); var v2 = v.Unitaire(); var vn = v1.Vectoriel(v2); if (vn.Norme < arrondi) { if (prendreEnCompteSens) { // Si on aditionne les deux vecteurs et que la norme est supérieur à 0 // c'est qu'ils ne sont pas opposé if (v1.Compose(v2).Norme > arrondi) { result = true; } } else { result = true; } } return(result); }
public eVecteur Vectoriel(eVecteur v) { var prod = new eVecteur( Y * v.Z - Z * v.Y, Z * v.X - X * v.Z, X * v.Y - Y * v.X); return(prod); }
public eVecteur Unitaire() { Double Lg = Norme; eVecteur prod = new eVecteur( X / Lg, Y / Lg, Z / Lg); return(prod); }
public void Ajouter(eVecteur v) { X += v.X; Y += v.Y; Z += v.Z; }
public ePoint PointDeplacer(eVecteur V) => new ePoint(X + V.X, Y + V.Y, Z + V.Z);
public void Deplacer(eVecteur V) { X += V.X; Y += V.Y; Z += V.Z; }