vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

C# Ecke
Re: graph. Darstellung Bin-Packing/Stock-Cutting 
Autor: Melkor
Datum: 03.07.08 08:45

Folgender Code könnte ein Anfang sein. Zuerst brauchst du irgendwelche Strukturen für die Daten.

namespace csBinPacking
{
    public partial class Form1 : Form
    {
        public struct bin
        {
            public bin(Size sz)
            {
                dim = sz;
                content = new List<box>();
            }
            public Size dim;
            public List<box> content;
        }
 
        public struct box
        {
            public box(Size sz)
            {
                dim = sz;
                pos = new Point(0, 0);
            }
 
            public Point pos;
            public Size dim;
        }
 
        public List<bin> bins = new List<bin>();
        public List<box> boxes = new List<box>();
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // init bins
            for (int i = 0; i<2; i++) bins.Add(new bin(new Size(50,50)));
 
            // Temp etwas in ersten Bin reinpacken (um etwas zeichnen zu können)
            box b = new box(new Size(10, 10));
            b.pos = new Point(7, 7); // Temp!
            bins[0].content.Add(b);
 
            b = new box(new Size(15, 15));
            b.pos = new Point(18, 7); // Temp!
            bins[0].content.Add(b); 
        }
 
        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Point binPosition = new Point(10, 10);
            bin currentBin = bins[0];
 
            //foreach(bin currentBin in bins)
            //{
            // Bin zeichnen
            e.Graphics.DrawRectangle(Pens.Black, new Rectangle(binPosition, _
              currentBin.dim));
 
            // Boxes zeichnen
            foreach (box currentBox in currentBin.content)
            { 
                Point boxPosition = currentBox.pos;
                boxPosition.Offset(binPosition);
                e.Graphics.DrawRectangle(Pens.Red, new Rectangle(boxPosition, _
                  currentBox.dim));
            }
 
            // binPosition setzen
            //}
        }
    }
}

Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov

Beitrag wurde zuletzt am 03.07.08 um 08:51:27 editiert.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
graph. Darstellung Bin-Packing/Stock-Cutting1.923silent-bob02.07.08 23:15
Re: graph. Darstellung Bin-Packing/Stock-Cutting954Melkor03.07.08 08:45
Re: graph. Darstellung Bin-Packing/Stock-Cutting954silent-bob03.07.08 14:23

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel