Während man sich in den Naturwissenschaften noch mit der wirklichen Anzahl der Raumdimensionen beschäftigt (für uns, die wir im dreidimensionalen Raum leben, sind mögliche weitere Dimensionen schlichtweg unsichtbar), sind sich Mathematiker längst einig und stellen sich Objekte in beliebig vielen Raumdimensionen vor.
Der Tesserakt ist ein solches Objekt und entspricht dem, was wir in drei Dimensionen als Würfel bzw. in zweien als Quadrat kennen.
Schwer vorzustellen, wie ein solches 4-dimensionales Objekt aussehen soll - schließlich gibt es keine 4. Dimension - jedenfalls keine, die wir wahrnehmen könnten.
Doch genau, wie man einen Würfel auf eine zweidimensionale Fläche projizieren kann, kann man einen Tesserakt auf eine 3-dimensionale "Leinwand" projizieren. Heraus kommt ein 3D-Objekt, welches wir wiederum auf unsere 2D-Netzhaut projizierend betrachten können:
100 GRAPHICS 24:COLOR %1:DEG :SETCOLOR 4,%0,10:SETCOLOR 2,%0,15:SETCOLOR %1,%0,%0
101 DIM CMD$(%1):VIEW=%0:REC=%0
102 AX=%0:AY=%0:AZ=%0:AW=%0:PL=10
105 SX=SIN(AX):SY=SIN(AY):SZ=SIN(AZ):SW=SIN(AW):CX=COS(AX):CY=COS(AY):CZ=COS(AZ):CW=COS(AW)
109 RES.5000:CLS#6:ATX=-%1:IFREC THEN?#%1;ZEILE;"M.PIC,PST,7680:POKEPIC,%0:M.PIC,PIC+%1,7679":ZEILE=ZEILE+%1
110 READ CMD$,X,Y,Z,W
111 IF CMD$="E" THEN 400
115 IF VIEW=%0 THEN EXEC TRANS_ISO
116 IF VIEW=%1 THEN EXEC TRANS_3D
120 IF ATX=-%1 THEN ATX=TX:ATY=TY:GOTO 140
130 IF(CMD$="P"ORCMD$="E")THENDR.ATX,ATY:IFREC:?#%1;ZEILE;"DR.";INT(ATX);",";INT(ATY):ZEILE=ZEILE+%1:ENDIF:ATX=TX:ATY=TY
140 IF CMD$="P" THEN PLOT TX,TY:IF REC THEN ? #%1;ZEILE;"PL.";INT(TX);",";INT(TY):ZEILE=ZEILE+%1
150 IF CMD$="D" THEN DRAWTO TX,TY:IF REC THEN ? #%1;ZEILE;"DR.";INT(TX);",";INT(TY):ZEILE=ZEILE+%1
199 GOTO 110
400 GET E
410 IF E=ASC("i") THEN VIEW=%0
420 IF E=ASC("3") THEN VIEW=%1
430 IF E=ASC("x") THEN AX=AX+PL:IF AX>=360 THEN AX=%0
431 IF E=ASC("X") THEN AX=AX-PL:IF AX<%0 THEN AX=360-PL
440 IF E=ASC("y") THEN AY=AY+PL:IF AY>=360 THEN AY=%0
441 IF E=ASC("Y") THEN AY=AY-PL:IF AY<%0 THEN AY=360-PL
450 IF E=ASC("z") THEN AZ=AZ+PL:IF AZ>=360 THEN AZ=%0
451 IF E=ASC("Z") THEN AZ=AZ-PL:IF AZ<%0 THEN AZ=360-PL
460 IF E=ASC("w") THEN AW=AW+PL:IF AW>=360 THEN AW=%0
461 IF E=ASC("W") THEN AW=AW-PL:IF AW<%0 THEN AW=360-PL
470 IF E=ASC("r") THEN EXEC REC
499 GOTO 105
500 PROC TRANS_ISO
510 TX=160-(X*%2-1)*50+(Z*%2-%1)*18+(W*%2-%1)*20
520 TY=96-(Y*%2-%1)*50-(Z*%2-%1)*18-(W*%2-%1)*13
599 ENDPROC
600 PROC TRANS_3D
610 X1=X*%2-%1:Y1=Y*%2-%1:Z1=Z*%2-%1:W1=W*%2-%1
620 REM W-ROTATION(?)
621 X2=X1
622 Y2=Y1
623 Z2=CW*Z1+SW*W1
624 W2=CW*W1-SW*Z1
630 REM X-ROTATION
631 X3=X2
632 Y3=Y2*CX+Z2*SX
633 Z3=CX*Z2-SX*Y2
634 W3=W2
640 REM Y-ROTATION
641 X4=CY*X3-SY*Z3
642 Y4=Y3
643 Z4=SY*X3+CY*Z3
644 W4=W3
650 REM Z-ROTATION
651 X5=CZ*X4+SZ*Y4
652 Y5=CZ*Y4-SZ*X4
653 Z5=Z4
654 W5=W4
660 V=4:PER=1.25:ZOOM=25
661 REM 4D auf 3D Projektion
662 M=PER/(W5+V):RX=X5*M:RY=Y5*M:RZ=Z5*M
670 PER=1.25:REM 3D auf 2D Projektion
671 M=(RZ+V)*PER:RX=RX*M:RY=RY*M
680 TX=160+RX*ZOOM
690 TY=96-RY*ZOOM
695 REM ? "RX=";RX
699 ENDPROC
700 PROC REC
710 IF REC THEN 750
720 CLOSE #%1:OPEN #%1,8,%0,"D:HC1.LST":REC=%1:ZEILE=200:SETCOLOR 4,%3,4
730 ? #%1;"10GR.24:PST=DPEEK(88):DIM PIC$(7680):PIC=ADR(PIC$):DPOKE88,PIC"
749 GOTO 799
750 ? #%1;ZEILE;"G.200"
760 CLOSE #%1:REC=%0:SETCOLOR 4,%0,10
799 ENDPROC
5000 DATA P,0,0,0,0
5010 DATA D,0,1,0,0
5020 DATA D,1,1,0,0
5030 DATA D,1,0,0,0
5100 DATA P,0,0,1,0
5110 DATA D,0,1,1,0
5120 DATA D,1,1,1,0
5130 DATA D,1,0,1,0
5200 DATA P,0,0,0,1
5210 DATA D,0,1,0,1
5220 DATA D,1,1,0,1
5230 DATA D,1,0,0,1
5300 DATA P,0,0,1,1
5310 DATA D,0,1,1,1
5320 DATA D,1,1,1,1
5330 DATA D,1,0,1,1
5400 DATA P,0,0,0,0
5410 DATA D,0,0,1,0
5420 DATA P,0,1,0,0
5430 DATA D,0,1,1,0
5440 DATA P,1,1,0,0
5450 DATA D,1,1,1,0
5460 DATA P,1,0,0,0
5470 DATA D,1,0,1,0
5500 DATA P,0,0,0,1
5510 DATA D,0,0,1,1
5520 DATA P,0,1,0,1
5530 DATA D,0,1,1,1
5540 DATA P,1,1,0,1
5550 DATA D,1,1,1,1
5560 DATA P,1,0,0,1
5570 DATA D,1,0,1,1
5600 DATA P,0,0,0,0
5610 DATA D,0,0,0,1
5620 DATA P,0,1,0,0
5630 DATA D,0,1,0,1
5640 DATA P,1,1,0,0
5650 DATA D,1,1,0,1
5660 DATA P,1,0,0,0
5670 DATA D,1,0,0,1
5700 DATA P,0,0,1,0
5710 DATA D,0,0,1,1
5720 DATA P,0,1,1,0
5730 DATA D,0,1,1,1
5740 DATA P,1,1,1,0
5750 DATA D,1,1,1,1
5760 DATA P,1,0,1,0
5770 DATA D,1,0,1,1
9999 DATA E,0,0,0,0
Ein schönes Programm mag man meinen - allerdings habe ich es noch nicht wirklich geschafft, eine Animation wie die bei
Wikipedia
hinzubekommen.
Und schließlich macht erst eine solche Rotation in der 4. Dimension eine wage Vorstellung von einem Tesserakt möglich.