Esempio n. 1
0
 public fPoint(fPoint a)
 {
     this.x      = a.x;
     this.y      = a.y;
     this.fixate = a.fixate;
     this.index  = a.index;
 }
Esempio n. 2
0
        public int getDistance(fPoint a)
        {
            int fX = Math.Abs((this.x - a.x));
            int fY = Math.Abs((this.y - a.y));

            return((int)Math.Sqrt((fX * fX) + (fY * fY)));
        }
Esempio n. 3
0
        public fPoint MEDIAN(fPoint a, fPoint b)
        {
            int fX = (a.x + b.x) / 2;
            int fY = (a.y + b.y) / 2;

            return(new fPoint(fX, fY, false));
        }
Esempio n. 4
0
        public void Closest()
        {
            int minGlobalDistance = 1000000;

            for (int j = 0; j < field.Count; j++)
            {
                if (field[j].fixate == false)
                {
                    fPoint minPoint    = new fPoint(10000, 10000, false);
                    int    minDistance = 1000000;
                    for (int i = 0; i < field.Count; i++)
                    {
                        if (field[j].getDistance(field[i]) < field[j].getDistance(minPoint) && field[j].getDistance(field[i]) > 0 && field[j].getDistance(minPoint) > 0 && field[i].fixate == false)
                        {
                            minPoint    = new fPoint(field[i]);
                            minDistance = field[j].getDistance(field[i]);
                        }
                    }

                    if (minGlobalDistance > minDistance)
                    {
                        minGlobalDistance = minDistance;
                        ClosestPair[0]    = field[j];
                        ClosestPair[1]    = minPoint;
                    }
                }
            }
        }
Esempio n. 5
0
        public void AddMedian()
        {
            int    index  = ClosestPair[0].drawingIndex;
            fPoint median = MEDIAN(ClosestPair[0], ClosestPair[1]);

            median.drawingIndex = index;

            ADD(median);
        }
Esempio n. 6
0
 private void MouseDownEvent(object sender, MouseEventArgs e)
 {
     GlobalDrawingIndex = 0;
     if (hasDrawn == false)
     {
         drawing = true;
         x       = e.X;
         y       = e.Y;
         fPoint nov = new fPoint(x, y, true); //Fixate first point !
         nov.drawingIndex = GlobalDrawingIndex;
         GlobalDrawingIndex++;
         points.ADD(nov);
         nov.output();
     }
 }
Esempio n. 7
0
        public int findPoint(List <fPoint> points)
        {
            int    minIndex = 0;
            fPoint minPoint = new fPoint(10000, 10000, false);

            for (int i = 0; i < points.Count; i++)
            {
                if (this.a.getDistance(points[i]) < this.a.getDistance(minPoint) && a.getDistance(points[i]) > 0 && a.getDistance(minPoint) > 0)
                {
                    minPoint = new fPoint(points[i]);
                    minIndex = i;
                }
            }

            this.b = new fPoint(minPoint);
            return(minIndex);
        }
Esempio n. 8
0
 private void MouseMoveEvent(object sender, MouseEventArgs e)
 {
     if (hasDrawn == false)
     {
         if (drawing && x != -1 && y != -1)
         {
             g.DrawLine(pen, new Point(x, y), e.Location);
             x          = e.X;
             y          = e.Y;
             coorX.Text = x.ToString();
             coorY.Text = y.ToString();
             fPoint nov = new fPoint(x, y, false); //Do not fixate points inbetween
             nov.drawingIndex = GlobalDrawingIndex;
             GlobalDrawingIndex++;
             points.ADD(nov);
         }
     }
 }
Esempio n. 9
0
        private void MouseUpEvent(object sender, MouseEventArgs e)
        {
            if (guessing == true)
            {
                lbNetwork.Text = "GUESSING...";
            }


            fPoint nov = new fPoint(x, y, true); // Fixate last point !

            nov.drawingIndex = GlobalDrawingIndex;
            GlobalDrawingIndex++;
            points.ADD(nov);
            nov.output();
            hasDrawn = true;
            drawing  = false;
            x        = -1;
            y        = -1;

            int N  = Int32.Parse(vektBox.Text);
            int N2 = N / 2;


            if (points.COUNT() < N || points.COUNT() == N)
            {
                Console.WriteLine("There is not enough points, number of points = " + points.COUNT() + ",  given N = " + N);
                CLEAR();
            }
            else
            {
                Console.WriteLine("Number of points = " + points.COUNT() + ", given N = " + N);

                if (N % 2 != 0) // if N is not even, make it even, by adding 1 to it
                {
                    N++;
                }

                if (training == true)
                {
                    N = Int32.Parse(vektBox.Text);

                    int symbol = Int32.Parse(symBox.Text);

                    VECTORIZE(N2);

                    train.makeExample(vectors, symbol);

                    CLEAR();
                }

                if (guessing == true)
                {
                    string guess = "...";

                    train.GuessingMode();

                    N = train.N;

                    int symbol = Int32.Parse(symBox.Text);

                    VECTORIZE(N2);

                    train.makeGuessingExample(vectors, symbol);

                    List <double> inputVals = new List <double>(), targetVals = new List <double>(), resultVals = new List <double>();

                    train.getTopology();

                    if (train.getNextInputs(inputVals) != train.topology[0])
                    {
                        Console.WriteLine("TOPOLOGY IS NOT EQUAL !!!!");
                    }
                    else
                    {
                        myNet.feedFoward(inputVals);

                        myNet.getResults(resultVals);

                        Console.WriteLine("Pass: "******"Inputs: ", inputVals);
                        showValues("Outputs: ", resultVals);

                        Console.WriteLine();
                    }

                    Console.WriteLine("Done !");

                    guess = getGuess(resultVals);

                    lbNetwork.Text = "MY GUESS IS: " + guess;

                    train.GuessingModeOff();
                }
            }
        }
Esempio n. 10
0
 public Vector(fPoint a)
 {
     this.a = new fPoint(a);
 }
Esempio n. 11
0
 public Vector(fPoint a, fPoint b)
 {
     this.a = new fPoint(a);
     this.b = new fPoint(b);
 }
Esempio n. 12
0
 public void ADD(fPoint point)
 {
     field.Add(point);
 }