1.4 例題プログラム PCUBE.BAS の解説

目次へ戻る

10 PRINT "GEOMAP Demonstration Program"
20 PRINT "---Generation Several Solid Models---"
30 DIM XYPOS(2,8),ZXPOS(2,10),ZXPOS2(2,3),XYZPOS(3,14)
40 DIM FAEQ(4,2),ITABL(60)
50 READ XYPOS : REM ------ DATA FOR XYPOS ------
60 DATA 10,10,0,7,-10,10,-7,0,-10,-10,0,-7,10,-10,7,0
70 READ ZXPOS2 : REM ------ DATA FOR ZXPOS2 ------
80 DATA -10,1,0,0.5,10,1
90 READ XYZPOS : REM ------ DATA FOR XYZPOS ------
100 DATA 4 4 6, 4 -6 6, 0 4 10, 0 -6 10, -6 4 10, -6 -6 10,
110 DATA 4 -6 -10, 4 8 -10, 4 8 -6, 4 4 -6, -6 8 -10,-6 8 -6
120 DATA -6 4 -6, -6 -6 -10
130 READ ITABL : REM ------ DATA FOR ITABLE ------
140 DATA 1 10 13 5 3 9900
150 DATA 9 8 11 12 9900
160 DATA 6 14 7 2 4 9900
170 DATA 4 3 5 6 9900
180 DATA 9 12 13 10 9900
190 DATA 7 14 11 8 9900
200 DATA 2 1 3 4 9900
210 DATA 2 7 8 9 10 1 9900
220 DATA 5 13 12 11 14 6 9900 9999 /
230 READ FAEQ : REM ------ DATA FOR FAEQ ------
240 DATA 1 0 1 -4, -1 0 1 -4
250 REM ============================== DPCAM
260 CAM(1)=35: CAM(2)=-25 : CAM(3)=30 : TH=0.8
270 DPCAM CAM,TH
280 PCUBE "A",10.,12.,20.
290 CLS : HFDISP "A",0,4
300 CMINIT : REM ===================== PCUBEM
310 DIM POSA(3),POSB(3) : READ POSB : DATA 5 6 10
320 PCUBEM "A",POSA,POSB
330 HFDISP "A",0,4
340 CMINIT : REM ===================== PEWEDG
350 PEWEDG "A",10.,12.,20. v 360 CLS : HFDISP "A",0,4
370 CMINIT : REM ===================== PRWEDG
380 PRWEDG "A",10.,12.,20.
390 HFDISP "A",0,4
400 CMINIT : REM ===================== PRCYLN(EDGE)
410 ICURV=0 : PRCYLN "A",12,0,5.,15.,ICURV
420 CLS : HFDISP "A",0,4
430 CMINIT : REM ===================== PRCYLN(ROUND)
440 ICURV=1 : PRCYLN "A",12,0,5.,15.,ICURV
450 CLS : HFDISP "A",0,4
460 CMINIT : REM ===================== PRCONE(EDGE)
470 ICURV=0 : PRCONE "A",12,0,5.,15.,ICURV
480 CLS : HFDISP "A",0,4
490 CMINIT : REM ===================== PRCONE(ROUND)
500 ICURV=1 : PRCONE "A",12,0,5.,15.,ICURV
510 CLS : HFDISP "A",0,4
520 CMINIT : REM ===================== PCYLN
530 NP=8 : HEIGHT=10 : ICURV=0
540 PCYLN "A",XYPOS,NP,HEIGHT,ICURV
550 CLS : HFDISP "A",0,4
560 CMINIT : REM ===================== PCONE
570 PCONE "A",XYPOS,NP,HEIGHT,ICURV
580 CLS : HFDISP "A",0,4 590 REM ============================== PREVL
600 NP=10 : NPP=NP-1 : ANG=3.1416/NPP : THETA=0
610 FOR I=1 TO NPP
620 ZXPOS(1,I)=-10*COS(THETA) : ZXPOS(2,I)=10*SIN(THETA)
630 THETA=THETA+ANG
640 NEXT I
650 ZXPOS(1,NP)=10 : MREV=12 : ICURV=0
660 FOR ANG=360 TO 90 STEP -90
670 CMINIT
680 PREVL "A",ZXPOS,NP,MREV,ANG,ICURV
690 CLS : HFDISP "A" 700 NEXT ANG
710 CMINIT : REM ===================== PTRUNC
720 ICURV=0 : NXY=8 : NZX=3
730 PTRUNC "A",XYPOS,NXY,ZXPOS2,NZX,ICURV
740 CLS : HFDISP "A",0,4
750 CMINIT : REM ===================== PHDFL
760 NV=14 : NC=52
770 PHDFL "A",XYZPOS,NV,ITABL,NC
780 CLS : HFDISP "A",0,4
790 CMINIT : REM ===================== PHDFC
800 NF=2 : RADIUS=5
810 PHDFC "A",FAEQ,NF,RADIUS
820 CLS : HFDISP "A",0,4
830 REM ============================== PHEDRA
840 FOR I=1 TO 7
850 CMINIT
860 PHEDRA "A",I,10.,
870 CLS : HFDISP "A",0,4
880 NEXT I
890 FOR I=1 TO 11
900 CMINIT
910 PHEDRA "A",I+100,10.
920 CLS : HFDISP "A",0,4
930 NEXT I
940 END

目次へ戻る