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