home *** CD-ROM | disk | FTP | other *** search
- 10 REM ********************************
- 20 REM * *
- 30 REM * T R A N S - 2 D *
- 40 REM * DEMONSTRATION VON 2D-GRAFIK *
- 50 REM * HEIMO PONNATH HAMBURG *
- 60 REM * *
- 70 REM ********************************
- 80 IFA=0THENA=1:LOAD"HIRES4.OBJ",8,8
- 90 SYS49152:HAN:HOF:REM AKTIVIEREN
- 100 REM
- 110 REM ---- DATEN DES HAUSES ---------
- 120 DATA 10,5,10,12,15,18,20,12,20,5
- 130 DIM H(2,6):REM FELD FUER HAUSPUNKTE
- 140 FOR I=1 TO 5
- 150 :READ H(1,I),H(2,I)
- 160 NEXT I
- 170 H(1,6)=H(1,1):H(2,6)=H(2,1)
- 180 REM
- 190 REM ---- PARAMETER ----------------
- 200 XM=319:YM=199
- 210 XU=0:XO=30:YU=0:YO=25
- 220 XC=10:YC=5
- 230 PRINTCHR$(147)
- 240 INPUT"ROTATIONSWINKEL =";W
- 250 W=W*(null)/180:REM UMRECHNUNG IN BOGENMASS
- 260 INPUT"SKALIERUNGSFAKTOREN SX,SY=";SX,SY
- 270 REM
- 280 REM ---- ZEICHENWERTE -------------
- 290 ZF=5:HF=0:L=1
- 300 REM
- 310 REM ---- GESAMTMATRIXELEMENTE -----
- 320 RA=XM*SX*COS(W)/(XO-XU):REM DAS IST R11
- 330 RB=-YM*SX*SIN(W)/(YO-YU):REM R12
- 340 RC=-XM*SY*SIN(W)/(XO-XU):REM R21
- 350 RD=-YM*SY*COS(W)/(YO-YU):REM R22
- 360 T1=XM*(XC*(1-SX*COS(W))+SY*YC*SIN(W)-XU)/(XO-XU)
- 370 T2=-YM*(YC*(1-SY*COS(W))-SX*XC*SIN(W)-YO)/(YO-YU)
- 380 REM
- 390 REM ---- TRANSFORMATIONSGLEICHUNGEN
- 400 DEFFNX(X)=RA*X+RC*Y+T1
- 410 DEFFNY(Y)=RB*X+RD*Y+T2
- 420 REM
- 430 REM ---- ZEICHNEN -----------------
- 440 HAN:LOE:FAR,ZF,HF
- 450 FOR I=1 TO 5
- 460 :X=H(1,I):Y=H(2,I):X1=FNX(X):Y1=FNY(Y)
- 465 :X=H(1,I+1):Y=H(2,I+1):X2=FNX(X):Y2=FNY(Y)
- 470 :LIN,X1,Y1,X2,Y2,L
- 480 NEXT I
- 490 GET A$:IF A$="" THEN 490
- 500 HOF
- 520 REM
- 530 REM ---- PROGRAMMENDE -------------
- 540 INPUT"NOCH EINMAL (J/N)";A$
- 550 IF A$="J" THEN 240
- 560 AUS
- 570 POKE 52,160:POKE 56,160
- 580 CLR
- 590 END
-