10 '----------------------------------------
20 '- Juan Manuel Mayoral Serrano - 30 '- Adapt.: Carlos de la Ossa Villaca¤as - 40 '- 3DGRAF (c) TU MICRO AMSTRAD 1986 - 50 '---------------------------------------- 60 MODE 2:BORDER 0:INK 0,0:INK 1,16 70 largo=200:alto=137:xg=5:zg=3 80 ct=INT(largo/xg/2):pf=INT(alto/zg/3) 90 DIM p(ct,pf) 100 DEF FN f(x,z)=EXP((x*x-z*z)/1000)/3:GOSUB 190 110 ORIGIN 200,0:DEF FN f(x,z)=(x*x+z*z)/1000:GOSUB 190 120 ORIGIN 400,0:DEF FN f(x,z)=-(x*x+z*z)/1000:GOSUB 190 130 ORIGIN 0,136:DEF FN f(x,z)=LOG(1+(x+z)*SGN(x+z))/10:GOSUB 190 140 ORIGIN 200,136:DEF FN f(x,z)=SGN(INT(23/(0.00001+x*x+z*z)))/3+SGN(INT(55/(0.00001+x*x+z*z)))/15:GOSUB 190 150 ORIGIN 400,136:DEF FN f(x,z)=EXP((x*x-z*z)/1000)-EXP((-(x*x-z*z)/1000)):GOSUB 190 160 ORIGIN 0,272:DEF FN f(x,z)=(-LOG(1+(x+z)*SGN(x+z)+2)/10):GOSUB 190 170 ORIGIN 200,272:DEF FN f(x,z)=(-EXP((x*x-z*z)/1000)/3):GOSUB 190 180 ORIGIN 400,272:DEF FN f(x,z)=-(EXP((x*x-z*z)/1100)-EXP((-(x*x-z*z)/1100))):GOSUB 190:END 190 FOR a=-fp/2 TO fp/2 200 FOR b=-ct/2 TO ct/2 210 x=a*20/ct:z=b*20/fp:y=FN f(x,z) 220 p((b+ct)/2,(a+fp)/2)=y*alto*(-1) 230 NEXT b,a 240 ' 250 ' Dibujo plano ZY 260 ' 270 FOR x=1 TO ct 280 x1=xg*x+fp*xg 290 z1=alto/2-x*zg+fp*zg+20*(-1) 300 zn=z1-zg-p(x,pf-1) 310 xn=x1-xg 320 FOR z=0 TO fp-1 330 xp=x1-z*xg 340 zp=z1-z*zg-p(x,pf-z) 350 PLOT xn+15,zn+20 360 DRAWR xp-xn,zp-zn 370 xn=xp:zn=zp 380 NEXT z,x 390 ' 400 ' Dibujo plano XY 410 ' 420 FOR z=1 TO pf 430 x1=xg*z 440 z1=alto/2+z*zg+20*(-1) 450 xn=x1+xg 460 zn=z1-zg-p(1,z) 470 FOR x=1 TO ct 480 xp=x1+x*xg 490 zp=z1-x*zg-p(x,z) 500 PLOT xn+15,zn+20 510 DRAWR xp-xn,zp-zn 520 xn=xp:zn=zp 530 NEXT x,z 540 RETURN |