Skip to content

Instantly share code, notes, and snippets.

@monkeygroover
Created February 13, 2020 13:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save monkeygroover/f083b2aaf22f3a9fc8a994005c3b2eed to your computer and use it in GitHub Desktop.
Save monkeygroover/f083b2aaf22f3a9fc8a994005c3b2eed to your computer and use it in GitHub Desktop.
Dragon curve
10 MODE1: VDU23;8202;0;0;0; :M=9
20 DIM S(7),C(7)
30 FOR T=0 TO 7:S(T)=SIN(T*PI/4):C(T)=COS(T*PI/4):NEXT
40 MOVE 180,600
50 PROCDRAW(792,0,-1)
60 END
1000 DEF PROCDRAW(L,I,T)
1010 IF L<M THEN PLOT 1,L*C(I),L*S(I):ENDPROC
1020 L=L/1.414
1030 PROCDRAW(L,(I+T)AND7,1)
1040 PROCDRAW(L,(I-T)AND7,-1)
1050 ENDPROC
RUN
@monkeygroover
Copy link
Author

1 MODE1:VDU23;8202;0;0;0;:M=9:DIM S(7),C(7)
2 FOR T=0 TO 7:S(T)=SIN(TPI/4):C(T)=COS(TPI/4):NEXT
3 MOVE 180,600:PROCD(792,0,-1):END
4 DEF PROCD(L,I,T):IF L<M THEN PLOT 1,LC(I),LS(I):ENDPROC
5 L=L/1.41:PROCD(L,(I+T)AND7,1):PROCD(L,(I-T)AND7,-1):ENDPROC
RUN

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment