Auto 1
   1 REM fast
  50 REM spheer with hidden lines and rotation
 100 CLS
 110 PRINT "sphere with lenght&wide-circles"
 120 PRINT "_______________________________"''
 200 INPUT "rotate x-as:";a
 210 INPUT "rotate y-as:";b
 220 INPUT "rotate z-as:";c
 225 INPUT "distance lines(10-45):";d
 230 LET u=128:\
     LET v=87:\
     LET r=87:\
     LET bm=PI /180:\
     LET h=.5
 240 LET s1=SIN (a*bm):\
     LET s2=SIN (b*bm):\
     LET s3=SIN (c*bm)
 250 LET c1=COS (a*bm):\
     LET c2=COS (b*bm):\
     LET c3=COS (c*bm)
 260 REM calc rotate matrix
 270 LET ax=c2*c3:\
     LET ay=-c2*s3:\
     LET az=s2
 280 LET bx=c1*s3+s1*s2*c3
 290 LET by=c1*c3-s1*s2*s3:\
     LET bz=-s1*c2
 300 LET cx=s1*s3-c1*s2*c3
 310 LET cy=s1*c3+c1*s2*s3:\
     LET cz=c1*c2
 400 REM draw outer
 410 CLS :\
     CIRCLE u,v,r
 500 REM draw lenght-circle
 510 FOR l=0 TO 180-d STEP d
 515 LET f1=0
 520 FOR p=0 TO 360 STEP 5
 530 GO SUB 1000:\
     REM xx,yy,zz calc
 540 IF yy>0 THEN LET f2=0:\
     LET f1=0:\
     GO TO 580
 550 LET xb=INT (u+xx+h):\
     LET yb=INT (v+zz+h):\
     LET f2=1
 560 IF f1=0 THEN LET x1=xb:\
     LET y1=yb:\
     LET f1=1:\
     GO TO 580
 570 PLOT x1,y1:\
     DRAW xb-x1,yb-y1:\
     LET x1=xb:\
     LET y1=yb:\
     LET f1=f2
 580 NEXT p
 590 NEXT l
 600 REM draw wide-circle
 610 FOR p=-90+d TO 90-d STEP d
 615 LET f1=0
 620 FOR l=0 TO 360 STEP 5
 630 GO SUB 1000:\
     REM xx,yy,zz
 640 IF yy>0 THEN LET f2=0:\
     LET f1=0:\
     GO TO 680
 650 LET xb=INT (u+xx+h):\
     LET yb=INT (v+zz+h):\
     LET f2=1
 660 IF f1=0 THEN LET x1=xb:\
     LET y1=yb:\
     LET f1=1:\
     GO TO 680
 670 PLOT x1,y1:\
     DRAW xb-x1,yb-y1:\
     LET x1=xb:\
     LET y1=yb:\
     LET f1=f2
 680 NEXT l
 690 NEXT p
 700 PRINT #0;"...press any key...":\
     PAUSE 0:\
     RUN
 999 REM sfere-coordinates>>>Cartesis Coordinate
1000 LET x=r*COS (p*bm)*COS (l*bm)
1010 LET y=r*COS (p*bm)*SIN (l*bm)
1020 LET z=r*SIN (p*bm)
1030 REM p(x,y,z) rotate to p(xx,yy,zz)
1040 LET xx=ax*x+ay*y+az*z
1050 LET yy=bx*x+by*y+bz*z
1060 LET zz=cx*x+cy*y+cz*z
1070 RETURN
