シミュラクラ現象 - しばっち
2024/11/17 (Sun) 08:08:05
https://ja.wikipedia.org/wiki/シミュラクラ現象
https://ja.wikipedia.org/wiki/パレイドリア
下記プログラムでは大きな丸(円・楕円)の中に丸(円・楕円)を3つ描いただけのものです(サンプル画像)
もし、これが人の顔のように見えたのならシミュラクラ現象(パレイドリア現象)による錯覚が起きた
といえるのではないでしょうか。
どんな時に錯覚(シミュラクラ現象、パレイドリア現象)が起きるのか検証してみるのも
おもしろいかもしれません。
SET WINDOW -.1,1.1,-.1,1.1
LOCATE VALUE NOWAIT(1) ,RANGE -.5 TO .5,AT 0:MOVEX1
LOCATE VALUE NOWAIT(2) ,RANGE -.5 TO .5,AT 0:MOVEY1
LOCATE VALUE NOWAIT(3) ,RANGE .1 TO 1,AT .45:SCALEX1
LOCATE VALUE NOWAIT(4) ,RANGE .1 TO 1,AT .57:SCALEY1
LOCATE VALUE NOWAIT(5) ,RANGE 3 TO 120,AT 3:N1
LOCATE VALUE NOWAIT(6) ,RANGE 0 TO 360,AT 0:ANG1
LOCATE VALUE NOWAIT(7) ,RANGE 0 TO .5,AT .21:MOVEX2
LOCATE VALUE NOWAIT(8) ,RANGE -.5 TO .5,AT 0:MOVEY2
LOCATE VALUE NOWAIT(9) ,RANGE .1 TO .5,AT .11:SCALEX2
LOCATE VALUE NOWAIT(10) ,RANGE .1 TO .5,AT .1:SCALEY2
LOCATE VALUE NOWAIT(11) ,RANGE 3 TO 120,AT 3:N2
LOCATE VALUE NOWAIT(12) ,RANGE 0 TO 360,AT 0:ANG2
LOCATE VALUE NOWAIT(13) ,RANGE -.5 TO .5,AT 0:MOVEX3
LOCATE VALUE NOWAIT(14) ,RANGE -.5 TO .5,AT 0:MOVEY3
LOCATE VALUE NOWAIT(15) ,RANGE .1 TO .5,AT .18:SCALEX3
LOCATE VALUE NOWAIT(16) ,RANGE .1 TO .5,AT .1:SCALEY3
LOCATE VALUE NOWAIT(17) ,RANGE 3 TO 120,AT 3:N3
LOCATE VALUE NOWAIT(18) ,RANGE 0 TO 360,AT 0:ANG3
DO
LOCATE VALUE NOWAIT(1):MOVEX1
LOCATE VALUE NOWAIT(2):MOVEY1
LOCATE VALUE NOWAIT(3):SCALEX1
LOCATE VALUE NOWAIT(4):SCALEY1
LOCATE VALUE NOWAIT(5):N1
LOCATE VALUE NOWAIT(6):ANG1
LET R1=INT(360/INT(N1))
LOCATE VALUE NOWAIT(7):MOVEX2
LOCATE VALUE NOWAIT(8):MOVEY2
LOCATE VALUE NOWAIT(9):SCALEX2
LOCATE VALUE NOWAIT(10):SCALEY2
LOCATE VALUE NOWAIT(11):N2
LOCATE VALUE NOWAIT(12):ANG2
LET R2=INT(360/INT(N2))
LOCATE VALUE NOWAIT(13):MOVEX3
LOCATE VALUE NOWAIT(14):MOVEY3
LOCATE VALUE NOWAIT(15):SCALEX3
LOCATE VALUE NOWAIT(16):SCALEY3
LOCATE VALUE NOWAIT(17):N3
LOCATE VALUE NOWAIT(18):ANG3
LET R3=INT(360/INT(N3))
DRAW POLY(R1) WITH SCALE(SCALEX1,SCALEY1)*ROTATE(ANG1)*SHIFT(.5+MOVEX1,.5+MOVEY1)
DRAW POLY(R2) WITH SCALE(SCALEX2,SCALEY2)*ROTATE(ANG2)*SHIFT(.5-MOVEX2,.7+MOVEY2)
DRAW POLY(R2) WITH SCALE(SCALEX2,SCALEY2)*ROTATE(ANG2)*SHIFT(.5+MOVEX2,.7+MOVEY2)
DRAW POLY(R3) WITH SCALE(SCALEX3,SCALEY3)*ROTATE(ANG3)*SHIFT(.5+MOVEX3,.2+MOVEY3)
SET DRAW MODE EXPLICIT
WAIT DELAY .2
SET DRAW MODE HIDDEN
CLEAR
LOOP
END
EXTERNAL PICTURE POLY(N)
OPTION ANGLE DEGREES
FOR T=0 TO 360+N STEP 360/N
PLOT LINES: COS(T),SIN(T);
NEXT T
PLOT LINES
END PICTURE