+static void
+model_init_molecule (Model *model)
+{
+ const int num_objects = 8;
+ const int num_springs = num_objects * 2;
+ const int spring_length = 50;
+ int i;
+
+ memset (model, 0, sizeof *model);
+ model->objects = g_new (Object, num_objects);
+ model->num_objects = num_objects;
+ model->springs = g_new (Spring, num_springs);
+ model->num_springs = num_springs;
+ model->k = 0.2;
+
+ for (i = 0; i < num_objects; i++) {
+ model->objects[i].position.x = 200 + i * 20;
+ model->objects[i].position.y = 200;
+ model->objects[i].previous_position.x = 200 + i * 20;
+ model->objects[i].previous_position.y = 200;
+ model->objects[i].mass = 0;
+ }
+
+ for (i = 0; i < num_objects; i++) {
+ model->springs[i * 2].a = &model->objects[i];
+ model->springs[i * 2].b = &model->objects[(i + 1) % num_objects];
+ model->springs[i * 2].length = spring_length;
+ model->springs[i * 2 + 1].a = &model->objects[i];
+ model->springs[i * 2 + 1].b = &model->objects[(i + 2) % num_objects];
+ model->springs[i * 2 + 1].length = spring_length;
+ }
+}
+