home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 45
/
64er_Magazin_Sonderheft_45_19xx_Markt__Technik_de_Side_A.d64
/
trans-2d
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
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