3d arrays
-
Stimmt 4D kann man sich noch wie das 3D vorstellen nur noch mit einer zeitachse.
Das heißt man stellt sich einen Punkt im Raum (x,y,z) zu einer bestimmten zeit vor.Aber ich lgaub dann ist wirklich schluss. Und mehr als 3d bracuht man in der regel nciht.
-
wieso denn abstrakt, eine neue dimension bedeutet doch nur, dass eine eigenschaft (bzw parameter) eines objektes hinzukommt - wie dessen farbe, größe usw.
-
hmmm
ich dachte dimension hat was mit ausdehnung zu tun.
hab in physik mal gehört, das es bis zur 10. dimension definitionen gibt.. (ich glaub das war bei den string theorien)
weiss da jemand was drüber?
-
Hier mal ein Beispiel, wie man typedef
in diesem Zusammenhang einsetzt.int main(){ typedef double(*pmyarray)[20][30]; pmyarray array1 = new double [10][20][30]; array1[4][13][25] = 4711.4711; double dd = array1[4][13][25]; delete[] array1; return 0; }
-
bei den 2d arrays mach ichs auch mit dem schachbrettprinzip:
string brett[8][8] = { 1,2,3,4,5,6,7,8
a,b,c,d......aber ein 3dimensionales kanan ich mir auf einer 2dimensionalen fläche nicht vorstellen. daher müssten in einer 1:1 schreibweiße die werte noch nach hinten gehen.. nun weiß ich aber nicht wie man das 2dimensional darstellen kann.
bei dem ist es ja so:
2dimension
| | | | | | | |
string brett[8][8] = { 1,2,3,4,5,6,7,8 <---erste dimension
a,b,c,d......nun verwirrt mich diese schreibweise:
bla[2][2][2]={{{1, 2},{3, 4}},{{1, 2},{3, 4}}};und da bräuchte ich eine kleine erklärung.. vielleicht eine wo man das mit x,y und z-achse beschreibt. daher: 1 = x0,y1,z0
-
dann nimm einen schreibblock, am besten karriert.
mach auf jede seite eine 10x10 2D-matrix, und das auf 10 seiten.
nun kannste durch Deinen 3D array blättern..Ich finde das keine schlechte Erklärung zum Vorstellen.
-
Du must wissen im Speicher der Addressraum ist immer eindimesional.
Dein Schachbrett b[8][8] belegt eindimensional 8*8 = 64 Felder.
Oder anders ausgedrückt 8 Blöcke a 8 Felder.
Mit der Matrix b[8][8] kannst Du jedes dieser Felder ansprechen
Beachten mußt Du, dass wenn man dieses 2D Feld benutzt nur
die Indexe 0 1 2 3 4 5 6 7 zur Verfügung stehen.
Also b[8][3] = 5; wäre "Out of Range"
-
ja schon.. das ist aber eine logische erklärung. ich bräuchte nun eine programmiererklärung

-
bla[2][2][2]={{{1, 2},{3, 4}},{{1, 2},{3, 4}}}; ^ ^ ^ bla[0][0][1] | | bla[0][1][0] | bla[1][1][0]die innerste Klammer ist die letzte Dimension, und dann nach aussen vor arbeiten.
blubb[3][5]={ {1,2,3,4,5}, {1,2,3,4,5}, {1,2,3,4,5} } ziep[2][3][4]={ { {1,2,3,4}, {1,2,3,4}, {1,2,3,4} }, { {1,2,3,4}, {1,2,3,4}, {1,2,3,4} } }hoffe das stimmt jetzt auch...
-
1310-Logik schrieb:
hmmm
ich dachte dimension hat was mit ausdehnung zu tun.
hab in physik mal gehört, das es bis zur 10. dimension definitionen gibt.. (ich glaub das war bei den string theorien)
weiss da jemand was drüber?Wer sagt denn, dass das alles Raumdimensionen sind? Eine weitere Dimension ist zunächst einmal nur eine Hinzunahme einer weiteren Variablen. Ausserdem ist das hier offtopic. Wenn es dich interessiert mach in Mathematik oder NADRW einen Thread dazu auf.