source: js/standard_expdef_demo/js/config.js @ 880

Last change on this file since 880 was 880, checked in by Maciej Komosinski, 5 years ago

A simple javascript demo/animation of the basic behavior of "standard.expdef" experiment definition in Framsticks

File size: 6.4 KB
Line 
1/**
2 * @file Configuration File
3 * @author Patryk Gliszczynski
4 * @version 1.0
5 */
6
7var Config = {
8
9  Simulation: {
10    MUTATION_PROBABILITY: 0.5,
11    CROSSOVER_PROBABILITY: 0.3,
12    EVOLUTION_MAX_REPETITIONS: 100,
13    GENOTYPES: [
14      "/*4*/ #5,<<X><<X>X>X>>LLX",
15      "/*4*/ <X>l<X>l<<X>X>LLLX",
16      "/*4*/ <,<,,<,X,,>X>X>X",
17      "/*4*/ <X><X><<X>X><X>X",
18      "/*4*/ <<X>RR<<X>X>X>X",
19      "/*4*/ <<X><<X>X>X>X",
20    ],
21
22    Timing: {
23      INITIAL: 1000,
24      EVOLUTION_METHOD_SELECTION: 1000,
25      GENOTYPE_SELECTION: 3500,
26      EVOLUTION_RESULT: 100,
27      EVOLUTION_RETURN: 100,
28      SHOW_FRAMSTICK: 3500,
29      DESTROY_FRAMSTICK: 2500,
30      SHOW_RESULT: 2500
31    },
32
33    Element: {
34      Position: {
35        RESULT_TEXT: {x: 400, y: 305, z: -105},
36        MUTATION_TEXT: {x: 400, y: 460, z: -277},
37        CROSSOVER_TEXT: {x: 400, y: 540, z: -277},
38        FITNESS_TEXT: {x: 400, y: 300, z: 485},
39        EVOLVED_GENOTYPE_PLANK: {x: 400, y: 240, z: 0},
40        EVOLVED_FITNESS_PLANK: {x: 400, y: 240, z: 380},
41        MUTATION_GENOTYPE_PLANK: {x: 400, y: 400, z: 0},
42        MUTATION_FITNESS_PLANK: {x: 400, y: 400, z: 380},
43        CROSSOVER_GENOTYPE_PLANK1: {x: 400, y: 400, z: 0},
44        CROSSOVER_FITNESS_PLANK1: {x: 400, y: 400, z: 380},
45        CROSSOVER_GENOTYPE_PLANK2: {x: 400, y: 480, z: 0},
46        CROSSOVER_FITNESS_PLANK2: {x: 400, y: 480, z: 380}
47      },
48
49      Angle: {
50          SIDE_VIEW: {y: -Math.PI / 2},
51          NORMAL: {y: 0}
52      }
53    },
54
55    Camera: {
56      SPEED: 1800,
57      Position: {
58        TABLE: {x: 0, y: 100, z: 1200},
59        FRAMSTICK: {x: -723, y: 454, z: -4},
60        SIDE_VIEW: {x: -972, y: 206, z: -14}
61      }
62    }
63  },
64
65  Camera: {
66    FOV: 60,
67    ASPECT: window.innerWidth / window.innerHeight,
68    NEAR: 0.1,
69    FAR: 2000000,
70    X_POS: 0,
71    Y_POS: 100,
72    Z_POS: 1200
73  },
74
75  Controls: {
76    AUTO_ROTATE: false,
77    AUTO_ROTATE_SPEED: 1,
78    MIN_DISTANCE: 100,
79    MAX_DISTANCE: 1500,
80    MAX_POLAR_ANGLE: Math.PI / 2.2
81  },
82
83  Light: {
84    Ambient: {
85      COLOR: 0x8a8a8a
86    },
87
88    Directional: {
89      COLOR: 0xdfebff,
90      INTENSITY: 1,
91      X_POS: 50,
92      Y_POS: 200,
93      Z_POS: 100,
94      CAST_SHADOW: true,
95
96      Shadow: {
97        MapSize: {
98          WIDTH: 2048,
99          HEIGHT: 2048
100        },
101
102        Camera: {
103          LEFT: -2000,
104          RIGHT: 2000,
105          TOP: 2000,
106          BOTTOM: -2000,
107          FAR: 1000
108        }
109      }
110    }
111  },
112
113  WebGLRenderer: {
114    WIDTH: window.innerWidth,
115    HEIGHT: window.innerHeight,
116    PIXEL_RATIO: window.devicePixelRatio,
117    ANTIALIAS: true,
118    GAMMA_INPUT: true,
119    GAMMA_OUTPUT: true,
120
121    ShadowMap: {
122      ENABLED: true,
123      SINGLE_SIDED: false
124    }
125  },
126
127  CSS3DRenderer: {
128    WIDTH: window.innerWidth,
129    HEIGHT: window.innerHeight,
130    POSITION: "absolute",
131    TOP: 0
132  },
133
134  Fog: {
135    BACKGROUND: 0xb8edfc,
136    NEAR: 3000,
137    FAR: 15000
138  },
139
140  Sky: {
141    SCALE: 450000,
142    TURBIDITY: 3,
143    RAYLEIGH: 0.21,
144    LUMINANCE: 0.1,
145    MIE_COEFFICIENT: 0.005,
146    MIE_DIRECTIONAL_G: 1
147  },
148
149  Sun: {
150    RADIUS: 20000,
151    WIDTH_SEGMENTS: 16,
152    HEIGHT_SEGMENTS: 8,
153    COLOR: 0xffffff,
154    INCLINATION: 0.182,
155    AZIMUTH: 0.193,
156    Y_POS: -700000
157  },
158
159  Ground: {
160    TEXTURE: "https://raw.githubusercontent.com/mrdoob/three.js/master/examples/textures/terrain/grasslight-big.jpg",
161    REPEAT: 25,
162    ANISOTROPY: 16,
163    WIDTH: 25000,
164    Y_POS: -40,
165    X_ROT: -Math.PI / 2,
166    RECEIVE_SHADOW: true
167  },
168
169  Framstick: {
170    COLOR: 0xcacaca,
171    Y_POS: 100,
172    X_ROT: -Math.PI / 2,
173    CAST_SHADOW: true,
174    CAST_SHADOW: true,
175
176    Tween: {
177      Scale: {
178        Up: {
179          SIZE: 100,
180          EASING: TWEEN.Easing.Quadratic.InOut
181        },
182        Down: {
183          SIZE: 80,
184          EASING: TWEEN.Easing.Quadratic.InOut
185        },
186        SPEED: 500
187      },
188
189      Rotate: {
190        SPEED: 1000,
191        EASING: TWEEN.Easing.Linear.None
192      }
193    },
194
195    Geometry: {
196      PART: {
197        defaultShape: {
198          radius: 0.213,
199          segments: 16
200        },
201        ellipsoidShape: {
202          radius: 1,
203          segments: 32
204        }
205      },
206      JOINT: {
207        cylinderShape: {
208          radius: 0.1,
209          radiusSegments: 10,
210          isTransparent: false,
211          opacity: 1
212        },
213        linkShape: {
214          radius: 0.04,
215          radiusSegments: 10,
216          isTransparent: true,
217          opacity: 0.2
218        }
219      }
220    }
221  },
222
223  Table: {
224    Board: {
225      X_POS: 0,
226      Z_POS: -500,
227      WIDTH: 800,
228      THICKNESS: 50,
229      SPACING: 25,
230      TEXTURE: "https://raw.githubusercontent.com/mrdoob/three.js/dev/examples/textures/brick_diffuse.jpg",
231      REPEAT: 1,
232      ANISOTROPY: 8
233    },
234
235    GenotypePlank: {
236      X_POS: -70,
237      Z_POS: -470,
238      WIDTH: 600,
239      HEIGHT: 65,
240      THICKNESS: 10,
241      TEXTURE: "https://raw.githubusercontent.com/mrdoob/three.js/dev/examples/textures/hardwood2_diffuse.jpg",
242      REPEAT: 3,
243      ANISOTROPY: 8,
244      CAST_SHADOW: true,
245      RECEIVE_SHADOW: true,
246
247      Tween: {
248        Move: {
249          SPEED: 1000,
250          EASING: TWEEN.Easing.Quadratic.Out
251        },
252
253        Rotate: {
254          SPEED: 1000,
255          EASING: TWEEN.Easing.Quadratic.Out
256        }
257      }
258    },
259
260    FitnessPlank: {
261      X_POS: 310,
262      Z_POS: -470,
263      WIDTH: 150,
264      HEIGHT: 65,
265      THICKNESS: 10,
266      TEXTURE: "https://raw.githubusercontent.com/mrdoob/three.js/dev/examples/textures/hardwood2_diffuse.jpg",
267      REPEAT: 1,
268      ANISOTROPY: 8,
269      CAST_SHADOW: true,
270      RECEIVE_SHADOW: true,
271
272      Tween: {
273        Move: {
274          SPEED: 1000,
275          EASING: TWEEN.Easing.Quadratic.Out
276        },
277
278        Rotate: {
279          SPEED: 1000,
280          EASING: TWEEN.Easing.Quadratic.Out
281        }
282      }
283    }
284  },
285
286  Arrow: {
287    WIDTH: 30,
288    LENGTH: 100,
289    FACES: 32,
290    TEXTURE:"https://raw.githubusercontent.com/mrdoob/three.js/dev/examples/textures/hardwood2_diffuse.jpg",
291    REPEAT: 1,
292    ANISOTROPY: 8,
293    CAST_SHADOW: true,
294    RECEIVE_SHADOW: true,
295    X_POS: -500,
296    Z_POS: -500,
297    Z_ROT: -Math.PI / 2,
298
299    Tween: {
300
301      Scale: {
302        Up: {
303          SIZE: 1,
304          SPEED: 300,
305          EASING: TWEEN.Easing.Quadratic.InOut
306        }
307      },
308
309      Move: {
310        Right: {
311          X_POS: -450,
312          SPEED: 300,
313          EASING: TWEEN.Easing.Quadratic.InOut
314        },
315
316        Left: {
317          X_POS: -500,
318          SPEED: 300,
319          EASING: TWEEN.Easing.Quadratic.InOut
320        }
321      }
322    }
323  }
324};
Note: See TracBrowser for help on using the repository browser.