[Verarbeitung × Java] Verwendung von Schleife 2 --- verschachtelte Struktur, Koordinatenkonvertierung

Dieser Artikel dient zum Verständnis der Struktur des Programms durch Verarbeitung. Dieses Mal werde ich etwas mehr über Loops schreiben.

スクリーンショット 2020-07-03 16.03.55.png

Inhaltsverzeichnis 0.for Schleife

0.for Schleife

0-0. ** für Schleifen- und Koordinatenkonvertierung **

In der Verarbeitung können Sie "** Referenzpunkt beim Zeichnen einer Figur " und " Koordinaten selbst **" nach Ihren Wünschen anpassen. Zu diesem Zeitpunkt wird die for-Schleife häufig zusammen verwendet. Im Folgenden werde ich über die Koordinatenkonvertierung mit der for-Schleife schreiben.

◯ Programm zum Verschieben des Referenzpunkts von "Abbildung"

for00.java


size(500,500);
background(255);
//Machen Sie es möglich, eine Figur basierend auf der Mitte des Vierecks zu zeichnen.
rectMode(CENTER);

//5 mal wiederholen(i = 0,1,2,3,4)
for(int i = 0;i < 5;i++){
  //Definieren Sie eine Variable vom Typ int, die die Größe der Seiten des Vierecks darstellt.
  int s = 400 -i * 80;
  
  noFill();
  stroke(115,237,201);
  //Bestimmen Sie die Dicke des Randes
  strokeWeight(3);
  //Das Zentrum ist(width/2,height/2)Zeichnen Sie dann ein Quadrat mit s Seiten.
  rect(width/2,height/2,s,s);
}

rect0.png

Point : rectMode(CENTER) Sie können damit eine Figur relativ zur Mitte des Quadrats zeichnen. (Der Standardreferenzpunkt ist die obere linke Ecke des Quadrats.)

◯ Ein Programm, das den Referenzpunkt von "Koordinaten" verschiebt.

Das folgende Programm verwendet translate (), um den Mittelpunkt der Koordinaten auf (width / 2, height / 2) zu verschieben. Mit anderen Worten, die Koordinaten der Bildschirmmitte (Verarbeitungsfenster) sind jetzt (0,0).

for01.java


size(500,500);
background(255);
//Referenzpunkt der Koordinaten(Ursprung)Die Mitte des Bildschirms(width/2,height/2)Verschiebung
translate(width/2,height/2);

//3 mal wiederholen
for(int i = 0;i < 3;i++){
  //TWO_PI/6 =60 Grad, drehen Sie jede Schleife
  rotate(TWO_PI/6);
  noFill();
  stroke(12,232,178);
  //Die Mitte des Bildschirms(0,0)Damit...
  ellipse(0,0,150,375);
}

for00.png

Point : translate(); Eine Funktion zum Verschieben des Referenzpunkts von Koordinaten. Diesmal wurde der Referenzpunkt in die Mitte des Bildschirms verschoben.

Point : rotate(); Drehen Sie um den Referenzpunkt der Koordinaten. Dieses Mal befindet sich der Referenzpunkt in der Mitte des Bildschirms, also habe ich mich darum gedreht. Argumente werden mit ** PI ** und ** TWO_PI ** angegeben.

Point : TWO_PI 2π = 360 Grad Der Winkel wird durch die Länge des Bogens in einer Form ausgedrückt, die als Bogenmaß bezeichnet wird. Der Umfang eines Einheitskreises mit einem Radius von 1 beträgt 2 * π = 2π. Der Bogen 2π des Einheitskreises ist der Winkel eines Kreisumfangs = 360 Grad.

0-1. ** für Schleife und verschachtelte Struktur **

◯ Doppelt verschachteltes Programm

for02.java


size(510,510);
background(255);
stroke(12,232,178);

//Wiederholen Sie die horizontale Bewegung 5 Mal(i = 10,110,210,310,410)
for(int i = 10;i < width;i += 100){
  //Wiederholen Sie die vertikale Bewegung fünfmal(j = 10,110,210,310,410)
  for(int j = 10;j < height;j += 100){
    fill(12,232,178,255-i * 0.5);
    rect(i,j,80,80);
  }
}

for03.png

** Punkt **: Programmausführungsreihenfolge

Bei diesem Programm wird es in der Reihenfolge von der linken Spalte (von oben) ausgeführt.

Mit anderen Worten ** Wenn i = 10 ** ・ J = 10: Ausführen ・ J = 110: Ausführen ・ J = 210: Ausführen ・ J = 310: Ausführen ・ J = 410: Ausführen ** Wenn i = 110 ** ・ J = 10: Ausführen ・ J = 110: Ausführen ・ J = 210: Ausführen ・ J = 310: Ausführen ・ J = 410: Ausführen ** Wenn i = 210 **     :

◯ Doppelt verschachteltes Programm (Animation)

draw.java


//Ich möchte die Farbe ändern, also bereite die Variable c vor
int c = 0;

void setup(){
  size(510,510);
}

