Beispiel #1
0
        private void DisplayColor(PictureBox box, FormeType formeType = FormeType.Rectangle)
        {
            Graphics g       = box.CreateGraphics();
            int      factorX = (int)box.Width / kohonen.X;
            int      factorY = (int)box.Height / kohonen.Y;

            double[][] cibles = ObtenirCibles();
            // recalcule les couleurs
            foreach (KohonenNeurone neurone in kohonen.Grille)
            {
                if (neurone.Couleur == Color.Transparent)
                {
                    kohonen.CalculerCouleurDepuisPoids(neurone, cibles);
                }

                Brush brush = new SolidBrush(neurone.Couleur);
                Pen   pen   = new Pen(Color.Black, 2);

                if (formeType == FormeType.Rectangle)
                {
                    Rectangle rectangle = new Rectangle(factorX * neurone.X, factorY * neurone.Y, factorX, factorY);
                    g.FillRectangle(brush, rectangle);
                    g.DrawRectangle(pen, rectangle);
                }
                else
                {
                    // inspiré de :
                    // http://www.codeproject.com/Articles/14948/Hexagonal-grid-for-games-and-other-projects-Part
                    // mais les données sont a et b dans notre cas
                }
            }
        }
Beispiel #2
0
        private void DisplayColor(PictureBox box, FormeType formeType = FormeType.Rectangle)
        {
            Graphics g = box.CreateGraphics();
            int factorX = (int)box.Width / kohonen.X;
            int factorY = (int)box.Height / kohonen.Y;

            double[][] cibles = ObtenirCibles();
            // recalcule les couleurs
            foreach (KohonenNeurone neurone in kohonen.Grille)
            {
                if (neurone.Couleur == Color.Transparent)
                {
                    kohonen.CalculerCouleurDepuisPoids(neurone, cibles);
                }

                Brush brush = new SolidBrush(neurone.Couleur);
                Pen pen = new Pen(Color.Black, 2);

                if (formeType == FormeType.Rectangle)
                {
                    Rectangle rectangle = new Rectangle(factorX * neurone.X, factorY * neurone.Y, factorX, factorY);
                    g.FillRectangle(brush, rectangle);
                    g.DrawRectangle(pen, rectangle);
                }
                else
                {
                    // inspiré de :
                    // http://www.codeproject.com/Articles/14948/Hexagonal-grid-for-games-and-other-projects-Part
                    // mais les données sont a et b dans notre cas
                }
            }
        }