Advertisement
Guest User

Untitled

a guest
Apr 14th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 50 REM spheer with hidden lines and rotation
  2. 100 PAUSE 250: BEEP 1,25: CLS
  3. 110 PRINT "sphere with lenght&wide-circles"
  4. 120 PRINT "_______________________________"
  5. 200 LET A=10
  6. 210 LET b=10
  7. 220 LET c=10
  8. 225 LET d=20
  9. 230 LET u=128: LET v=87: LET r=87: LET bm=PI/180: LET h=.5
  10. 240 LET s1=SIN (a*bm): LET s2=SIN (b*bm): LET s3=SIN (c*bm)
  11. 250 LET c1=COS (a*bm): LET c2=COS (b*bm): LET c3=COS (c*bm)
  12. 260 REM calc rotate matrix
  13. 270 LET ax=c2*c3: LET ay=-c2*s3: LET az=s2
  14. 280 LET bx=c1*s3+s1*s2*c3
  15. 290 LET by=c1*c3-s1*s2*s3: LET bz=-s1*c2
  16. 300 LET cx=s1*s3-c1*s2*c3
  17. 310 LET cy=s1*c3+c1*s2*s3: LET cz=c1*c2
  18. 400 REM draw outer
  19. 410 CLS : CIRCLE u,v,r
  20. 500 REM draw lenght-circle
  21. 510 FOR l=0 TO 180-d STEP d
  22. 515 LET f1=0
  23. 520 FOR p=0 TO 360 STEP 5
  24. 530 GO SUB 1000: REM xx,yy,zz calc
  25. 540 IF yy>0 THEN LET f2=0: LET f1=0: GO TO 580
  26. 550 LET xb=INT (u+xx+h): LET yb=INT (v+zz+h): LET f2=1
  27. 560 IF f1=0 THEN LET x1=xb: LET y1=yb: LET f1=1: GO TO 580
  28. 570 PLOT x1,y1: DRAW xb-x1,yb-y1: LET x1=xb: LET y1=yb: LET f1=f2
  29. 580 NEXT p
  30. 590 NEXT l
  31. 600 REM draw wide-circle
  32. 610 FOR p=-90+d TO 90-d STEP d
  33. 615 LET f1=0
  34. 620 FOR l=0 TO 360 STEP 5
  35. 630 GO SUB 1000: REM xx,yy,zz
  36. 640 IF yy>0 THEN LET f2=0: LET f1=0: GO TO 680
  37. 650 LET xb=INT (u+xx+h): LET yb=INT (v+zz+h): LET f2=1
  38. 660 IF f1=0 THEN LET x1=xb: LET y1=yb: LET f1=1: GO TO 680
  39. 670 PLOT x1,y1: DRAW xb-x1,yb-y1: LET x1=xb: LET y1=yb: LET f1=f2
  40. 680 NEXT l
  41. 690 NEXT p
  42. 700 BEEP 1,25: PAUSE 0: STOP
  43. 999 REM sfere-coordinates>>>Cartesis Coordinate
  44. 1000 LET x=r*COS (p*bm)*COS (l*bm)
  45. 1010 LET y=r*COS (p*bm)*SIN (l*bm)
  46. 1020 LET z=r*SIN (p*bm)
  47. 1030 REM p(x,y,z) rotate to p(xx,yy,zz)
  48. 1040 LET xx=ax*x+ay*y+az*z
  49. 1050 LET yy=bx*x+by*y+bz*z
  50. 1060 LET zz=cx*x+cy*y+cz*z
  51. 1070 RETURN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement