コード例 #1
0
        public Double Distance(gSegment s)
        {
            gVecteur ba = new gVecteur(s.Start, this);
            gVecteur u  = s.Vecteur;

            return(ba.Vectoriel(u).Norme / u.Norme);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        public void OrienterVers(gSegment s)
        {
            Double d1 = Start.Distance(s);
            Double d2 = End.Distance(s);

            if (d1 < d2)
            {
                Inverser();
            }
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        public Boolean Compare(Edge e, Double arrondi)
        {
            gSegment s = new gSegment(e);

            return(Compare(s, arrondi));
        }