+object_init (Object *object, double x, double y, double mass)
+{
+ object->position.x = x;
+ object->position.y = y;
+ object->previous_position.x = x;
+ object->previous_position.y = y;
+ object->mass = mass;
+}
+
+void
+spring_init (Spring *spring, Object *a, Object *b, double length)
+{
+ spring->a = a;
+ spring->b = b;
+ spring->length = length;
+}
+
+void
+stick_init (Stick *stick, Object *a, Object *b, double length)
+{
+ stick->a = a;
+ stick->b = b;
+ stick->length = length;
+}
+
+void
+string_init (String *string, Object *a, Object *b, double length)
+{
+ string->a = a;
+ string->b = b;
+ string->length = length;
+}
+
+void
+offset_spring_init (OffsetSpring *spring, Object *a, Object *b,
+ double dx, double dy)
+{
+ spring->a = a;
+ spring->b = b;
+ spring->dx = dx;
+ spring->dy = dy;
+}
+
+void
+spacer_init (Spacer *spacer, Object *a, Object *b, double length)
+{
+ spacer->a = a;
+ spacer->b = b;
+ spacer->length = length;
+}
+
+void
+anchor_init (Anchor *anchor, Object *object, double x, double y)
+{
+ anchor->object = object;
+ anchor->x = x;
+ anchor->y = y;
+}
+
+void
+polygon_init (Polygon *p, int enclosing, int num_points, ...)