OSDN Git Service

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