-//Two types of plaid motion\r
+\r
+/*\r
+//Two types of plaid motion\r
//E. H. Adelson and J. A. Movshon (1982).\r
//Phenomenal coherence of moving visual patterns. Nature 300, 523-525\r
\r
}\r
}\r
}\r
+*/\r
\r
\r
\r
-\r
-/*\r
using Psychlops;\r
//Position Bias Program\r
namespace PsychlopsSilverlightApp\r
{\r
Canvas cnvs;\r
Image img, img2, img3;\r
- int isize = 80; \r
+ int isize = 40; \r
int frames;\r
Psychlops.Widgets.Slider tfreq;\r
Psychlops.Widgets.Slider contrast;\r
Psychlops.Widgets.Slider lambda;\r
+ \r
\r
+ \r
public void psychlops_main()\r
{\r
cnvs = new Canvas(300, 600);\r
img2 = new Image(isize * 2, isize * 2);\r
img3 = new Image(isize * 2, isize * 2);\r
\r
+ Figures.ShaderGabor[] gabor1 = StaticFunctions.NewArray<Figures.ShaderGabor>(100);\r
+ foreach(var g in gabor1)\r
+ {\r
+ g.setSigma(isize / 8).centering().shift(Math.random(300) - 150, Math.random(600) - 300);\r
+ g.orientation = Math.random(2*Math.PI);\r
+ }\r
\r
while (true)\r
- {\r
+ {\r
cnvs.clear(new Color(0.5));\r
\r
- Figures.drawGabor(ref img, isize / 6, 1/lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * tfreq / 60);\r
- Figures.drawGabor(ref img2, isize / 6, 1 / lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * -tfreq / 60);\r
- Figures.drawGabor(ref img3, isize / 6, 1 / lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * tfreq / 60);\r
+ Figures.drawGabor(ref img, isize / 8, 1/lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * tfreq / 60);\r
+ Figures.drawGabor(ref img2, isize / 8, 1 / lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * -tfreq / 60);\r
+ Figures.drawGabor(ref img3, isize / 8, 1 / lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * tfreq / 60);\r
\r
- img.centering().shift(0, -isize * 1.5).draw();\r
- img2.centering().draw();\r
- img3.centering().shift(0, isize * 1.5).draw();\r
+\r
+ //img.centering().shift(0, -isize * 1.5).draw();\r
+ //img2.centering().draw();\r
+ //img3.centering().shift(0, isize * 1.5).draw();\r
+\r
+\r
+ foreach (var g in gabor1)\r
+ {\r
+ g.wavelength = lambda;\r
+ g.phase = (double)frames * 2.0 * Math.PI * tfreq / 60;\r
+ g.contrast = contrast;\r
+ g.draw();\r
+ }\r
\r
if (!Mouse.left.pressed()) frames++;\r
\r
}\r
}\r
}\r
-\r
-*/
\ No newline at end of file