新しく発言する  EXIT  インデックスへ
ランダムドット・ステレオグラム

  ランダムドット・ステレオグラム ひでき 2008/01/28 23:57:58 

ランダムドット・ステレオグラム  返事を書く  ノートメニュー
ひでき <jweuhhncel> 2008/01/28 23:57:58
何森仁先生の「ステレオグラムをつくろう」という本を参考にして、関数のランダムドット・ステレオグラムをつくりました。
一応、正しく動作するのですが、次の2点の改造方法をお教えいただけませんか。
(1)関数をプログラムの中に埋め込むのではなく、入力できるようにしたい。(input文で可能なのでしょうか。tryしましたが、うまくいきませんでした。)
(2)行番号なしのプログラムにしたい。
よろしくお願いいたします。

10 !ランダムドット・ステレオグラム
20 RANDOMIZE
30 LET h=2
32 LET k=40
34 LET m=40
36 LET a=10
40 SET WINDOW -5,5,-5,5
50 INPUT PROMPT "回数=":n1
60 FOR n=1 TO n1
70 LET x0=10*RND-5
72 LET y0=10*RND-5
74 LET col=INT(7*RND)+1
76 SET AREA COLOR col
80 PLOT AREA: x0,-y0;x0+0.05,-y0;x0+0.05,-y0-0.05;x0,-y0-0.05
90 FOR s=1 TO -1 STEP -2
100 LET xg=x0
102 LET yd=y0
110 LET x=xg
112 LET y=yd
114 LET z=k
116 LET m1=1
120 LET xs=(xg+h*s)/a
122 LET ys=yd/a
124 LET zs=-m/a
130 FOR c=1 TO 3
140 LET x=x+xs
142 LET y=y+ys
144 LET z=z+zs
146 CALL kansuu(x,y)
150 LET m2=z-rittaiz
160 IF m1*m2>0 THEN
162 LET m1=m2
164 GOTO 140
166 END IF
170 LET m1=m2
172 LET xs=-xs/a
174 LET ys=-ys/a
176 LET zs=-zs/a
180 NEXT c
190 CALL zahyo(x,y,z)
200 IF ABS(xg)>5 THEN 220
210 PLOT AREA: xg,-yd;xg+0.05,-yd;xg+0.05,-yd-0.05;xg,-yd-0.05
215 GOTO 110
220 NEXT s
230 NEXT n
250 SUB zahyo(x,y,z)
260 LET xg=((k-z)*h*s+m*x)/(k+m-z)
270 LET yd=(m*y)/(k+m-z)
280 END SUB
290 SUB kansuu(x,y)
300 LET rittaiz=COS(SQR(x^2+y^2))
310 END sub
END

  (2)について 山中和義 2008/01/29 10:27:01 
  │└回転ランダムドット・ステレオグラムを作っ... ひでき 2008/01/31 23:42:09 
  (1)について 山中和義 2008/01/29 10:46:59  (修正1回)
  ワイヤーフレームのステレオ画像(擬似3D... 山中和義 2008/02/02 20:48:40 
  │└!2次元の絵(DRAW文)のステレオペア 山中和義 2008/02/04 11:59:05  (修正1回)
  ネットで、ステレオグラムについて検索して... ひでき 2008/02/03 13:30:56 

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。