Arrays nach best Muster füllen

E

Eichelhäer

Bekanntes Mitglied
Hallo,

ich möchte ein eindimensionales float Array beliebiger Größe folgendermaßen füllen:

Code:
float[] vertices = {
                0f, 0f, 0f,//v0
                0f, -scl, 0f,//v1
                scl/2, 0f, 0f,//v2
                scl/2, -scl, 0f,//v3
                scl, 0f, 0f,//v4
                scl, -scl, 0f,//v5
                scl+scl/2, 0f, 0f,//v6
                scl+scl/2, -scl, 0f,//v7
                scl+scl, 0f, 0f,//v8
                scl+scl, -scl, 0f,//v9 28
                scl+scl+scl/2, 0f, 0f,//v10
                scl+scl+scl/2, -scl, 0f,//v11

Man kann nach einiger Betrachtung erkennen, dass es gewisse Regelmäßigkeiten gibt.
Zum einen sind jeweils paarweise die ersten beiden Zeilenwerte in halben Abständen stets gleich groß.
Zum anderen wiederholt sich -scl in der zweiten Spalte stets regelmäßig.

Das ganze dient dem Zweck letzten Endes ein 3 dimensionales Grid zu erstellen und ich möchte erstmal NICHT davon abkommen, da es via harcoding (also alle einträge von Hand - ein HAUFEN Arbeit) funktioniert. Und das meine ich mit Transformationen, Camera etc. .

Mir geht es jetzt nur darum mit meiner gefundenen Regelmäßigkeit das Array so zu füllen, dass mir die richtigen Werte mit einfachen Schleifendurchlauf über das Array ausgegeben werden.

Außerdem habe ich sowas noch nie gemacht mein Ansatz bezüglich obiger Daten ist folgender:

Java:
       int width = 12;
        int height = 3;
        System.out.println("original");
        for(int x = 0;x<vertices.length;x++) {
            System.out.print(vertices[x]+" , ");
        }
          
        System.out.println();
        System.out.println("eindimensional");
        float firstcounter = 0;    //Die beiden counter nehme ich zu speichern der letzten Werte
        float secondcounter = 0;
        float[] verticess = new float[width*height];
      
        for(int x = 0;x<width;x++) {
            for(int y = 0;y<height;y++) {
                if(y==0) {
                    if(x==0||x==1) {
                        verticess[y+x*width]=0.0f;
                    }
                    else if(x%2==0) {
                        firstcounter+=scl/2;
                        verticess[y+x*width]+=(float)(((int)(firstcounter*10)/10.0f));
                    }
                    else if(x%2==1) {
                        secondcounter+=scl/2;
                        verticess[y+x*width]+=(float)(((int)(secondcounter*10)/10.0f));
                    }
                }
                if(y==1) {
                    if(x%2==1) {
                        verticess[y+x*width]=-scl;
                    }
                }
                if(y==2) {
                  
                }
                System.out.print(verticess[y+x*width]+" , ");
            }
        }
       
        for(int x = 0;x<vertices.length;x++) {
            System.out.print(vertices[x]+" , ");
        }
 
Zuletzt bearbeitet von einem Moderator:
E

Eichelhäer

Bekanntes Mitglied
Sry, hab aus Unwissenheit auf irgendwas mit Thema erstellen geklickt^^.

Dort wo Font etc steht lasse ich mir das erstellte Array einfach ausgeben in etwa so:

Java:
for(int x = 0;x<verticess.length;x++) {
            System.out.print(verticess[x]+" , ");
        }

Das problematisch kommt aber noch, es sollten nach Ende einer Zeile das -scl mit der Zeilenzahl multipliziert werden um letztendlich ein mindestens Quadratisches Terrain zu erhalten.

Wäre für Unterstützung dankbar. Gruß Eichelhäer
 
Blender3D

Blender3D

Top Contributor
Meinst du so etwas ?

Java:
public static float[] getTripleFactors(float scl, int num) {
        float[] values = new float[num * 3];
        int cnt = 0;
        float[] val = new float[2];
        for (int i = 0; i < values.length; i += 3) {
            values[i] = val[0];
            values[i + 1] = val[1];
            values[i + 2] = 0;
            cnt++;
            if (cnt % 2 == 0)
                val[0] += scl / 2;
            val[1] = cnt % 2 == 0 ? 0 : -scl;
        }
        return values;
    }
Java:
    float[] values = getTripleFactors(4, 10);
        for (int i = 0; i < values.length; i += 3) {
            System.out.print(values[i]);
            System.out.print("\t" + values[i + 1]);
            System.out.println("\t" + values[i + 2]);
        }
 
E

Eichelhäer

Bekanntes Mitglied
Ja genau. Ich habs eben grad selbst anders hinbekommen so wie ich es wollte und es funzt. Danke trotzdem.^^
 
E

Eichelhäer

Bekanntes Mitglied
Hallo nochmal,

ich muss mich leider nochmal melden. Ich versuch ein regelmäßiges Grid zu erzeugen in der x-z-Ebene.
Das Array wird zwar mit Daten gefüllt, aber wie sage ich wenn eine neue Zeile meines Grids erzeugt werden soll?
Ist das einfach wenn x einen bestimmten Wert erreicht hat oder macht man das anders, denn eine neue Zeile hat ja je nach dem größere bzw. kleinere (hier) z-Werte?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O zwei Arrays nach Werten durchsuchen und zusammenfügen Java Basics - Anfänger-Themen 3
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
K Sortierung eines int-Arrays von groß nach klein Java Basics - Anfänger-Themen 3
S Von byte[] nach String zurueck nach byte[]. Arrays sind nicht identisch :( Java Basics - Anfänger-Themen 6
D Eine Stelle eines Char- Arrays nach dem vorkommen in einem ganzem anderem Array überprüfen Java Basics - Anfänger-Themen 20
M ungerade zahlen eines arrays nach hinten tauschen Java Basics - Anfänger-Themen 13
J Arrayliste (gefüllte mit arrays) nach datum sortieren Java Basics - Anfänger-Themen 3
B Sortieren von Objekt Arrays nach einer Instanz Java Basics - Anfänger-Themen 8
S Arrays nach String kovertieren und sortieren Java Basics - Anfänger-Themen 4
G Sortierung eines Arrays nach mehreren Kriterien Java Basics - Anfänger-Themen 6
G zwei Arrays nach gemeinsamme Elemente suchen? Java Basics - Anfänger-Themen 19
H Arrays nach Wert durchsuchen Java Basics - Anfänger-Themen 15
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
C Arrays - deklarieren, initialisieren? Ist das ein Objekt? Java Basics - Anfänger-Themen 3
K Sudoku mit 2D Arrays Java Basics - Anfänger-Themen 19
T Vertikales Histogramm mit Arrays Java Basics - Anfänger-Themen 3
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
F Arrays: Mathematische Funktion Java Basics - Anfänger-Themen 19
mihe7 Von Datentypen und (mehrdimensionalen) Arrays Java Basics - Anfänger-Themen 4
A Teilen eines Arrays Java Basics - Anfänger-Themen 5
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
L If und else bei 2 Dimensionalen Arrays Java Basics - Anfänger-Themen 8
1 Arrays Java Basics - Anfänger-Themen 7
M Rückgabe eines Arrays Java Basics - Anfänger-Themen 10
L Addition von Arrays über die Parameterliste Java Basics - Anfänger-Themen 11
Z Erste Schritte Indexe innerhalb eines Arrays zusammensählen Java Basics - Anfänger-Themen 14
N Länge eines Arrays in einem Objekt testen Java Basics - Anfänger-Themen 51
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20
D Collections Arrays in ArrayList abspeichern Java Basics - Anfänger-Themen 6
A Freie Stelle eines Arrays Java Basics - Anfänger-Themen 17
H Ein gegebenes Int Array zu Zwei Arrays zurück geben Java Basics - Anfänger-Themen 6
J 2D Arrays summieren Java Basics - Anfänger-Themen 21
J zwei String Arrays miteinander vergleichen Java Basics - Anfänger-Themen 18
A Java.util.Arrays Java Basics - Anfänger-Themen 15
T Methodenverknüpfung mit Arrays Java Basics - Anfänger-Themen 4
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
F Eine Zahl mit Arrays vergleichen Java Basics - Anfänger-Themen 7
A 2d Arrays aus txt.file einlesen Java Basics - Anfänger-Themen 16
B Arrays Java Basics - Anfänger-Themen 4
P Arrays "automatisch" erstellen lassen Java Basics - Anfänger-Themen 12
B Nur eine bestimmte Anzahl an Arrays ausgeben Java Basics - Anfänger-Themen 9
H Gemeinsame Schnittmenge zweier Arrays ausgeben Java Basics - Anfänger-Themen 12
H Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben Java Basics - Anfänger-Themen 9
A Summe des Arrays pd mit alternativer Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Verständnisproblem der Rekursion bei Arrays Java Basics - Anfänger-Themen 8
F Mehrdimensionale Arrays Java Basics - Anfänger-Themen 12
M Arrays in Funktion Kopieren und Bearbeiten Java Basics - Anfänger-Themen 4
W Erste Schritte Arrays befüllen und ausgeben Java Basics - Anfänger-Themen 11
J Inhalte von zwei Arrays vertauschen?! Java Basics - Anfänger-Themen 6
Curtis_MC Erzeugung mehrdimensionaler Arrays Java Basics - Anfänger-Themen 2
F Arbeiten mit Arrays Java Basics - Anfänger-Themen 2
D Wert des Arrays unter Bedingungen ändern Java Basics - Anfänger-Themen 1
M Werte des Arrays addieren Java Basics - Anfänger-Themen 5
L Zufällige Übereinstimmungen in 2 Arrays Java Basics - Anfänger-Themen 3
A Arrays kombinieren (länge eines Arrays kann 0 sein) Java Basics - Anfänger-Themen 6
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
iman Variablen Dynamik Arrays Java Basics - Anfänger-Themen 9
R Arrays Java Basics - Anfänger-Themen 4
A Methoden Arrays Java Basics - Anfänger-Themen 20
D Unterschied == und equals in Arrays Java Basics - Anfänger-Themen 2
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
S Arrays erstellen Java Basics - Anfänger-Themen 6
D Ergebnisse in Arrays ausgeben? Java Basics - Anfänger-Themen 11
M Die Inhalte eines Arrays mit der Methode Arrays.toString ausgeben Java Basics - Anfänger-Themen 4
R Weitergabe von Arrays aus Methoden in andere Klasse Java Basics - Anfänger-Themen 5
scratchy1 vollständige und unvollständige Arrays ausgeben Java Basics - Anfänger-Themen 11
L Tiefe Kopie einer Zeile eines zweidimensionalen Arrays Java Basics - Anfänger-Themen 1
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
L Addition von 1 bis n, in Arrays umstellen Java Basics - Anfänger-Themen 15
M Deklarieren und Initialisieren von Arrays Java Basics - Anfänger-Themen 3
O Arrays sortieren in einer Methode Java Basics - Anfänger-Themen 2
E Mehrere Arrays addieren mit Übertrag Java Basics - Anfänger-Themen 13
B Frage zu Arrays Java Basics - Anfänger-Themen 3
O Unterschied Arrays, Listen, Mengen Java Basics - Anfänger-Themen 24
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
E Methoden 2 Arrays sortieren (MergeSort) Java Basics - Anfänger-Themen 3
R 2D Arrays mit vorgegebenem Muster Java Basics - Anfänger-Themen 2
R Auf eine Stelle [i] des Arrays zugreifen Java Basics - Anfänger-Themen 7
M Methoden Arrays.deepequals() funktioniert nicht Java Basics - Anfänger-Themen 2
O Länge eines Arrays Java Basics - Anfänger-Themen 6
X Arrays untereinander schreiben Java Basics - Anfänger-Themen 4
F Arrays Duplizieren Java Basics - Anfänger-Themen 14
J Erste Schritte Arrays ineinander Verschachteln Java Basics - Anfänger-Themen 6
UnknownInnocent Variablen Teile eines Arrays zufällig sortieren Java Basics - Anfänger-Themen 7
L Bestimmte Werte eines Arrays ausgeben. Java Basics - Anfänger-Themen 3
P JButton -Arrays Java Basics - Anfänger-Themen 4
Kornblume Nulltyp eines Arrays von Objekten? Java Basics - Anfänger-Themen 10
S Doppel For Schleife mit Arrays - Problem bei der Ausgabe Java Basics - Anfänger-Themen 4
I Scanner und Arrays Java Basics - Anfänger-Themen 2
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3
A Best Practice Undefinierte länge bei arrays Java Basics - Anfänger-Themen 4
I bestimmten Wert eines Arrays Java Basics - Anfänger-Themen 23
J Funktionsaufrufe Multiplikation von Arrays Java Basics - Anfänger-Themen 3
M Arrays auf Konsole formatiert ausgeben Java Basics - Anfänger-Themen 7
Z Ersten Buchstaben eines Elements eines String-Arrays auslesen Java Basics - Anfänger-Themen 5
javajoshi Problem mit zwei Threads und Arrays (Runnable) Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Anzeige

Neue Themen


Oben