Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Diskrete Mathematik I Vorlesung 3 28.10.99 -Arrays-

Ähnliche Präsentationen


Präsentation zum Thema: "Diskrete Mathematik I Vorlesung 3 28.10.99 -Arrays-"—  Präsentation transkript:

1 Diskrete Mathematik I Vorlesung 3 -Arrays-

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

3 Arrays (am Beispiel von Java)
Unterscheidungen primitive Datentypen: boolean char byte short int long float Byte Größe steht von vorneherein fest Referenztypen Arrays Strings Objekte Größe erst zur Laufzeit bekannt

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 Arrays - beachte: 3 Schritte Im Unterschied zu Pascal
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 n - 1 n -1

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

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 Beispiel: Multiplikation von Matrizen
= c[i,k]= Sa[i,j]*b[j,k]

9 Beispiel: Multiplikation von Matrizen
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];

10 Punkte als Arrays y P x

11 Verschiebung (Translation)
y P x

12 Verschiebung (Translation)
y P x

13 Verschiebung (Translation)
y P x

14 Drehung (um den Ursprung)
y P x

15 Drehung (um den Ursprung)
y P a x

16 Drehung (um den Ursprung)
y P a x

17 Scherung (Zoom in, Zoom out)
y 6 P 2 x 2 8

18 Scherung (Zoom in, Zoom out)
y 9 3 x 4 16

19 Homogene Koordinaten y P x homogene Koordinaten

20 Translation in homogenen Koordinaten
y P x

21 Translation in homogenen Koordinaten
y P x

22 Drehung in homogenen Koordinaten
y P a x

23 Drehung in homogenen Koordinaten
y P a x

24 Scherung in homogenen Koordinaten
y x

25 Scherung in homogenen Koordinaten
y x

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


Herunterladen ppt "Diskrete Mathematik I Vorlesung 3 28.10.99 -Arrays-"

Ähnliche Präsentationen


Google-Anzeigen