private void MyMethod(Image <Rgb, byte> image) // Insert your code here instead of drawing 500 random dots { for (int k = 0; k < 500; ++k) { image[_rand.Next(image.Height), _rand.Next(image.Width)] = new Rgb(GenerateRandomColor()); } // Repaint the frame so the changes to the raster image can be seen _frame.Repaint(); }
// aktualisiert das bild // durchläuft das Statusarray und zeichnet die ensprechenden Pixel // je nach Zustand private void updateColors() { int x = 0; int y = 0; // Gesamtes Array auf empty setzen for (x = 0; x < ImageWidth; x++) { for (y = 0; y < ImageHeight; y++) { switch (state[x, y]) { case eState.empty: _image[y, x] = new Rgb(Color.White); break; case eState.termite: _image[y, x] = new Rgb(Color.Black); break; case eState.wood: _image[y, x] = new Rgb(Color.Brown); break; case eState.termitandwood: _image[y, x] = new Rgb(Color.Red); break; } } } _frame.Repaint(); }
// wenn aktuelles feld weiß ist, dann rot färben - nach links drehen und eins vorwärts // wenn aktuelles feld rot, dann weiß färben - nach rechts drehen und eins vorwärts private void Aufgabe() { flow.StepCount = 1000; for (int iAnt = 0; iAnt < arrAnts.Length; iAnt++) { strAnt = GLabReader.ReadAntFromFile(arrAnts[iAnt]); AnzahlZustaende = strAnt.Length; arrZustand = new int[ImageWidth, ImageHeight]; _image = new Image <Rgb, byte>(ImageWidth, ImageHeight, new Rgb(Color.White)); _frame.SetImage(_image); ant1.iZustand = 0; ant1.iCurrX = (ImageWidth - 1) / 2; ant1.iCurrY = (ImageHeight - 1) / 2; for (int i = 0; i < 10000000; i++) { if (i % 1000 == 0) { _frame.Repaint(); Logger.Instance.LogInfo("" + i); } //for (Int64 ix = 0; ix < 10000; ix++) { } flow.Wait(); ant1 = doStep(ant1); ant2 = doStep(ant2); } } }
// private void Aufgabe(Vector3 vecAlt) { // Startpunkt in der Mitte des Koordinatensystem Color colorPaint = GenerateRandomColor(); int i = 0; do { // Punkt zeichnen _painter.PaintPoint(vecAlt, colorPaint); // neue Zufallsfarbe if (i % 500 == 0) { colorPaint = GenerateRandomColor(); //colorPaint = Color.Green; _frame.Repaint(); } // Zufälliges Matrix anwenden Vector3 vecNeu = Vector3.Transform(vecAlt, getRandTransfMatrix()); vecAlt = vecNeu; i++; } while (i < 100000); _frame.Refresh(); }
private void Aufgabe() { // Zweidimensionales Array erstellen int[,] iMatrix = new int[257, 256]; int p1 = 0; int p2 = 0; String ausgabe = ""; // Erste Zeile des Array belegen iMatrix[1, 0] = 1; // Array Zeilenweise durchlaufen for (int iY = 1; iY < iMatrix.GetLength(1); iY++) { // Array ab der zweiten Spalte durchlaufen for (int iX = 1; iX < iMatrix.GetLength(0); iX++) { p1 = iMatrix[iX - 1, iY - 1]; p2 = iMatrix[iX, iY - 1]; // HIER ÄNDERN ---------- iMatrix[iX, iY] = (p1 + p2) % 3; ausgabe += iMatrix[iX, iY]; } Logger.Instance.LogInfo(ausgabe + "\n"); ausgabe = ""; } for (int iY = 0; iY < iMatrix.GetLength(1); iY++) { // Array ab der zweiten Spalte durchlaufen for (int iX = 1; iX < iMatrix.GetLength(0); iX++) { // wenn die Zahl in der Matrix ungerade ist if (iMatrix[iX, iY] != 0) { _painter.PaintPoint(new Vector2(iX - 1, Math.Abs(iY - ImageHeight)), Color.Red); } } } _frame.Repaint(); }
private void Aufgabe() { int iVergleich; int iAnzFarben = _palette.Count; // Array Zeilenweise durchlaufen for (int iY = 0; iY < ImageHeight; iY++) { // Array ab der zweiten Spalte durchlaufen for (int iX = 0; iX < ImageWidth; iX++) { int i1, i2; i1 = iY; i2 = iX; i1 = (i1 >> 1) ^ iY; i2 = (i2 >> 1) ^ iX; // Bitweise verknüpfen und zuweisen //iVergleich = (int)(iY & iX); iVergleich = (int)(i1 & i2); //// Wenn der Vergleich 0 ergibt if (iVergleich == 0) { //_palette[iVergleich % iAnzFarben]; // roten Punkt zeichnen drawMyDot(iX, iY, Color.Red); } //else //{ // drawMyDot(iX, iY, _palette[iVergleich % iAnzFarben]); //} } } _frame.Repaint(); }
public override void Setup() { // Init. a new random number generator _rand = new Random(); // Create a new raster image for drawing _image = new Image <Rgb, byte>(ImageWidth, ImageHeight, new Rgb(Color.Red)); // Painter initialisieren _painter = new Painter(ref _image); // Create a new frame to display the raster image _frame = new FrmImage(Name, _image, DisplayMode.Zoomable) { InterpolationMode = InterpolationMode.NearestNeighbor, SmoothingMode = SmoothingMode.None }; _frame.SetImage(_image); // Register the click event handler _frame.PictureBox.MouseClick += DrawDot; //Inform user about possibility to draw dots with the mouse Logger.Instance.LogInfo(""); // rekursive Funkiton paintRectBlack(new Vector2(0, 0), new Vector2(ImageWidth, ImageHeight), 1); _frame.Repaint(); // MyMethod: draw some random dots to get started // MyMethod(_image); // Register this plugin as a GUI extension GLabController.Instance.RegisterExtension(this); // Additional setup of your plugin // ... }
// private void Aufgabe() { Vector3 vecAlt; // Startpunkt in der Mitte des Koordinatensystem Color colorPaint = GenerateRandomColor(); int iRow = 0; int iCol = 0; Microsoft.Xna.Framework.Matrix matTransform; // alle Zeilen durchlaufen do { iCol = 0; // alle Spalten durchlaufen do { // Zähler int i = 0; bool bExitDo = false; // Punkt im Koordinatensystem ermitteln vecAlt = getPointAsVector(iRow, iCol); // 15x iterieren do { // Transformationsmatrix ermitteln matTransform = getTransMatrixForPoint(vecAlt); // Punkt transformieren vecAlt = Vector3.Transform(vecAlt, matTransform); // wenn der Punkt divergiert if ((vecAlt.X * vecAlt.X + vecAlt.Y * vecAlt.Y) > 100000.0) { if (i % 2 == 1) { colorPaint = Color.Red; } else { colorPaint = Color.Green; } bExitDo = true; break; } } while ((i++) < 15); // Wenn die Schleife nicht vorzeitig verlassen wurde, // also der Punkt nicht divergiert, den Punkt zeichnen if (bExitDo == false) { colorPaint = Color.Black; } // aktuellen Punkt zeichnen _painter.PaintPoint(getPointAsVector(iRow, iCol), colorPaint); } while ((iCol++) < ImageWidth); _frame.Repaint(); //// Punkt zeichnen //_painter.PaintPoint(vecAlt, colorPaint); //// neue Zufallsfarbe //if (i % 500 == 0) //{ // colorPaint = GenerateRandomColor(); // //colorPaint = Color.Green; // _frame.Repaint(); //} //// Zufälliges Matrix anwenden //Vector3 vecNeu = Vector3.Transform(vecAlt, getRandTransfMatrix()); //vecAlt = vecNeu; } while ((iRow++) < ImageHeight); _frame.Refresh(); }