ハーモノグラフ

 投稿者:GAI  投稿日:2012年 8月23日(木)20時10分44秒
  これも刻々と図形が劇的に変化していくのが見られる。
なお、グラフィック画面のオプションでサイズを641×641でセットしておいて下さい。




DECLARE EXTERNAL PICTURE harmonograph

LET  A1 = 100
!LET  f1 = 2
LET  p1 = 1/16
LET  d1 = 0.02
LET  A2 = 100
!LET  f2 = 2
LET  p2 = 3 / 2
LET  d2 = 0.01
LET  A3 = 100
!LET  f3 = 2
LET  p3 = 13 / 15
LET  d3 = 0.04
LET  A4 = 100
!LET  f4 = 2
LET  p4 = 1
LET  d4 = 0.03

INPUT PROMPT "周期を4つ指定して下さい(6~10)?":a,b,c,d

SET WINDOW -202,202,-202,202
FOR f1=5 TO a
   FOR f2=5 TO b
      FOR f3=5 TO c
         FOR f4=5 TO d

            CLEAR
            DRAW harmonograph(A1,A2,A3,A4,f1,f2,f3,f4,p1,p2,p3,p4,d1,d2,d3,d4)

            PRINT "(f1,f2,f3,f4)=";"(";f1;",";f2;",";f3;",";f4;")"
            WAIT DELAY 2


            DEBUG ON  !気に入った図形が出現したら、スペースキーを押し続けて下さい。
            IF GetKeyState(32)<0 THEN BREAK

         NEXT f4
      NEXT f3
   NEXT f2
NEXT f1

END
EXTERNAL PICTURE harmonograph(A1,A2,A3,A4,f1,f2,f3,f4,p1,p2,p3,p4,d1,d2,d3,d4)
FOR i=0 TO 12000
   LET   x = A1*SIN(f1*RAD(i)+PI*p1)*EXP(-d1*RAD(i))+A2*SIN(f2*RAD(i)+PI*p2)*EXP(-d2*RAD(i))
   LET   y = A3*SIN(f3*RAD(i)+PI*p3)*EXP(-d3*RAD(i))+A4*SIN(f4*RAD(i)+PI*p4)*EXP(-d4*RAD(i))
   PLOT LINES : x,y;
NEXT i
END PICTURE
 

戻る