Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung 3 28.10.99 -Arrays-

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung 3 28.10.99 -Arrays-"—  Präsentation transkript:

1 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Arrays-

2 2 Übersicht Arrays (am Beispiel von Java) Unterschiede in der Verwendung primitiver Datentypen/Arrays Arrays - beachte Zugriff Beispiele –Skalarprodukt –Multiplikation von Matrizen Punkte als Arrays Transformationen Homogene Koordinaten –Transformationen

3 3 Arrays (am Beispiel von Java) Unterscheidungen primitive Datentypen: –booleancharbyteshortintlong float Byte –Größe steht von vorneherein fest Referenztypen –Arrays –Strings –Objekte –Größe erst zur Laufzeit bekannt

4 4 Unterschiede in der Verwendung primitiver Typen / Arrays Primitive Typen int i, j; // Deklaration i = 0; // Initialisierung j = 1; oder: int i = 0, j = 1; /* Deklaration und Initialisierung gleichzeitig */ Arrays int a[], b[];// int - Array float v[], w[];// float- Array float m1[][];// float - Matrix a = new int[5];// Erzeugung w = new float[3]; m1 = new float[3][3]; oder: int b[] = {1,2,3,4,5}; /* Deklaration, Erzeugung und Initialisierung gleichzeitig */

5 5 Arrays - beachte: 3 Schritte –Deklarieren –Erzeugen (Instanz bilden, Instanziieren) –Initialisierungen Im Unterschied zu Pascal –die Größe n des Arrays wird erst zum Zeitpunkt der Erzeugung (new double[3] ) festgelegt Die Indizierung läuft von 0... n - 1 0n -1

6 6 Zugriff int a[][] = new int[2][3]; a[0][0] = 1; a[0][1] = 2; a[0][2] = 3; a[1][0] = 4; a[1][1] = 5; a[1][2] = 6;

7 7 Beispiel: Skalarprodukt int v[], w[]; v = {1,2,3}; w = {4,5,6}; int iprod = 0; for (int i = 0; i < 3; i++) iprod = iprod + v[i] * w[i]; for-Schleife for(init; test; update) i++ i = i + 1

8 8 = c[i,k]= a[i,j]*b[j,k] Beispiel: Multiplikation von Matrizen

9 9 float a[][], b[][], c[][];.. float c[][] = {{0,0,0}, {0,0,0}, {0,0,0}}; for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) for (int k = 0; k < 3; k++) c[i][j] = c[i][j] + a[i][k] * b[k][j]; Beispiel: Multiplikation von Matrizen

10 10 P x y Punkte als Arrays

11 11 Verschiebung (Translation) P x y

12 12 P´ Verschiebung (Translation) P x y

13 13 Verschiebung (Translation) P´ P x y

14 14 P Drehung (um den Ursprung) x y

15 15 P´ Drehung (um den Ursprung) P x y

16 16 Drehung (um den Ursprung) P´ P x y

17 Scherung (Zoom in, Zoom out) P x y

18 P´ Scherung (Zoom in, Zoom out) x y

19 19 P homogene Koordinaten Homogene Koordinaten x y

20 20 Translation in homogenen Koordinaten P´ P x y

21 21 Translation in homogenen Koordinaten P´ P x y

22 22 Drehung in homogenen Koordinaten P´ P x y

23 23 P´ P x y Drehung in homogenen Koordinaten

24 24 Scherung in homogenen Koordinaten P´ x y

25 25 Scherung in homogenen Koordinaten P´ x y

26 Homogene Koordinaten Repräsentation in homogenen Koordinaten führt zu homogener Modellierung der Operationen Implementierung der Matrizenmultiplikation in Hardware bringt Effizienz 2D3 x 3 - Matrix 3D4 x 4 - Matrix


Herunterladen ppt "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung 3 28.10.99 -Arrays-"

Ähnliche Präsentationen


Google-Anzeigen