kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Visuelle Darstellung einer Matrix

(EN google-translate)

(PL google-translate)

Eine Matrix ist im Quelltext eines Java-Programms ein zwei dimensionales Array.

Man muß bei Java zwischen Deklaration und Initialisierung unterscheiden. Die Deklaration stellt einen Bezeichner bereit, über den auf dahinter stehende Daten zugegriffen werden kann. Wird nur eine Deklaration vorgenommen, so gibt es noch keine Daten. Die Verknüpfung von Bezeichner und Daten erfolgt erst in der Initialisierung. Hier folgen ein paar Beispiele:

//Declare x:
int x;
//Initialize x:
x=7;
//Declare and initialize x at once:
int x=7;


//Declare an integer array of one dimension:
int[] vector;
//Allocate five entities of memory for this variable:
//In Java each entity will be initialized with 0 automatically.
vector = new int[5];
//Declare and initialize a one dimensional array at once:
int[] vector = {2,8,3,4,0};
//alternative syntax:
int[] vector = new int[] {2,8,3,4,0};


//Declare an integer array with two dimensions:
int[][] matrix;
//Allocate five (lines) by four (columns) memory:
matrix = new int[5][4];
//Declare and initialize:
int[][] matrix = {
                     {1,3,3,4},
                     {1,2,8,4},
                     {0,2,3,6},
                     {1,2,9,4},
                     {1,5,3,4}
                 };

//Make up inhomogenous one:
int[][] matrix = int[3][];
for(int i=0;i<matrix.length;i++)
{
    matrix[i] = new int[i+2];
    for(int k=0;k<matrix[i].length;k++)
        matrix[i][k] = k*k;
}
//... same as:
int[][] matrix = {
                     {0,1},
                     {0,1,4},
                     {0,1,4,9}
                 };



Code 0-1: Deklaration und Initialisierung bei Arrays und einfachen Datentypen.

Beispiel

Screenshot of following Processing-on-PC-example.

Bild 0-1: Screenshot of following Processing-on-PC-example.

int[][] matrix = {
                     {0,0,2,0,0},
                     {0,1,1,1,0},
                     {2,1,2,1,2},
                     {0,1,1,1,0},
                     {0,0,2,0,0}
                 };

public void setup()
{
    size(500,500);
    frameRate(1);
}

public void draw()
{
    noStroke();
    for(int i=0;i<matrix.length;i++)
    {
        for(int k=0;k<matrix[i].length;k++)
        {
            if(matrix[i][k]==0)
                fill(0,0,0);
            else if(matrix[i][k]==1)
                fill(0,0,255);
            else
                fill(255,0,0);
                
            rect(k*(width/matrix[i].length),
                 i*(height/matrix.length),
                 width/matrix[i].length,
                 height/matrix.length);    
        }
    }
}

Code 0-2: matrix

matrix.zip -- sketch folder.