3.3 例題プログラム PUNI.SUB および PUZZLE.BAS の解説

目次へ戻る

3.3.1 PUNI.BAS


10 PRINT "GEOMAP Demonstration Program"
20 PRINT "--- Addition/Subtraction/Intersection/Cutting ---"
30 DIM BSIZE(3,2,2),FAEQ(4),NAME$(2)
40 READ BSIZE : REM ------ DATA FOR BSIZE ------
50 DATA 3*-30, 3*10, 3*-10, 3*30
60 READ FAEQ : REM ------ DATA FOR FACE ------
70 DATA 0.3 -0.1, 0.5, 0
80 READ NAME$ : REM ------ NAMING FOR BODIES ------
90 DATA "A1","A2"
100 REM ============================== DPCAM
110 CAM(1)=250 : CAM(2)=-200 : CAM(3)=120 : TH=0.4
120 DPCAM CAM,TH
130 REM ============================== PUNI
140 CMINIT
150 FOR I=1 TO 2
160 PCUBEM NAME$(I), BSIZE(1,1,I), BSIZE(1,2,I)
170 NEXT I
180 CLS : HFDISP "A1": HFDISP "A2"
190 PUNI "A1", "A2"
200 CLS : HFDISP "A1",0,4
210 REM ============================== PSUB
220 CMINIT
230 FOR I=1 TO 2
240 PCUBEM NAME$(I), BSIZE(1,1,I), BSIZE(1,2,I)
250 NEXT I
260 PSUB "A1", "A2"
270 CLS : HFDISP "A1",0,4 280 REM ============================== PINT
290 CMINIT
300 FOR I=1 TO 2
310 PCUBEM NAME$(I), BSIZE(1,1,I), BSIZE(1,2,I)
320 NEXT I
330 PINT "A1", "A2"
340 CLS : HFDISP "A1",0,4
350 REM ============================== PCUT
360 CMINIT
370 PCUBEM NAME$(1), BSIZE, BSIZE(1,2,1)
380 CLS : HFDISP "A1",,4
390 PCUT "A1", FAEQ
400 CLS : HFDISP "A1",0,4
410 REM ============================= PDCOMP
420 CDIR : PRINT "DECOMPOSE INTO TWO PARTS"
430 PDCOMP "A1"
440 CDIR
450 CRENAM "A1","A2"
460 CDIR
470 CLS : HFDISP "A1",,4
480 END

3.3.2 PUZZLE.BAS


10 PRINT "GEOMAP Demonstration Program"
20 PRINT "--- Synthesized Model; PUZZLE ---"
30 PRINT "--- It takes about 7 minutes for synthesizing and"
40 PRINT "--- about 15 minutes for the complete hidden line"
50 PRINT "--- eliminated image"
60 CMINIT
70 PRCYLN "A",6,,2.,20.
80 COPY "A","B","C"
90 DIR(1)= 3.0 : DIR(2)= 1.732 : PGDIS "A",,DIR
100 DIR(1)=-3.0 : PGDIS "B",,DIR
110 DIR(1)= 0.0 : DIR(2)=-3.464 : PGDIS "C",,DIR
120 PUNI "A","B","C"
130 AXIS(2,2)=1.0
140 PGROTA "A",,54.73,AXIS
150 COPY "A","A2","A3","A4"
160 AXIS(2,2)=0.0 : AXIS(3,2)=1.0
170 PGROTA "A2",, 90.,AXIS
180 PGROTA "A3",,180.,AXIS
190 PGROTA "A4",,270.,AXIS
200 PUNI "A","A2","A3","A4"
210 CPOS(1)=30 : CPOS(2)=30 : CPOS(3)=20
220 TH=0.8
230 DPCAM CPOS,TH
240 HEDISP "A"
250 HLIMAG "A","AIMAG"
260 CLS : HDISP "AIMAG"
270 END

目次へ戻る