//Verschieben Sie die Variable schrittweise c.
void draw(){
  //Wiederholen Sie die horizontale Bewegung 500 Mal(i = 0,1,2...508,509)
  for(int i = 0;i < width;i ++){
    //Wiederholen Sie die vertikale Bewegung 500 Mal(j = 0,1,2...508,509)
    for(int j = 0;j < height;j ++){
      stroke(c,255-j/2,i/2);
      //Zeichnen Sie einen 1-Pixel-Punkt
      point(i,j);
    }
  }
  //Ändern Sie allmählich die Farbe
  c += 10;
  //Farben exportieren
  println(c);
  //Wenn der Wert der Variablen c 255 überschreitet
  if(c > 255){
    //Setzen Sie c auf 0
    c = 0;
  }
}
//Läuft nur einmal, wenn die Maus gedrückt wird
void mousePressed(){
  //Speichern Sie das Fenster, wenn Sie die Maus im PNG-Format drücken
  save("draw"+ c +".png ");
  //Ausgabe, dass das Bild gespeichert wurde
  println("picture is saved.");
}

draw220.png

スクリーンショット 2020-07-03 21.45.21.png

Point :save() Bilder können gespeichert werden. Schreiben Sie den Namen und das Speicherformat in "", z. B. save ("~ .png "); Sie können das gespeicherte Bild überprüfen, indem Sie in der Menüleiste unter [Skizze] die Option [Skizzenordner öffnen] auswählen.

◯ Dreifach verschachteltes Programm

for03.java


size(510,510);
background(255);
noFill();
stroke(12,232,178);
//Sie können anhand der Mitte des Quadrats zeichnen
rectMode(CENTER);

//5 mal wiederholen(i = 55,155,255,355,455)
for(int i = 55;i < width;i += 100){
  //5 mal wiederholen(j = 55,155,255,355,455)
  for(int j = 55;j < height;j += 100){
    //4 mal wiederholen(s = 10,30,50,70)Dies vervollständigt einen quadratischen Abschnitt.
    for(int s = 10;s < 90;s += 20){
      //Koordinate(i,j)Zeichnen Sie dann ein Quadrat mit einer Seitengröße von s
      rect(i,j,s,s);
    }
  }
}

for.png

Point : ** Eine Masse von vier Quadraten unterschiedlicher Größe ** wie Matroschka

for(int s = 10;s < 90;s += 20){
      rect(,,s,s);
    }

Teil von.

Ordnen Sie diese Stücke an (wie in der Doppelschleife).

Schließlich

Danke fürs Lesen. Wir freuen uns über Ihre Meinungen und Vorschläge, um den Artikel noch besser zu machen.

Recommended Posts

[Verarbeitung × Java] Verwendung von Schleife 2 --- verschachtelte Struktur, Koordinatenkonvertierung
[Verarbeitung × Java] Verwendung der Schleife
[Verarbeitung × Java] Verwendung von Variablen
[Verarbeitung × Java] Verwendung von Arrays
[Verarbeitung × Java] Verwendung der Klasse
[Verarbeitung × Java] Verwendung der Funktion
[Java] Verwendung von Map
Verwendung von Java Optional
Verwendung der Java-Klasse
[Java] Verwendung von removeAll ()
Verwendung von Java Map
Verwendung von Java-Variablen
Verwendung von HttpClient (Get) von Java
[Java] Verwendung der Join-Methode
[JavaFX] [Java8] Verwendung von GridPane
Verwendung von Klassenmethoden [Java]
[Java] Verwendung von List [ArrayList]
Wie verwende ich Klassen in Java?
Verwendung von Java-Lambda-Ausdrücken
[Java] Verwendung der Math-Klasse
Verwendung des Java-Aufzählungstyps
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
[Java] Verwendung der File-Klasse
Verwendung der Submit-Methode (Java Silver)
So führen Sie eine Basiskonvertierung in Java durch
[Leicht verständliche Erklärung! ] Verwendung der Java-Instanz
[Java] Verwendung der toString () -Methode
Studieren der Verwendung des Konstruktors (Java)
Verwendung und Definition von Java-Klassen, Importieren
[Leicht verständliche Erklärung! ] Verwendung des Java-Polymorphismus
[Java] [Maven3] Zusammenfassung der Verwendung von Maven3
Verwendung der Java Scanner-Klasse (Hinweis)
[Leicht verständliche Erklärung! ] Verwendung von ArrayList [Java]
[Java] Verwendung der Calendar-Klasse
[Java] Erfahren Sie, wie Sie Optional richtig verwenden
[Leicht verständliche Erklärung! ] Verwendung von Java-Überladung
try-catch-finally Ausnahmebehandlung Verwendung von Java
[Leicht verständliche Erklärung! ] Verwendung der Java-Kapselung
[Java] Beachten Sie, wie Sie RecyclerView verwenden und die animierte Swipe-Verarbeitung implementieren.
[Java] Verwendung der FileReader-Klasse und der BufferedReader-Klasse
Verwendung der Java-API mit Lambda-Ausdrücken
[Leicht verständliche Erklärung! ] Verwendung der Java-Vererbung [Erklärung überschreiben]
Verwendung der replace () -Methode (Java Silver)
Verwendung der Scope- und Pass-Verarbeitung (Servist)
Verwendung des LOG Java Producer von Alibaba Cloud
[Java] Verwendung der Kalenderklasse und der Datumsklasse
Verwendung von Map
Wie benutzt man rbenv?
Verwendung mit_option
Verwendung von fields_for
Verwendung von java.util.logging
Verwendung der Karte
Verwendung von collection_select