home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh4x
/
sh45a.d64
/
trans-2d
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
2KB
|
60 lines
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