OSDN Git Service

OK
[psychlops/silverlight.git] / test4 / PsychlopsMain.cs
1 \r
2 using Psychlops;\r
3 \r
4 namespace PsychlopsSilverlightApp\r
5 {\r
6 \r
7         public class PsychlopsMain\r
8         {\r
9 \r
10                 public void psychlops_main()\r
11                 {\r
12                         Canvas window = new Canvas(300,300);\r
13 \r
14                         Rectangle figure = new Rectangle();\r
15                         figure.set(100, 100);\r
16                         figure.fill = new Color(1, 1, 1);\r
17                         figure.centering().shift(0, 0);\r
18 \r
19                         int frame = 0;\r
20                         int looming_direction = 1, motion_dir = 1;\r
21 \r
22 \r
23                         while (!Keyboard.esc.pushed())\r
24                         {\r
25                                 window.clear(0);\r
26 \r
27                                 if (frame % 30 == 0)\r
28                                 {\r
29                                         looming_direction = looming_direction * -1;\r
30                                 }\r
31                                 if (frame % 90 == 0)\r
32                                 {\r
33                                         motion_dir *= -1;\r
34                                 }\r
35 \r
36                                 figure.resize(figure.getWidth() + looming_direction * 1,\r
37                                                                         figure.getHeight() + looming_direction * 1);\r
38                                 figure.shift(motion_dir * 1, motion_dir * 0);\r
39 \r
40                                 figure.draw();\r
41                                 window.flip();\r
42 \r
43                                 frame++;\r
44                         }\r
45 \r
46                 }\r
47 \r
48         }\r
49 }\r
50 \r
51         \r
52 /*      \r
53 using Psychlops;\r
54 //Position Bias Program\r
55 namespace PsychlopsSilverlightApp\r
56 {\r
57 \r
58         public class PsychlopsMain\r
59         {\r
60                 Canvas cnvs;\r
61                 Image img, img2, img3;\r
62                 int isize = 80;        \r
63                 int frames;\r
64                 Psychlops.Widgets.Slider tfreq;\r
65                 Psychlops.Widgets.Slider contrast;\r
66                 Psychlops.Widgets.Slider lambda;\r
67 \r
68                                 public void psychlops_main()\r
69                 {\r
70                         cnvs = new Canvas(300, 600);\r
71                         Interval rng = new Interval();\r
72                         tfreq = new Psychlops.Widgets.Slider("Temporal Frequency(Hz)", -5 <= rng <= 5, 3.0);\r
73                         contrast = new Psychlops.Widgets.Slider("Contrast", 0.0 <= rng <= 1.0, 0.25);\r
74                         lambda = new Psychlops.Widgets.Slider("Wave Length", 10.0 <= rng <= 120.0, 30);\r
75 \r
76                         img = new Image(isize * 2, isize * 2);\r
77                         img2 = new Image(isize * 2, isize * 2);\r
78                         img3 = new Image(isize * 2, isize * 2);\r
79 \r
80 \r
81                         while (true)\r
82                         {\r
83                                 cnvs.clear(new Color(0.5));\r
84 \r
85                                 Figures.drawGabor(ref img, isize / 6, 1/lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * tfreq / 60);\r
86                                 Figures.drawGabor(ref img2, isize / 6, 1 / lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * -tfreq / 60);\r
87                                 Figures.drawGabor(ref img3, isize / 6, 1 / lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * tfreq / 60);\r
88 \r
89                                 img.centering().shift(0, -isize * 1.5).draw();\r
90                                 img2.centering().draw();\r
91                                 img3.centering().shift(0, isize * 1.5).draw();\r
92                 \r
93                                 if (!Mouse.left.pressed()) frames++;\r
94 \r
95                                 cnvs.flip();\r
96                         }\r
97                 }\r
98         }\r
99 }\r
100 */\r