Listing of file='SPHERE.BAS;01' on disk='vmedia/demos-sector.ccvf'
50 PLOT 31,17:PRINT "WORKING" 60 PLOT 15,19:PRINT "TAKES TWO MINUTES TO CALCULATE" 100 REM GENERATE A SPHERE USING THE SPHERICAL COORDINATE SYSTEM 110 DIM X(100),Y(100),Z(100) 120 RO= 30:I= 1 130 FOR TH= 0TO 2.51327STEP .628317 140 FOR PH= 0TO 6.28319STEP .330694 150 X(I)= RO* COS (TH)* SIN (PH) 160 Y(I)= RO* SIN (TH)* SIN (PH) 170 Z(I)= RO* COS (PH) 180 I= I+ 1 190 NEXT PH 200 NEXT TH 210 P= 100 1080 REM DIMETRIC PROJECTION ROUTINE 1090 REM FROM 'MATHERMATICAL ELEMENTS FOR COMPUTER GRAPHICS' 1100 REM P= NUMBER OF X,Y,Z TRIPLETS 1110 REM X( )= ARRAY CONTAINING X-COORDINATES 1120 REM Y( )= ARRAY CONTAINING Y-COORDINATES 1130 REM Z( )=ARRAY CONTAINING Z-COORDINATES 1140 DIM U(100,4),V(100,4),T(4,4) 1150 FOR I= 1TO P:FOR J= 1TO 4:U(I,J)= 0:V(I,J)= 0:NEXT J:NEXT I 1160 FOR I= 1TO P 1170 U(I,1)= X(I):U(I,2)= Y(I):U(I,3)= Z(I):U(I,4)= 1 1180 NEXT I 1190 FOR I= 1TO 4:FOR J= 1TO 4:T(I,J)= 0:NEXT J:NEXT I 1200 T(1,1)= .92582:T(1,2)= .133631:T(1,3)= - .353553 1210 T(2,2)= .935414:T(2,3)= .353553 1220 T(3,1)= .377964:T(3,2)= - .327327:T(3,3)= .866025 1230 T(4,4)= 1.0 1240 FOR I= 1TO P:FOR J= 1TO 4:FOR K= 1TO 4 1250 V(I,J)= U(I,K)* T(K,J)+ V(I,J) 1260 NEXT K:NEXT J:NEXT I 1270 FOR I= 1TO P 1280 X(I)= V(I,1):Y(I)= V(I,2):Z(I)= V(I,3) 1290 NEXT I 1300 N= 3 1310 REM AXONDMETPIC PROJECTIDN RDUTINE 1320 REM FROM 'MATHERMATICAL ELEMENTS FOR COMPUTER GRAPHICS' 1330 REM P=NUMBER OF X,Y,Z TRIPLETS 1340 REM X( ) = ARRAY CONTAINING X-COORDINATES 1350 REM Y( ) = ARRAY CONTAINING Y-COORDINATES 1360 REM Z( ) = ARRAY CONTAINING Z-COORDINATES 1370 REM N=NUMBER INDICATING THE PERPENDICULAR AXIS 1380 REM N=1 X-AXIS, N=2 Y-AXIS, N=3 Z-AXIS 1390 FOR I= 1TO P:FOR J= 1TO 4:U(I,J)= 0:V(I,J)= 0:NEXT J:NEXT I 1400 FOR I= 1TO P 1410 U(I,1)= X(I):U(I,2)= Y(I):U(I,3)= Z(I):U(I,4)= 1 1420 NEXT I 1430 FOR I= 1TO 4:FOR J= 1TO 4:T(I,J)= 0:NEXT J:NEXT I 1440 T(1,1)= 1:T(2,2)= 1:T(3,3)= 1:T(4,4)= 1 1450 IF N= 3THEN 1490 1460 IF N= 2THEN 1480 1470 T(1,1)= 0:GOTO 1500 1480 T(2,2)= 0:GOTO 1500 1490 T(3,3)= 0 1500 FOR I= 1TO P:FOR J= 1TO 4:FOR K= 1TO 4 1510 V(I,J)= U(I,K)* T(K,J)+ V(I,J) 1520 NEXT K:NEXT J:NEXT I 1530 FOR I= 1TO P 1540 HX= X(1):LX= X(1):HY= Y(1):LY= Y(1) 1550 FOR I= 2TO P 1560 IF X(I)> HXTHEN HX= X(I):GOTO 1580 1570 IF X(I)< LXTHEN LX= X(I) 1580 IF Y(I)> HYTHEN HY= Y(I):GOTO 1600 1590 IF Y(I)< LYTHEN LY= Y(I) 1600 NEXT I 1610 DX= HX- LX:DY= HY- LY:MX= 127/ DX:MY= 127/ DY 1620 PLOT 12,6,3,2,INT (0.5+ MX* (X(1)- LX)),INT (0.5+ MY* (Y(1)- LY)) 1630 PLOT 242 1640 FOR I= 1TO P 1650 X(I)= INT (0.5+ MX* (X(I)- LX)) 1660 Y(I)= INT (0.5+ MY* (Y(I)- LY)) 1670 PLOT X(I),Y(I) 1680 NEXT I 1690 PLOT 255