In this
geometrical illusion, the vertical and horizontally edges of the checkerboard appear slightly tilted counterclockwise when superimposed with small diamonds placed at the checkerboard intersections. Note how the white-red diamond patterns alternate. With the provided “Blending” slider, you can control the contribution of the diamonds to the illusion.
This illusion was adapted from an illusion created by Prof.
Akiyoshi Kitaoka from Ritsumeikan University (Kyoto, Japan) and published on Twitter (
https://twitter.com/AkiyoshiKitaoka). Prof. Akiyoshi Kitaoka specializes in visual perception and visual illusions of geometrical shape, brightness, color, in motion illusions and other visual phenomena like Gestalt completion and perceptual transparency, based on a modern conception of Gestalt Psychology. He became renowned through his Rotating snakes illusion.
Visit his website to discover the amazing world of visual illusions he created over the years:
http://www.ritsumei.ac.jp/~akitaoka/index-e.html
Here is the math behind this stimulus:
alpha = blending/100
window = abs(x)<size/2.2 & abs(y)<size/2.2
obfilter1 = rectanglewave(x+y,w,-1/6,2/6)*rectanglewave(x-y,w,-1/6,2/6)
obfilter2 = rectanglewave(x+y-w,w,2/6,2/6)*rectanglewave(x-y,w,2/6,2/6)
mask = alpha*float(obfilter1>0 | obfilter2>0)*window
backplaid = plaid(x,y,v,w)
colorplaid1 = plaid(x+y,x-y,v/3,w/3)*obfilter1
colorplaid2 = plaid(x+y-w/2,x-y,v/3,w/3)*obfilter2
colorplaid = window*(colorplaid1+colorplaid2)
whiteplaid = (1-colorplaid)*mask
omask = 1-mask
obackplaid = 1-backplaid
zr = alpha*(r1*colorplaid+whiteplaid)+omask*(r2*backplaid+0.9*obackplaid)
zg = alpha*(g1*colorplaid+whiteplaid)+omask*(g2*backplaid+0.9*obackplaid)
zb = alpha*(b1*colorplaid+whiteplaid)+omask*(b2*backplaid+0.9*obackplaid)
The whole stimulus is generated in real-time using a
GLSL shader that runs right inside your WebGL-compatible browser. The plain Math behind the stimulus was converted to this optimized GLSL shader using the new
Psykinematix Pro Edition. Translation to Matlab and Python code is also possible !
This whole widget was also
fully generated using Psykinematix Pro Edition. The parameters that control the stimulus properties through the sliders are the same as the ones you would define as dependent or independent variables when using the stimulus in an actual psychophysical experiment run in Psykinematix. The widget creation is otherwise fully customizable with your own logo, copyright, links, etc.
To learn more about the widget creation, click on the above "Made With" button !