home *** CD-ROM | disk | FTP | other *** search
- 10 REM *** Spirals ***
- 20 REM
- 40 DELETE "spirals.inc"
- 60 DELETE PL$
- 70 LET PL$="sphere {<0,0,0>,1}"
- 80 LET TMP$="MyTexture"
- 90 TEX PL$=TMP$
- 100 FPRINT "// Spirals, Thiessenhusen '94"
- 105 FPRINT "// Idea from a M.C. Escher picture"
- 110 REM
- 120 REM The Spirals:
- 130 REM planet is moving around <0,0,0>
- 140 REM planet is rotating
- 150 REM moons are copied from the planet
- 160 LET SC0=0.2
- 170 LET SC^=<0.05,0.05,0.05>
- 180 LET PL$=TRANSLATE(PL$,VX)
- 190 LET SH_V^=0.3*VX
- 200 LET M1$=TRANSLATE#(PL$,-SH_V^)
- 210 LET M1$=SCALE#(M1$,SC^)
- 220 LET M2$=TRANSLATE#(PL$,SH_V^)
- 230 LET M2$=SCALE#(M2$,SC^)
- 240 FOR I=1 TO 100
- 242 LET UNI1$=M1$
- 244 LET UNI2$=M2$
- 248 FOR J=1 TO 10
- 250 LET SC=1-(1-SC0)*(10*(I-1)+J)/1000
- 260 LET M1_OLD$=M1$
- 270 LET M2_OLD$=M2$
- 280 LET PL$=ROTATE(PL$,<0,@0.5,0>)
- 290 LET PL$=ROTATE#(PL$,<0,0,@5>)
- 300 LET M1$=TRANSLATE#(PL$,-SC*SH_V^)
- 310 LET M1$=SCALE#(M1$,SC*SC^)
- 320 LET M2$=TRANSLATE#(PL$, SC*SH_V^)
- 330 LET M2$=SCALE#(M2$,SC*SC^)
- 340 LET A$=CTDS(M1$,M1_OLD$)
- 350 LET UNI1$=ADDOBJ(UNI1$,M1$,A$)
- 360 LET A$=CTDS(M2$,M2_OLD$)
- 370 LET UNI2$=ADDOBJ(UNI2$,M2$,A$)
-
- 380 NEXT J
- 382 PRINT "Steps:",I*J
- 384 LET UNI$=UNION(UNI1$,UNI2$)
- 388 BOUND UNI$
- 390 FPRINT UNI$
- 400 NEXT I
-