]> Dogcows Code - chaz/rasterize/commitdiff
basic ray tracing with hard shadows
authorCharles McGarvey <chazmcgarvey@brokenzipper.com>
Thu, 19 Apr 2012 04:05:34 +0000 (22:05 -0600)
committerCharles McGarvey <chazmcgarvey@brokenzipper.com>
Thu, 19 Apr 2012 04:05:34 +0000 (22:05 -0600)
16 files changed:
Makefile
animate.lua
config.hh
contact.hh [new file with mode: 0644]
element.hh [new file with mode: 0644]
light.hh
light.urt [new file with mode: 0644]
plane.hh [new file with mode: 0644]
ray.hh [new file with mode: 0644]
scene.cc
scene.hh
sphere.hh [new file with mode: 0644]
teapot.urt [new file with mode: 0644]
tex.urt [new file with mode: 0644]
triangle.hh [new file with mode: 0644]
triangle.urt [new file with mode: 0644]

index 16e0ee76a0e655f45b7f5fe8efb9c388a3e47f49..62f6b7dd47bcddb1fd9c742db45710caf123f24d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,8 @@
 
 PROJECT = raytrace
-IUSE    = EXTRA_INLINE
+IUSE    = EXTRA_INLINE SHADOWS
+
+VIEWER  = feh
 
 CXX     = g++
 EXEEXT  =
@@ -31,7 +33,7 @@ dist:
        git archive HEAD --prefix=$(PROJECT)/ --output=$(PROJECT).zip
 
 run: $(PROG)
-       ./$<
+       ./$< && $(VIEWER) scene.ppm
 
 debug: $(PROG)
        gdb ./$<
index 0b7777699883128f7972581cf3204ba0c060a959..1e8daf7f5d0f34543cbda37adf40571420d0098a 100755 (executable)
@@ -17,8 +17,8 @@ local frames = 360
 -- Define the code to calculate where the camera is, in world coordinates.
 local eye = function(frame)
     -- just rotate around the center of the scene on the XZ plane
-    local center    = vec_new(0, 0.4, 0)
-    local distance  = 0.7
+    local center    = vec_new(0, -0.5, 0)
+    local distance  = 4
     local start     = math.pi
     local t = start + 2 * math.pi * frame / frames
     local v = vec_new(math.cos(t), 0, math.sin(t))
@@ -35,7 +35,12 @@ end
 -- extended urt format.
 local scene = [[
 l 0.0 10.0 1.0 0.8 0.7 0.8
-s 0.0 0.0 0.0 1.0 1.0 0.0 0.0
+p 0.0 -5.0 0.0 0.0 1.0 0.0 0.4 0.8 0.4
+s 0.0 0.0 0.0 1.25 1.0 0.0 0.0
+s -1.0 -1.0 0.0 1.0 0.0 1.0 0.0
+s 1.0 -1.0 0.0 1.0 0.0 0.0 1.0
+t -1.5 0.0 1.5 -1.0 1.0 0.0 -0.5 0.0 1.5 0.8 0.9 0.2
+t 1.5 0.0 1.5 1.0 1.0 0.0 0.5 0.0 1.5 0.2 0.9 0.8
 ]]
 
 -- Set the number of samples for supersampling.  If this is set to a value
@@ -92,7 +97,7 @@ U5
 %f %f %f
 0 1 0
 1.57 %f
-1.0 1.0 1.0
+0.4 0.4 0.4
 %s
 X
 ]], w, h, e.x, e.y, e.z, l.x, l.y, l.z, size.w/size.h, scene))
index 651b600ec2f7fe80c649586fc29fd6d065717302..0dde062edddf8201d7043152178a39f32e0d0453 100644 (file)
--- a/config.hh
+++ b/config.hh
 #define IF_NDEBUG(X)
 #endif
 
+/*
+ * SHADOWS
+ * If enabled, scene elements will cast shadows on other elements.
+ */
+#if SHADOWS
+#define IF_SHADOWS(X) X
+#else
+#define IF_SHADOWS(X)
+#endif
+
 /*
  * VERBOSITY
  * If enabled, a description of what is happening will be printed to stdout.
diff --git a/contact.hh b/contact.hh
new file mode 100644 (file)
index 0000000..a140cc2
--- /dev/null
@@ -0,0 +1,52 @@
+
+/*
+ * CS5600 University of Utah
+ * Charles McGarvey
+ * mcgarvey@eng.utah.edu
+ */
+
+#ifndef _CONTACT_HH_
+#define _CONTACT_HH_
+
+#include "vec.hh"
+
+
+/*
+ * A class for a collision contact.
+ */
+struct contact
+{
+    vec_t   p;  // point of collision
+    vec_t   n;  // normal of surface at collision point
+    scal_t  d;  // distance along the ray
+};
+typedef struct contact contact_t;
+
+/*
+ * Initialize a contact with a point of contact, normal of surface at
+ * contact point, and distance along ray.
+ */
+INLINE_MAYBE
+void contact_init(contact_t* c, vec_t point, vec_t normal, scal_t distance)
+{
+    c->p = point;
+    c->n = normal;
+    c->d = distance;
+}
+
+
+/*
+ * Create a new contact with a point of contact, normal of surface at
+ * contact point, and distance along ray.
+ */
+INLINE_MAYBE
+contact_t contact_new(vec_t point, vec_t normal, scal_t distance)
+{
+    contact_t c;
+    contact_init(&c, point, normal, distance);
+    return c;
+}
+
+
+#endif // _CONTACT_HH_
+
diff --git a/element.hh b/element.hh
new file mode 100644 (file)
index 0000000..7eb8988
--- /dev/null
@@ -0,0 +1,103 @@
+
+/*
+ * CS5600 University of Utah
+ * Charles McGarvey
+ * mcgarvey@eng.utah.edu
+ */
+
+#ifndef _ELEMENT_HH_
+#define _ELEMENT_HH_
+
+#include "color.hh"
+#include "contact.hh"
+#include "light.hh"
+#include "ray.hh"
+#include "scene.hh"
+
+
+namespace rt {
+
+
+/*
+ * A base class for an object in a scene.
+ */
+class element
+{
+public:
+
+    virtual ~element()
+    {}
+
+    /*
+     * Determine if a ray intersects this element.
+     */
+    virtual bool intersect(ray_t ray, contact_t& hit) const = 0;
+
+    /*
+     * Get the material color of the element at a surface point.
+     */
+    virtual color_t color(vec_t point) const
+    {
+        return COLOR_WHITE;
+    }
+
+    /*
+     * Cast a ray to this element, returning the correct color value.
+     */
+    color_t cast(const contact_t& hit, const scene_t* scene) const
+    {
+        color_t Ia = color_mult(scene_ambient(scene), color(hit.p));
+        color_t Id = diffuse(hit, scene);
+        return color_clamp(color_add(Ia, Id));
+    }
+
+    /*
+     * Get whether or not a particular surface point is shadowed by other
+     * objects for a given light source.
+     */
+    bool is_shadowed(const contact_t& hit, const scene_t* scene, const light_t* light) const
+    {
+#if SHADOWS
+        ray_t ray = ray_normalize(ray_new(hit.p, vec_sub(light->v, hit.p)));
+        for (list_t* i = scene_elements(scene); i; i = i->link) {
+            rt::element*    obj = (rt::element*)i->val;
+            contact_t       hit;
+            if (this != obj && obj->intersect(ray, hit)) {
+                return true;
+            }
+        }
+#endif
+
+        return false;
+    }
+
+    /*
+     * Get the color of the element at a surface point after diffuse
+     * lighting.
+     */
+    color_t diffuse(const contact_t& hit, const scene_t* scene) const
+    {
+        color_t kd = color(hit.p);
+        vec_t   n = vec_normalize(hit.n);
+
+        color_t c = COLOR_BLACK;
+
+        for (list_t* i = scene_lights(scene); i; i = i->link) {
+            light_t* l = (light_t*)i->val;
+            if (!is_shadowed(hit, scene, l)) {
+                vec_t I = vec_normalize(vec_sub(l->v, hit.p));
+                scal_t  dot = scal_max(vec_dot(I, n), S(0.0));
+                color_t Id = color_scale2(kd, l->d, dot);
+                c = color_add(c, Id);
+            }
+        }
+
+        return c;
+    }
+};
+
+
+} // namespace rt
+
+#endif // _ELEMENT_HH_
+
index 2ab9c6aaa50f1cf977bfff570a59d1aa6233c409..4f1961e945387d981d763d31db2bf0a39433f5ba 100644 (file)
--- a/light.hh
+++ b/light.hh
@@ -19,7 +19,6 @@ struct light
 {
     vec_t   v;  // position
     color_t d;  // diffuse
-    color_t s;  // specular
 };
 typedef struct light light_t;
 
@@ -27,11 +26,10 @@ typedef struct light light_t;
  * Initialize a light with a position and color.
  */
 INLINE_MAYBE
-void light_init(light_t* l, vec_t position, color_t diffuse, color_t specular)
+void light_init(light_t* l, vec_t position, color_t diffuse)
 {
     l->v = position;
     l->d = diffuse;
-    l->s = specular;
 }
 
 
@@ -39,10 +37,10 @@ void light_init(light_t* l, vec_t position, color_t diffuse, color_t specular)
  * Create a new light with a position and color.
  */
 INLINE_MAYBE
-light_t light_new(vec_t position, color_t diffuse, color_t specular)
+light_t light_new(vec_t position, color_t diffuse)
 {
     light_t l;
-    light_init(&l, position, diffuse, specular);
+    light_init(&l, position, diffuse);
     return l;
 }
 
@@ -51,10 +49,10 @@ light_t light_new(vec_t position, color_t diffuse, color_t specular)
  * Create a new light on the heap.
  */
 INLINE_MAYBE
-light_t* light_alloc(vec_t position, color_t diffuse, color_t specular)
+light_t* light_alloc(vec_t position, color_t diffuse)
 {
     light_t* l = (light_t*)mem_alloc(sizeof(light_t));
-    light_init(l, position, diffuse, specular);
+    light_init(l, position, diffuse);
     return l;
 }
 
diff --git a/light.urt b/light.urt
new file mode 100644 (file)
index 0000000..7c9efb6
--- /dev/null
+++ b/light.urt
@@ -0,0 +1,13 @@
+U5
+800 600
+0.0 5.0 10.0
+0.0 0.0 0.0
+0.0 1.0 0.0
+1.57 1.333
+0.4 0.4 0.4
+l 0.0 0.0 1.0 0.8 0.7 0.8
+l 2.0 0.0 1.0 0.4 0.7 0.9
+p 0.0 -5.0 0.0 0.0 1.0 0.0 0.4 0.8 0.4
+s 0.0 -3.0 0.0 1.25 1.0 0.0 0.0
+s -3.0 -2.0 0.0 1.0 0.0 1.0 0.0
+s 3.0 -3.1 0.0 1.0 0.0 0.0 1.0
diff --git a/plane.hh b/plane.hh
new file mode 100644 (file)
index 0000000..6190cf9
--- /dev/null
+++ b/plane.hh
@@ -0,0 +1,98 @@
+
+/*
+ * CS5600 University of Utah
+ * Charles McGarvey
+ * mcgarvey@eng.utah.edu
+ */
+
+#ifndef _PLANE_HH_
+#define _PLANE_HH_
+
+#include "color.hh"
+#include "element.hh"
+
+
+namespace rt {
+
+
+/*
+ * A class for a plane object.
+ */
+class plane : public element
+{
+public:
+
+    color_t material;
+    vec_t   normal;
+    scal_t  distance;
+
+    plane(vec_t n, scal_t d, color_t color = COLOR_WHITE) :
+        normal(n), distance(d), material(color)
+    {}
+
+    plane(vec_t p, vec_t n, color_t color = COLOR_WHITE) :
+        normal(vec_normalize(n)), distance(-vec_dot(normal, p)), material(color)
+    {}
+
+    plane(vec_t a, vec_t b,  vec_t c, color_t color = COLOR_WHITE) :
+        normal(vec_normalize(vec_cross(vec_sub(b, a), vec_sub(c, a)))),
+        distance(-vec_dot(normal, a)), material(color)
+    {}
+
+    virtual ~plane()
+    {}
+
+    virtual bool intersect(ray_t ray, contact_t& hit) const
+    {
+               // solve: [(ray.point + t*ray.direction) dot normal] + d = 0
+
+               scal_t denom = vec_dot(ray.d, normal);
+
+               // check for parallel condition
+               if (denom == S(0.0)) {
+                       if (scal_isequal(vec_dot(ray.o, normal), -distance)) {
+                hit.p = ray.o;
+                               hit.d = S(0.0);
+                               hit.n = VEC_ZERO;
+                               return true;    // the ray lies on the plane
+                       }
+                       return false;       // no solution
+               }
+
+               scal_t numer = vec_dot(ray.o, normal) + distance;
+               hit.d = -numer / denom;
+               if (hit.d < S(0.0)) {
+            return false;
+        }
+
+        hit.p = ray_solve(ray, hit.d);
+               if (S(0.0) <= numer) {
+            hit.n = normal;
+        }
+               else {
+            hit.n = vec_neg(normal);
+        }
+               return true;
+    }
+
+    virtual color_t color(vec_t point) const
+    {
+        return material;
+    }
+};
+
+
+/*
+ * Destroy a new'd plane, releasing its memory.
+ */
+INLINE_MAYBE
+void plane_destroy(plane* p)
+{
+    delete p;
+}
+
+
+} // namespace rt
+
+#endif // _PLANE_HH_
+
diff --git a/ray.hh b/ray.hh
new file mode 100644 (file)
index 0000000..0e2bb67
--- /dev/null
+++ b/ray.hh
@@ -0,0 +1,69 @@
+
+/*
+ * CS5600 University of Utah
+ * Charles McGarvey
+ * mcgarvey@eng.utah.edu
+ */
+
+#ifndef _RAY_HH_
+#define _RAY_HH_
+
+#include "vec.hh"
+
+
+/*
+ * A simple ray class.
+ */
+struct ray
+{
+    vec_t o;
+    vec_t d;
+};
+typedef struct ray ray_t;
+
+/*
+ * Initialize a ray with an origin point and a direction.
+ */
+INLINE_MAYBE
+void ray_init(ray_t* r, vec_t origin, vec_t direction)
+{
+    r->o = origin;
+    r->d = direction;
+}
+
+
+/*
+ * Create a new ray with an origin point and a direction.
+ */
+INLINE_MAYBE
+ray_t ray_new(vec_t origin, vec_t direction)
+{
+    ray_t r;
+    ray_init(&r, origin, direction);
+    return r;
+}
+
+
+/*
+ * Normalize the direction of a ray.
+ */
+INLINE_MAYBE
+ray_t ray_normalize(ray_t r)
+{
+    return ray_new(r.o, vec_normalize(r.d));
+}
+
+
+/*
+ * Solve for a point along the array, given a distance.  The ray must be
+ * normalized for this to work as expected.
+ */
+INLINE_MAYBE
+vec_t ray_solve(ray_t r, scal_t distance)
+{
+    return vec_add(r.o, vec_scale(r.d, distance));
+}
+
+
+#endif // _RAY_HH_
+
index f0635d800a6bc10de5a53aa6af8be680ce085443..a415ab084d0354342a420c3cd0a3876ca5d804f5 100644 (file)
--- a/scene.cc
+++ b/scene.cc
@@ -6,9 +6,13 @@
  */
 
 #include <cerrno>
+#include <cmath>
 
+#include "contact.hh"
 #include "light.hh"
-#include "list.hh"
+#include "plane.hh"
+#include "sphere.hh"
+#include "triangle.hh"
 #include "vec.hh"
 
 #include "scene.hh"
 static int _scene_add_light(scene_t* s, FILE* file);
 static int _scene_add_sphere(scene_t* s, FILE* file);
 static int _scene_add_plane(scene_t* s, FILE* file);
+static int _scene_add_triangle(scene_t* s, FILE* file);
 
 
 struct scene
 {
     int     w, h;
     vec_t   eye;
-    vec_t   spot;
-    vec_t   up;
+    vec_t   screenCenter;
+    vec_t   screenU;
+    vec_t   screenV;
     list_t* lights;
-    list_t* spheres;
-    list_t* planes;
+    list_t* objects;
     color_t ambient;
 };
 
@@ -47,16 +52,26 @@ scene_t* scene_alloc(FILE* file)
         return NULL;
     }
 
+    vec_t eye = vec_new(eyeX, eyeY, eyeZ);
+    vec_t spot = vec_new(spotX, spotY, spotZ);
+    vec_t up = vec_new(upX, upY, upZ);
+    scal_t d = S(1.0) / scal_tan((scal_t)fovy * S(0.5));
+
+    vec_t look = vec_normalize(vec_sub(spot, eye));
+    vec_t screenCenter = vec_scale(look, d);
+    vec_t screenU = vec_normalize(vec_cross(look, up));
+    vec_t screenV = vec_cross(screenU, look);
+    screenU = vec_scale(screenU, (scal_t)aspect);
+
     scene_t* s = (scene_t*)mem_alloc(sizeof(scene_t));
     s->w = w;
     s->h = h;
-    s->eye = vec_new(eyeX, eyeY, eyeZ);
-    s->spot = vec_new(spotX, spotY, spotZ);
-    s->up = vec_new(upX, upY, upZ);
-    // what to do with fovy and aspect...
+    s->eye = eye;
+    s->screenCenter = screenCenter;
+    s->screenU = screenU;
+    s->screenV = screenV;
     s->lights = NULL;
-    s->spheres = NULL;
-    s->planes = NULL;
+    s->objects = NULL;
     s->ambient = color_new((scal_t)aR, (scal_t)aG, (scal_t)aB, S(1.0));
 
     char type;
@@ -80,6 +95,12 @@ scene_t* scene_alloc(FILE* file)
                 }
                 break;
 
+            case 't':
+                if (_scene_add_triangle(s, file) != 0) {
+                    goto fail;
+                }
+                break;
+
             case 'X':
                 goto done;
 
@@ -87,11 +108,9 @@ scene_t* scene_alloc(FILE* file)
                 fprintf(stderr, "Unknown identifier: %c\n", type);
         }
     }
-#undef _ASSERT_G
 
 done:
-    if (s->spheres) list_reverse(&s->spheres);
-    if (s->planes) list_reverse(&s->planes);
+    if (s->objects) list_reverse(&s->objects);
     return s;
 
 fail:
@@ -102,8 +121,7 @@ fail:
 void scene_destroy(scene_t* s)
 {
     if (s->lights) list_destroy(&s->lights);
-    if (s->spheres) list_destroy(&s->spheres);
-    if (s->planes) list_destroy(&s->planes);
+    if (s->objects) list_destroy(&s->objects);
     mem_free(s);
 }
 
@@ -121,7 +139,6 @@ static int _scene_add_light(scene_t* s, FILE* file)
     }
     light_t* l = light_alloc(
             vec_new(lx, ly, lz),
-            color_new((scal_t)r, (scal_t)g, (scal_t)b, S(1.0)),
             color_new((scal_t)r, (scal_t)g, (scal_t)b, S(1.0))
     );
     list_push2(&s->lights, l, mem_free);
@@ -136,7 +153,12 @@ static int _scene_add_sphere(scene_t* s, FILE* file)
         fprintf(stderr, "Cannot read sphere values from scene.\n");
         return -1;
     }
-    /*list_push2(&s->spheres, s, mem_free);*/
+    rt::element* sphere = new rt::sphere(
+            vec_new((scal_t)x, (scal_t)y, (scal_t)z),
+            (scal_t)radius,
+            color_new((scal_t)r, (scal_t)g, (scal_t)b, S(1.0))
+            );
+    list_push2(&s->objects, sphere, DTOR(rt::sphere_destroy));
     return 0;
 }
 
@@ -148,12 +170,51 @@ static int _scene_add_plane(scene_t* s, FILE* file)
         fprintf(stderr, "Cannot read plane values from scene.\n");
         return -1;
     }
-    /*list_push2(&s->planes, s, mem_free);*/
+    rt::element* plane = new rt::plane(
+            vec_new((scal_t)x, (scal_t)y, (scal_t)z),
+            vec_new((scal_t)nx, (scal_t)ny, (scal_t)nz),
+            color_new((scal_t)r, (scal_t)g, (scal_t)b, S(1.0))
+            );
+    list_push2(&s->objects, plane, DTOR(rt::plane_destroy));
+    return 0;
+}
+
+static int _scene_add_triangle(scene_t* s, FILE* file)
+{
+    double x1, y1, z1, x2, y2, z2, x3, y3, z3, r, g, b;
+    if (fscanf(file, " %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf",
+               &x1, &y1, &z1, &x2, &y2, &z2, &x3, &y3, &z3, &r, &g, &b) != 12) {
+        fprintf(stderr, "Cannot read triangle values from scene.\n");
+        return -1;
+    }
+    rt::element* triangle = new rt::triangle(
+            vec_new((scal_t)x1, (scal_t)y1, (scal_t)z1),
+            vec_new((scal_t)x2, (scal_t)y2, (scal_t)z2),
+            vec_new((scal_t)x3, (scal_t)y3, (scal_t)z3),
+            color_new((scal_t)r, (scal_t)g, (scal_t)b, S(1.0))
+            );
+    list_push2(&s->objects, triangle, DTOR(rt::triangle_destroy));
     return 0;
 }
 
 
-raster_t* scene_render(scene_t* s)
+list_t* scene_elements(const scene_t* s)
+{
+    return s->objects;
+}
+
+list_t* scene_lights(const scene_t* s)
+{
+    return s->lights;
+}
+
+color_t scene_ambient(const scene_t* s)
+{
+    return s->ambient;
+}
+
+
+raster_t* scene_render(const scene_t* s)
 {
 #if VERBOSITY >= 3
     timer_start();
@@ -169,7 +230,37 @@ raster_t* scene_render(scene_t* s)
     printf("rendering scene...\n");
 #endif
 
-    // RENDER IT
+    scal_t wh = S(2.0) / (scal_t)s->w;
+    scal_t hh = S(2.0) / (scal_t)s->h;
+
+    for (int y = 0; y < s->h; ++y) {
+        for (int x = 0; x < s->w; ++x) {
+            color_t* pixel = raster_color(p, x, y);
+            scal_t u = (scal_t)x * wh - S(1.0);
+            scal_t v = (scal_t)y * hh - S(1.0);
+            vec_t rayDirection = vec_add2(s->screenCenter,
+                    vec_scale(s->screenU, u), vec_scale(s->screenV, v));
+
+            ray_t ray = ray_normalize(ray_new(s->eye, rayDirection));
+
+            rt::element*    nearestObj = 0;
+            contact_t       nearestHit;
+
+            // find the nearest object along the ray
+            for (list_t* i = s->objects; i; i = i->link) {
+                rt::element*    obj = (rt::element*)i->val;
+                contact_t       hit;
+                if (obj->intersect(ray, hit) && (!nearestObj || hit.d < nearestHit.d)) {
+                    nearestObj = obj;
+                    nearestHit = hit;
+                }
+            }
+
+            if (nearestObj) {
+                *pixel = nearestObj->cast(nearestHit, s);
+            }
+        }
+    }
 
 #if VERBOSITY >= 3
     long dt = timer_stop();
index 3e7293ddbff93dbc706eb30e16ddd75d57855553..e0c7d393376c062fdf36b8bba0e530731caf5f49 100644 (file)
--- a/scene.hh
+++ b/scene.hh
@@ -8,6 +8,7 @@
 #ifndef _SCENE_HH_
 #define _SCENE_HH_
 
+#include "list.hh"
 #include "raster.hh"
 
 
@@ -27,11 +28,27 @@ scene_t* scene_alloc(FILE* file);
 void scene_destroy(scene_t* s);
 
 
+/*
+ * Get the elements of a scene.
+ */
+list_t* scene_elements(const scene_t* s);
+
+/*
+ * Get the lights of a scene.
+ */
+list_t* scene_lights(const scene_t* s);
+
+/*
+ * Get the ambient light color of the scene.
+ */
+color_t scene_ambient(const scene_t* s);
+
+
 /*
  * Render a scene to an in-memory raster.  The caller takes ownership of the
  * returned object and must destroy it when it is no longer needed.
  */
-raster_t* scene_render(scene_t* s);
+raster_t* scene_render(const scene_t* s);
 
 
 #endif // _SCENE_HH_
diff --git a/sphere.hh b/sphere.hh
new file mode 100644 (file)
index 0000000..cbacac9
--- /dev/null
+++ b/sphere.hh
@@ -0,0 +1,84 @@
+
+/*
+ * CS5600 University of Utah
+ * Charles McGarvey
+ * mcgarvey@eng.utah.edu
+ */
+
+#ifndef _SPHERE_HH_
+#define _SPHERE_HH_
+
+#include "color.hh"
+#include "element.hh"
+
+
+namespace rt {
+
+
+/*
+ * A class for a sphere object.
+ */
+class sphere : public element
+{
+public:
+
+    color_t material;
+    vec_t   origin;
+    scal_t  radius;
+
+    sphere(vec_t o, scal_t r = S(1.0), color_t color = COLOR_WHITE) :
+        origin(o), radius(r), material(color)
+    {}
+
+    virtual ~sphere()
+    {}
+
+    virtual bool intersect(ray_t ray, contact_t& hit) const
+    {
+        vec_t   b = vec_sub(origin, ray.o);
+               scal_t  z = vec_dot(b, ray.d);
+
+               // check if the sphere is behind the ray
+               if (z < S(0.0)) {
+            return false;
+        }
+
+               scal_t d2 = vec_dot(b, b) - z * z;
+               scal_t r2 = radius * radius;
+
+               // check for an intersection
+               if (r2 < d2) {
+            return false;
+        }
+
+               hit.d = z - std::sqrt(r2 - d2);
+               if (hit.d < S(0.0)) {
+            return false;
+        }
+
+        hit.p = ray_solve(ray, hit.d);
+        hit.n = vec_sub(hit.p, origin);
+               return true;
+    }
+
+    virtual color_t color(vec_t point) const
+    {
+        return material;
+    }
+};
+
+
+/*
+ * Destroy a new'd sphere, releasing its memory.
+ */
+INLINE_MAYBE
+void sphere_destroy(sphere* s)
+{
+    delete s;
+}
+
+
+} // namespace rt
+
+#endif // _SPHERE_HH_
+
diff --git a/teapot.urt b/teapot.urt
new file mode 100644 (file)
index 0000000..34ebe27
--- /dev/null
@@ -0,0 +1,1033 @@
+U5
+160 120
+0.0 75.0 200.0
+0.0 0.0 0.0
+0.0 1.0 0.0
+1.57 1.333
+0.4 0.4 0.4
+l 0.0 1000.0 1.0 0.8 0.7 0.8
+p 0.0 -100.0 0.0 0.0 1.0 0.0 0.4 0.4 0.1
+t 37.7841 28.3457 -1.10804 34.9202 28.3457 -15.6121 31.1507 30.8773 -14.0083 0.2 0.8 0.1
+t 31.1507 30.8773 -14.0083 33.6979 30.8773 -1.10804 37.7841 28.3457 -1.10804 0.2 0.8 0.1
+t 33.6979 30.8773 -1.10804 31.1507 30.8773 -14.0083 22.4646 32.6095 -10.3125 0.2 0.8 0.1
+t 22.4646 32.6095 -10.3125 24.282 32.6095 -1.10804 33.6979 30.8773 -1.10804 0.2 0.8 0.1
+t 24.282 32.6095 -1.10804 22.4646 32.6095 -10.3125 12.795 34.3417 -6.19841 0.2 0.8 0.1
+t 12.795 34.3417 -6.19841 13.8001 34.3417 -1.10804 24.282 32.6095 -1.10804 0.2 0.8 0.1
+t 13.8001 34.3417 -1.10804 12.795 34.3417 -6.19841 6.07552 36.8733 -3.33943 0.2 0.8 0.1
+t 6.07552 36.8733 -3.33943 6.51611 36.8733 -1.10804 13.8001 34.3417 -1.10804 0.2 0.8 0.1
+t 34.9202 28.3457 -15.6121 27.0677 28.3457 -27.3447 24.1665 30.8773 -24.4435 0.2 0.8 0.1
+t 24.1665 30.8773 -24.4435 31.1507 30.8773 -14.0083 34.9202 28.3457 -15.6121 0.2 0.8 0.1
+t 31.1507 30.8773 -14.0083 24.1665 30.8773 -24.4435 17.4812 32.6095 -17.7582 0.2 0.8 0.1
+t 17.4812 32.6095 -17.7582 22.4646 32.6095 -10.3125 31.1507 30.8773 -14.0083 0.2 0.8 0.1
+t 22.4646 32.6095 -10.3125 17.4812 32.6095 -17.7582 10.0391 34.3417 -10.3161 0.2 0.8 0.1
+t 10.0391 34.3417 -10.3161 12.795 34.3417 -6.19841 22.4646 32.6095 -10.3125 0.2 0.8 0.1
+t 12.795 34.3417 -6.19841 10.0391 34.3417 -10.3161 4.86744 36.8733 -5.14445 0.2 0.8 0.1
+t 4.86744 36.8733 -5.14445 6.07552 36.8733 -3.33943 12.795 34.3417 -6.19841 0.2 0.8 0.1
+t 27.0677 28.3457 -27.3447 15.3351 28.3457 -35.1972 13.7313 30.8773 -31.4277 0.2 0.8 0.1
+t 13.7313 30.8773 -31.4277 24.1665 30.8773 -24.4435 27.0677 28.3457 -27.3447 0.2 0.8 0.1
+t 24.1665 30.8773 -24.4435 13.7313 30.8773 -31.4277 10.0355 32.6095 -22.7416 0.2 0.8 0.1
+t 10.0355 32.6095 -22.7416 17.4812 32.6095 -17.7582 24.1665 30.8773 -24.4435 0.2 0.8 0.1
+t 17.4812 32.6095 -17.7582 10.0355 32.6095 -22.7416 5.9214 34.3417 -13.072 0.2 0.8 0.1
+t 5.9214 34.3417 -13.072 10.0391 34.3417 -10.3161 17.4812 32.6095 -17.7582 0.2 0.8 0.1
+t 10.0391 34.3417 -10.3161 5.9214 34.3417 -13.072 3.06242 36.8733 -6.35253 0.2 0.8 0.1
+t 3.06242 36.8733 -6.35253 4.86744 36.8733 -5.14445 10.0391 34.3417 -10.3161 0.2 0.8 0.1
+t 15.3351 28.3457 -35.1972 0.831025 28.3457 -38.0611 0.831025 30.8773 -33.9749 0.2 0.8 0.1
+t 0.831025 30.8773 -33.9749 13.7313 30.8773 -31.4277 15.3351 28.3457 -35.1972 0.2 0.8 0.1
+t 13.7313 30.8773 -31.4277 0.831025 30.8773 -33.9749 0.831025 32.6095 -24.559 0.2 0.8 0.1
+t 0.831025 32.6095 -24.559 10.0355 32.6095 -22.7416 13.7313 30.8773 -31.4277 0.2 0.8 0.1
+t 10.0355 32.6095 -22.7416 0.831025 32.6095 -24.559 0.831025 34.3417 -14.0771 0.2 0.8 0.1
+t 0.831025 34.3417 -14.0771 5.9214 34.3417 -13.072 10.0355 32.6095 -22.7416 0.2 0.8 0.1
+t 5.9214 34.3417 -13.072 0.831025 34.3417 -14.0771 0.831025 36.8733 -6.79312 0.2 0.8 0.1
+t 0.831025 36.8733 -6.79312 3.06242 36.8733 -6.35253 5.9214 34.3417 -13.072 0.2 0.8 0.1
+t 0.831025 28.3457 -38.0611 -13.673 28.3457 -35.1972 -12.0692 30.8773 -31.4277 0.2 0.8 0.1
+t -12.0692 30.8773 -31.4277 0.831025 30.8773 -33.9749 0.831025 28.3457 -38.0611 0.2 0.8 0.1
+t 0.831025 30.8773 -33.9749 -12.0692 30.8773 -31.4277 -8.37348 32.6095 -22.7416 0.2 0.8 0.1
+t -8.37348 32.6095 -22.7416 0.831025 32.6095 -24.559 0.831025 30.8773 -33.9749 0.2 0.8 0.1
+t 0.831025 32.6095 -24.559 -8.37348 32.6095 -22.7416 -4.25935 34.3417 -13.072 0.2 0.8 0.1
+t -4.25935 34.3417 -13.072 0.831025 34.3417 -14.0771 0.831025 32.6095 -24.559 0.2 0.8 0.1
+t 0.831025 34.3417 -14.0771 -4.25935 34.3417 -13.072 -1.40037 36.8733 -6.35253 0.2 0.8 0.1
+t -1.40037 36.8733 -6.35253 0.831025 36.8733 -6.79312 0.831025 34.3417 -14.0771 0.2 0.8 0.1
+t -13.673 28.3457 -35.1972 -25.4056 28.3457 -27.3447 -22.5045 30.8773 -24.4435 0.2 0.8 0.1
+t -22.5045 30.8773 -24.4435 -12.0692 30.8773 -31.4277 -13.673 28.3457 -35.1972 0.2 0.8 0.1
+t -12.0692 30.8773 -31.4277 -22.5045 30.8773 -24.4435 -15.8192 32.6095 -17.7582 0.2 0.8 0.1
+t -15.8192 32.6095 -17.7582 -8.37348 32.6095 -22.7416 -12.0692 30.8773 -31.4277 0.2 0.8 0.1
+t -8.37348 32.6095 -22.7416 -15.8192 32.6095 -17.7582 -8.37704 34.3417 -10.3161 0.2 0.8 0.1
+t -8.37704 34.3417 -10.3161 -4.25935 34.3417 -13.072 -8.37348 32.6095 -22.7416 0.2 0.8 0.1
+t -4.25935 34.3417 -13.072 -8.37704 34.3417 -10.3161 -3.20539 36.8733 -5.14445 0.2 0.8 0.1
+t -3.20539 36.8733 -5.14445 -1.40037 36.8733 -6.35253 -4.25935 34.3417 -13.072 0.2 0.8 0.1
+t -25.4056 28.3457 -27.3447 -33.2582 28.3457 -15.6121 -29.4887 30.8773 -14.0083 0.2 0.8 0.1
+t -29.4887 30.8773 -14.0083 -22.5045 30.8773 -24.4435 -25.4056 28.3457 -27.3447 0.2 0.8 0.1
+t -22.5045 30.8773 -24.4435 -29.4887 30.8773 -14.0083 -20.8025 32.6095 -10.3125 0.2 0.8 0.1
+t -20.8025 32.6095 -10.3125 -15.8192 32.6095 -17.7582 -22.5045 30.8773 -24.4435 0.2 0.8 0.1
+t -15.8192 32.6095 -17.7582 -20.8025 32.6095 -10.3125 -11.133 34.3417 -6.19841 0.2 0.8 0.1
+t -11.133 34.3417 -6.19841 -8.37704 34.3417 -10.3161 -15.8192 32.6095 -17.7582 0.2 0.8 0.1
+t -8.37704 34.3417 -10.3161 -11.133 34.3417 -6.19841 -4.41347 36.8733 -3.33943 0.2 0.8 0.1
+t -4.41347 36.8733 -3.33943 -3.20539 36.8733 -5.14445 -8.37704 34.3417 -10.3161 0.2 0.8 0.1
+t -33.2582 28.3457 -15.6121 -36.122 28.3457 -1.10804 -32.0359 30.8773 -1.10804 0.2 0.8 0.1
+t -32.0359 30.8773 -1.10804 -29.4887 30.8773 -14.0083 -33.2582 28.3457 -15.6121 0.2 0.8 0.1
+t -29.4887 30.8773 -14.0083 -32.0359 30.8773 -1.10804 -22.62 32.6095 -1.10804 0.2 0.8 0.1
+t -22.62 32.6095 -1.10804 -20.8025 32.6095 -10.3125 -29.4887 30.8773 -14.0083 0.2 0.8 0.1
+t -20.8025 32.6095 -10.3125 -22.62 32.6095 -1.10804 -12.1381 34.3417 -1.10804 0.2 0.8 0.1
+t -12.1381 34.3417 -1.10804 -11.133 34.3417 -6.19841 -20.8025 32.6095 -10.3125 0.2 0.8 0.1
+t -11.133 34.3417 -6.19841 -12.1381 34.3417 -1.10804 -4.85406 36.8733 -1.10804 0.2 0.8 0.1
+t -4.85406 36.8733 -1.10804 -4.41347 36.8733 -3.33943 -11.133 34.3417 -6.19841 0.2 0.8 0.1
+t -36.122 28.3457 -1.10804 -33.2582 28.3457 13.396 -29.4887 30.8773 11.7922 0.2 0.8 0.1
+t -29.4887 30.8773 11.7922 -32.0359 30.8773 -1.10804 -36.122 28.3457 -1.10804 0.2 0.8 0.1
+t -32.0359 30.8773 -1.10804 -29.4887 30.8773 11.7922 -20.8025 32.6095 8.09647 0.2 0.8 0.1
+t -20.8025 32.6095 8.09647 -22.62 32.6095 -1.10804 -32.0359 30.8773 -1.10804 0.2 0.8 0.1
+t -22.62 32.6095 -1.10804 -20.8025 32.6095 8.09647 -11.133 34.3417 3.98234 0.2 0.8 0.1
+t -11.133 34.3417 3.98234 -12.1381 34.3417 -1.10804 -22.62 32.6095 -1.10804 0.2 0.8 0.1
+t -12.1381 34.3417 -1.10804 -11.133 34.3417 3.98234 -4.41347 36.8733 1.12336 0.2 0.8 0.1
+t -4.41347 36.8733 1.12336 -4.85406 36.8733 -1.10804 -12.1381 34.3417 -1.10804 0.2 0.8 0.1
+t -33.2582 28.3457 13.396 -25.4056 28.3457 25.1286 -22.5045 30.8773 22.2275 0.2 0.8 0.1
+t -22.5045 30.8773 22.2275 -29.4887 30.8773 11.7922 -33.2582 28.3457 13.396 0.2 0.8 0.1
+t -29.4887 30.8773 11.7922 -22.5045 30.8773 22.2275 -15.8192 32.6095 15.5422 0.2 0.8 0.1
+t -15.8192 32.6095 15.5422 -20.8025 32.6095 8.09647 -29.4887 30.8773 11.7922 0.2 0.8 0.1
+t -20.8025 32.6095 8.09647 -15.8192 32.6095 15.5422 -8.37704 34.3417 8.10003 0.2 0.8 0.1
+t -8.37704 34.3417 8.10003 -11.133 34.3417 3.98234 -20.8025 32.6095 8.09647 0.2 0.8 0.1
+t -11.133 34.3417 3.98234 -8.37704 34.3417 8.10003 -3.20539 36.8733 2.92838 0.2 0.8 0.1
+t -3.20539 36.8733 2.92838 -4.41347 36.8733 1.12336 -11.133 34.3417 3.98234 0.2 0.8 0.1
+t -25.4056 28.3457 25.1286 -13.673 28.3457 32.9812 -12.0692 30.8773 29.2117 0.2 0.8 0.1
+t -12.0692 30.8773 29.2117 -22.5045 30.8773 22.2275 -25.4056 28.3457 25.1286 0.2 0.8 0.1
+t -22.5045 30.8773 22.2275 -12.0692 30.8773 29.2117 -8.37348 32.6095 20.5255 0.2 0.8 0.1
+t -8.37348 32.6095 20.5255 -15.8192 32.6095 15.5422 -22.5045 30.8773 22.2275 0.2 0.8 0.1
+t -15.8192 32.6095 15.5422 -8.37348 32.6095 20.5255 -4.25935 34.3417 10.856 0.2 0.8 0.1
+t -4.25935 34.3417 10.856 -8.37704 34.3417 8.10003 -15.8192 32.6095 15.5422 0.2 0.8 0.1
+t -8.37704 34.3417 8.10003 -4.25935 34.3417 10.856 -1.40037 36.8733 4.13646 0.2 0.8 0.1
+t -1.40037 36.8733 4.13646 -3.20539 36.8733 2.92838 -8.37704 34.3417 8.10003 0.2 0.8 0.1
+t -13.673 28.3457 32.9812 0.831025 28.3457 35.845 0.831025 30.8773 31.7589 0.2 0.8 0.1
+t 0.831025 30.8773 31.7589 -12.0692 30.8773 29.2117 -13.673 28.3457 32.9812 0.2 0.8 0.1
+t -12.0692 30.8773 29.2117 0.831025 30.8773 31.7589 0.831025 32.6095 22.3429 0.2 0.8 0.1
+t 0.831025 32.6095 22.3429 -8.37348 32.6095 20.5255 -12.0692 30.8773 29.2117 0.2 0.8 0.1
+t -8.37348 32.6095 20.5255 0.831025 32.6095 22.3429 0.831025 34.3417 11.8611 0.2 0.8 0.1
+t 0.831025 34.3417 11.8611 -4.25935 34.3417 10.856 -8.37348 32.6095 20.5255 0.2 0.8 0.1
+t -4.25935 34.3417 10.856 0.831025 34.3417 11.8611 0.831025 36.8733 4.57705 0.2 0.8 0.1
+t 0.831025 36.8733 4.57705 -1.40037 36.8733 4.13646 -4.25935 34.3417 10.856 0.2 0.8 0.1
+t 0.831025 28.3457 35.845 15.3351 28.3457 32.9812 13.7313 30.8773 29.2117 0.2 0.8 0.1
+t 13.7313 30.8773 29.2117 0.831025 30.8773 31.7589 0.831025 28.3457 35.845 0.2 0.8 0.1
+t 0.831025 30.8773 31.7589 13.7313 30.8773 29.2117 10.0355 32.6095 20.5255 0.2 0.8 0.1
+t 10.0355 32.6095 20.5255 0.831025 32.6095 22.3429 0.831025 30.8773 31.7589 0.2 0.8 0.1
+t 0.831025 32.6095 22.3429 10.0355 32.6095 20.5255 5.9214 34.3417 10.856 0.2 0.8 0.1
+t 5.9214 34.3417 10.856 0.831025 34.3417 11.8611 0.831025 32.6095 22.3429 0.2 0.8 0.1
+t 0.831025 34.3417 11.8611 5.9214 34.3417 10.856 3.06242 36.8733 4.13646 0.2 0.8 0.1
+t 3.06242 36.8733 4.13646 0.831025 36.8733 4.57705 0.831025 34.3417 11.8611 0.2 0.8 0.1
+t 15.3351 28.3457 32.9812 27.0677 28.3457 25.1286 24.1665 30.8773 22.2275 0.2 0.8 0.1
+t 24.1665 30.8773 22.2275 13.7313 30.8773 29.2117 15.3351 28.3457 32.9812 0.2 0.8 0.1
+t 13.7313 30.8773 29.2117 24.1665 30.8773 22.2275 17.4812 32.6095 15.5422 0.2 0.8 0.1
+t 17.4812 32.6095 15.5422 10.0355 32.6095 20.5255 13.7313 30.8773 29.2117 0.2 0.8 0.1
+t 10.0355 32.6095 20.5255 17.4812 32.6095 15.5422 10.0391 34.3417 8.10003 0.2 0.8 0.1
+t 10.0391 34.3417 8.10003 5.9214 34.3417 10.856 10.0355 32.6095 20.5255 0.2 0.8 0.1
+t 5.9214 34.3417 10.856 10.0391 34.3417 8.10003 4.86744 36.8733 2.92838 0.2 0.8 0.1
+t 4.86744 36.8733 2.92838 3.06242 36.8733 4.13646 5.9214 34.3417 10.856 0.2 0.8 0.1
+t 27.0677 28.3457 25.1286 34.9202 28.3457 13.396 31.1507 30.8773 11.7922 0.2 0.8 0.1
+t 31.1507 30.8773 11.7922 24.1665 30.8773 22.2275 27.0677 28.3457 25.1286 0.2 0.8 0.1
+t 24.1665 30.8773 22.2275 31.1507 30.8773 11.7922 22.4646 32.6095 8.09647 0.2 0.8 0.1
+t 22.4646 32.6095 8.09647 17.4812 32.6095 15.5422 24.1665 30.8773 22.2275 0.2 0.8 0.1
+t 17.4812 32.6095 15.5422 22.4646 32.6095 8.09647 12.795 34.3417 3.98234 0.2 0.8 0.1
+t 12.795 34.3417 3.98234 10.0391 34.3417 8.10003 17.4812 32.6095 15.5422 0.2 0.8 0.1
+t 10.0391 34.3417 8.10003 12.795 34.3417 3.98234 6.07552 36.8733 1.12336 0.2 0.8 0.1
+t 6.07552 36.8733 1.12336 4.86744 36.8733 2.92838 10.0391 34.3417 8.10003 0.2 0.8 0.1
+t 34.9202 28.3457 13.396 37.7841 28.3457 -1.10804 33.6979 30.8773 -1.10804 0.2 0.8 0.1
+t 33.6979 30.8773 -1.10804 31.1507 30.8773 11.7922 34.9202 28.3457 13.396 0.2 0.8 0.1
+t 31.1507 30.8773 11.7922 33.6979 30.8773 -1.10804 24.282 32.6095 -1.10804 0.2 0.8 0.1
+t 24.282 32.6095 -1.10804 22.4646 32.6095 8.09647 31.1507 30.8773 11.7922 0.2 0.8 0.1
+t 22.4646 32.6095 8.09647 24.282 32.6095 -1.10804 13.8001 34.3417 -1.10804 0.2 0.8 0.1
+t 13.8001 34.3417 -1.10804 12.795 34.3417 3.98234 22.4646 32.6095 8.09647 0.2 0.8 0.1
+t 12.795 34.3417 3.98234 13.8001 34.3417 -1.10804 6.51611 36.8733 -1.10804 0.2 0.8 0.1
+t 6.51611 36.8733 -1.10804 6.07552 36.8733 1.12336 12.795 34.3417 3.98234 0.2 0.8 0.1
+t 6.51611 36.8733 -1.10804 6.07552 36.8733 -3.33943 5.9947 40.6708 -3.30794 0.2 0.8 0.1
+t 5.9947 40.6708 -3.30794 6.42728 40.6708 -1.10804 6.51611 36.8733 -1.10804 0.2 0.8 0.1
+t 6.42728 40.6708 -1.10804 5.9947 40.6708 -3.30794 9.35632 44.868 -4.74305 0.2 0.8 0.1
+t 9.35632 44.868 -4.74305 10.0693 44.868 -1.10804 6.42728 40.6708 -1.10804 0.2 0.8 0.1
+t 10.0693 44.868 -1.10804 9.35632 44.868 -4.74305 9.76642 48.2657 -4.9185 0.2 0.8 0.1
+t 9.76642 48.2657 -4.9185 10.5134 48.2657 -1.10804 10.0693 44.868 -1.10804 0.2 0.8 0.1
+t 10.5134 48.2657 -1.10804 9.76642 48.2657 -4.9185 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 10.5134 48.2657 -1.10804 0.2 0.8 0.1
+t 6.07552 36.8733 -3.33943 4.86744 36.8733 -5.14445 4.80736 40.6708 -5.08437 0.2 0.8 0.1
+t 4.80736 40.6708 -5.08437 5.9947 40.6708 -3.30794 6.07552 36.8733 -3.33943 0.2 0.8 0.1
+t 5.9947 40.6708 -3.30794 4.80736 40.6708 -5.08437 7.39819 44.868 -7.6752 0.2 0.8 0.1
+t 7.39819 44.868 -7.6752 9.35632 44.868 -4.74305 5.9947 40.6708 -3.30794 0.2 0.8 0.1
+t 9.35632 44.868 -4.74305 7.39819 44.868 -7.6752 7.71453 48.2657 -7.99154 0.2 0.8 0.1
+t 7.71453 48.2657 -7.99154 9.76642 48.2657 -4.9185 9.35632 44.868 -4.74305 0.2 0.8 0.1
+t 9.76642 48.2657 -4.9185 7.71453 48.2657 -7.99154 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 9.76642 48.2657 -4.9185 0.2 0.8 0.1
+t 4.86744 36.8733 -5.14445 3.06242 36.8733 -6.35253 3.03093 40.6708 -6.27171 0.2 0.8 0.1
+t 3.03093 40.6708 -6.27171 4.80736 40.6708 -5.08437 4.86744 36.8733 -5.14445 0.2 0.8 0.1
+t 4.80736 40.6708 -5.08437 3.03093 40.6708 -6.27171 4.46604 44.868 -9.63333 0.2 0.8 0.1
+t 4.46604 44.868 -9.63333 7.39819 44.868 -7.6752 4.80736 40.6708 -5.08437 0.2 0.8 0.1
+t 7.39819 44.868 -7.6752 4.46604 44.868 -9.63333 4.64149 48.2657 -10.0434 0.2 0.8 0.1
+t 4.64149 48.2657 -10.0434 7.71453 48.2657 -7.99154 7.39819 44.868 -7.6752 0.2 0.8 0.1
+t 7.71453 48.2657 -7.99154 4.64149 48.2657 -10.0434 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 7.71453 48.2657 -7.99154 0.2 0.8 0.1
+t 3.06242 36.8733 -6.35253 0.831025 36.8733 -6.79312 0.831025 40.6708 -6.70429 0.2 0.8 0.1
+t 0.831025 40.6708 -6.70429 3.03093 40.6708 -6.27171 3.06242 36.8733 -6.35253 0.2 0.8 0.1
+t 3.03093 40.6708 -6.27171 0.831025 40.6708 -6.70429 0.831025 44.868 -10.3463 0.2 0.8 0.1
+t 0.831025 44.868 -10.3463 4.46604 44.868 -9.63333 3.03093 40.6708 -6.27171 0.2 0.8 0.1
+t 4.46604 44.868 -9.63333 0.831025 44.868 -10.3463 0.831025 48.2657 -10.7904 0.2 0.8 0.1
+t 0.831025 48.2657 -10.7904 4.64149 48.2657 -10.0434 4.46604 44.868 -9.63333 0.2 0.8 0.1
+t 4.64149 48.2657 -10.0434 0.831025 48.2657 -10.7904 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 4.64149 48.2657 -10.0434 0.2 0.8 0.1
+t 0.831025 36.8733 -6.79312 -1.40037 36.8733 -6.35253 -1.36888 40.6708 -6.27171 0.2 0.8 0.1
+t -1.36888 40.6708 -6.27171 0.831025 40.6708 -6.70429 0.831025 36.8733 -6.79312 0.2 0.8 0.1
+t 0.831025 40.6708 -6.70429 -1.36888 40.6708 -6.27171 -2.80399 44.868 -9.63333 0.2 0.8 0.1
+t -2.80399 44.868 -9.63333 0.831025 44.868 -10.3463 0.831025 40.6708 -6.70429 0.2 0.8 0.1
+t 0.831025 44.868 -10.3463 -2.80399 44.868 -9.63333 -2.97944 48.2657 -10.0434 0.2 0.8 0.1
+t -2.97944 48.2657 -10.0434 0.831025 48.2657 -10.7904 0.831025 44.868 -10.3463 0.2 0.8 0.1
+t 0.831025 48.2657 -10.7904 -2.97944 48.2657 -10.0434 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 0.831025 48.2657 -10.7904 0.2 0.8 0.1
+t -1.40037 36.8733 -6.35253 -3.20539 36.8733 -5.14445 -3.14531 40.6708 -5.08437 0.2 0.8 0.1
+t -3.14531 40.6708 -5.08437 -1.36888 40.6708 -6.27171 -1.40037 36.8733 -6.35253 0.2 0.8 0.1
+t -1.36888 40.6708 -6.27171 -3.14531 40.6708 -5.08437 -5.73614 44.868 -7.6752 0.2 0.8 0.1
+t -5.73614 44.868 -7.6752 -2.80399 44.868 -9.63333 -1.36888 40.6708 -6.27171 0.2 0.8 0.1
+t -2.80399 44.868 -9.63333 -5.73614 44.868 -7.6752 -6.05248 48.2657 -7.99154 0.2 0.8 0.1
+t -6.05248 48.2657 -7.99154 -2.97944 48.2657 -10.0434 -2.80399 44.868 -9.63333 0.2 0.8 0.1
+t -2.97944 48.2657 -10.0434 -6.05248 48.2657 -7.99154 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 -2.97944 48.2657 -10.0434 0.2 0.8 0.1
+t -3.20539 36.8733 -5.14445 -4.41347 36.8733 -3.33943 -4.33265 40.6708 -3.30794 0.2 0.8 0.1
+t -4.33265 40.6708 -3.30794 -3.14531 40.6708 -5.08437 -3.20539 36.8733 -5.14445 0.2 0.8 0.1
+t -3.14531 40.6708 -5.08437 -4.33265 40.6708 -3.30794 -7.69427 44.868 -4.74305 0.2 0.8 0.1
+t -7.69427 44.868 -4.74305 -5.73614 44.868 -7.6752 -3.14531 40.6708 -5.08437 0.2 0.8 0.1
+t -5.73614 44.868 -7.6752 -7.69427 44.868 -4.74305 -8.10437 48.2657 -4.9185 0.2 0.8 0.1
+t -8.10437 48.2657 -4.9185 -6.05248 48.2657 -7.99154 -5.73614 44.868 -7.6752 0.2 0.8 0.1
+t -6.05248 48.2657 -7.99154 -8.10437 48.2657 -4.9185 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 -6.05248 48.2657 -7.99154 0.2 0.8 0.1
+t -4.41347 36.8733 -3.33943 -4.85406 36.8733 -1.10804 -4.76523 40.6708 -1.10804 0.2 0.8 0.1
+t -4.76523 40.6708 -1.10804 -4.33265 40.6708 -3.30794 -4.41347 36.8733 -3.33943 0.2 0.8 0.1
+t -4.33265 40.6708 -3.30794 -4.76523 40.6708 -1.10804 -8.40724 44.868 -1.10804 0.2 0.8 0.1
+t -8.40724 44.868 -1.10804 -7.69427 44.868 -4.74305 -4.33265 40.6708 -3.30794 0.2 0.8 0.1
+t -7.69427 44.868 -4.74305 -8.40724 44.868 -1.10804 -8.85139 48.2657 -1.10804 0.2 0.8 0.1
+t -8.85139 48.2657 -1.10804 -8.10437 48.2657 -4.9185 -7.69427 44.868 -4.74305 0.2 0.8 0.1
+t -8.10437 48.2657 -4.9185 -8.85139 48.2657 -1.10804 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 -8.10437 48.2657 -4.9185 0.2 0.8 0.1
+t -4.85406 36.8733 -1.10804 -4.41347 36.8733 1.12336 -4.33265 40.6708 1.09187 0.2 0.8 0.1
+t -4.33265 40.6708 1.09187 -4.76523 40.6708 -1.10804 -4.85406 36.8733 -1.10804 0.2 0.8 0.1
+t -4.76523 40.6708 -1.10804 -4.33265 40.6708 1.09187 -7.69427 44.868 2.52698 0.2 0.8 0.1
+t -7.69427 44.868 2.52698 -8.40724 44.868 -1.10804 -4.76523 40.6708 -1.10804 0.2 0.8 0.1
+t -8.40724 44.868 -1.10804 -7.69427 44.868 2.52698 -8.10437 48.2657 2.70243 0.2 0.8 0.1
+t -8.10437 48.2657 2.70243 -8.85139 48.2657 -1.10804 -8.40724 44.868 -1.10804 0.2 0.8 0.1
+t -8.85139 48.2657 -1.10804 -8.10437 48.2657 2.70243 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 -8.85139 48.2657 -1.10804 0.2 0.8 0.1
+t -4.41347 36.8733 1.12336 -3.20539 36.8733 2.92838 -3.14531 40.6708 2.8683 0.2 0.8 0.1
+t -3.14531 40.6708 2.8683 -4.33265 40.6708 1.09187 -4.41347 36.8733 1.12336 0.2 0.8 0.1
+t -4.33265 40.6708 1.09187 -3.14531 40.6708 2.8683 -5.73614 44.868 5.45913 0.2 0.8 0.1
+t -5.73614 44.868 5.45913 -7.69427 44.868 2.52698 -4.33265 40.6708 1.09187 0.2 0.8 0.1
+t -7.69427 44.868 2.52698 -5.73614 44.868 5.45913 -6.05248 48.2657 5.77547 0.2 0.8 0.1
+t -6.05248 48.2657 5.77547 -8.10437 48.2657 2.70243 -7.69427 44.868 2.52698 0.2 0.8 0.1
+t -8.10437 48.2657 2.70243 -6.05248 48.2657 5.77547 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 -8.10437 48.2657 2.70243 0.2 0.8 0.1
+t -3.20539 36.8733 2.92838 -1.40037 36.8733 4.13646 -1.36888 40.6708 4.05564 0.2 0.8 0.1
+t -1.36888 40.6708 4.05564 -3.14531 40.6708 2.8683 -3.20539 36.8733 2.92838 0.2 0.8 0.1
+t -3.14531 40.6708 2.8683 -1.36888 40.6708 4.05564 -2.80399 44.868 7.41726 0.2 0.8 0.1
+t -2.80399 44.868 7.41726 -5.73614 44.868 5.45913 -3.14531 40.6708 2.8683 0.2 0.8 0.1
+t -5.73614 44.868 5.45913 -2.80399 44.868 7.41726 -2.97944 48.2657 7.82736 0.2 0.8 0.1
+t -2.97944 48.2657 7.82736 -6.05248 48.2657 5.77547 -5.73614 44.868 5.45913 0.2 0.8 0.1
+t -6.05248 48.2657 5.77547 -2.97944 48.2657 7.82736 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 -6.05248 48.2657 5.77547 0.2 0.8 0.1
+t -1.40037 36.8733 4.13646 0.831025 36.8733 4.57705 0.831025 40.6708 4.48822 0.2 0.8 0.1
+t 0.831025 40.6708 4.48822 -1.36888 40.6708 4.05564 -1.40037 36.8733 4.13646 0.2 0.8 0.1
+t -1.36888 40.6708 4.05564 0.831025 40.6708 4.48822 0.831025 44.868 8.13023 0.2 0.8 0.1
+t 0.831025 44.868 8.13023 -2.80399 44.868 7.41726 -1.36888 40.6708 4.05564 0.2 0.8 0.1
+t -2.80399 44.868 7.41726 0.831025 44.868 8.13023 0.831025 48.2657 8.57438 0.2 0.8 0.1
+t 0.831025 48.2657 8.57438 -2.97944 48.2657 7.82736 -2.80399 44.868 7.41726 0.2 0.8 0.1
+t -2.97944 48.2657 7.82736 0.831025 48.2657 8.57438 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 -2.97944 48.2657 7.82736 0.2 0.8 0.1
+t 0.831025 36.8733 4.57705 3.06242 36.8733 4.13646 3.03093 40.6708 4.05564 0.2 0.8 0.1
+t 3.03093 40.6708 4.05564 0.831025 40.6708 4.48822 0.831025 36.8733 4.57705 0.2 0.8 0.1
+t 0.831025 40.6708 4.48822 3.03093 40.6708 4.05564 4.46604 44.868 7.41726 0.2 0.8 0.1
+t 4.46604 44.868 7.41726 0.831025 44.868 8.13023 0.831025 40.6708 4.48822 0.2 0.8 0.1
+t 0.831025 44.868 8.13023 4.46604 44.868 7.41726 4.64149 48.2657 7.82736 0.2 0.8 0.1
+t 4.64149 48.2657 7.82736 0.831025 48.2657 8.57438 0.831025 44.868 8.13023 0.2 0.8 0.1
+t 0.831025 48.2657 8.57438 4.64149 48.2657 7.82736 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 0.831025 48.2657 8.57438 0.2 0.8 0.1
+t 3.06242 36.8733 4.13646 4.86744 36.8733 2.92838 4.80736 40.6708 2.8683 0.2 0.8 0.1
+t 4.80736 40.6708 2.8683 3.03093 40.6708 4.05564 3.06242 36.8733 4.13646 0.2 0.8 0.1
+t 3.03093 40.6708 4.05564 4.80736 40.6708 2.8683 7.39819 44.868 5.45913 0.2 0.8 0.1
+t 7.39819 44.868 5.45913 4.46604 44.868 7.41726 3.03093 40.6708 4.05564 0.2 0.8 0.1
+t 4.46604 44.868 7.41726 7.39819 44.868 5.45913 7.71453 48.2657 5.77547 0.2 0.8 0.1
+t 7.71453 48.2657 5.77547 4.64149 48.2657 7.82736 4.46604 44.868 7.41726 0.2 0.8 0.1
+t 4.64149 48.2657 7.82736 7.71453 48.2657 5.77547 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 4.64149 48.2657 7.82736 0.2 0.8 0.1
+t 4.86744 36.8733 2.92838 6.07552 36.8733 1.12336 5.9947 40.6708 1.09187 0.2 0.8 0.1
+t 5.9947 40.6708 1.09187 4.80736 40.6708 2.8683 4.86744 36.8733 2.92838 0.2 0.8 0.1
+t 4.80736 40.6708 2.8683 5.9947 40.6708 1.09187 9.35632 44.868 2.52698 0.2 0.8 0.1
+t 9.35632 44.868 2.52698 7.39819 44.868 5.45913 4.80736 40.6708 2.8683 0.2 0.8 0.1
+t 7.39819 44.868 5.45913 9.35632 44.868 2.52698 9.76642 48.2657 2.70243 0.2 0.8 0.1
+t 9.76642 48.2657 2.70243 7.71453 48.2657 5.77547 7.39819 44.868 5.45913 0.2 0.8 0.1
+t 7.71453 48.2657 5.77547 9.76642 48.2657 2.70243 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 7.71453 48.2657 5.77547 0.2 0.8 0.1
+t 6.07552 36.8733 1.12336 6.51611 36.8733 -1.10804 6.42728 40.6708 -1.10804 0.2 0.8 0.1
+t 6.42728 40.6708 -1.10804 5.9947 40.6708 1.09187 6.07552 36.8733 1.12336 0.2 0.8 0.1
+t 5.9947 40.6708 1.09187 6.42728 40.6708 -1.10804 10.0693 44.868 -1.10804 0.2 0.8 0.1
+t 10.0693 44.868 -1.10804 9.35632 44.868 2.52698 5.9947 40.6708 1.09187 0.2 0.8 0.1
+t 9.35632 44.868 2.52698 10.0693 44.868 -1.10804 10.5134 48.2657 -1.10804 0.2 0.8 0.1
+t 10.5134 48.2657 -1.10804 9.76642 48.2657 2.70243 9.35632 44.868 2.52698 0.2 0.8 0.1
+t 9.76642 48.2657 2.70243 10.5134 48.2657 -1.10804 0.831025 49.6647 -1.10804 0.2 0.8 0.1
+t 0.831025 49.6647 -1.10804 0.831025 49.6647 -1.10804 9.76642 48.2657 2.70243 0.2 0.8 0.1
+t 80.4222 28.3457 -1.10804 82.1988 28.3457 -3.50643 83.8515 29.6268 -3.75626 0.2 0.8 0.1
+t 83.8515 29.6268 -3.75626 81.577 29.5449 -1.10804 80.4222 28.3457 -1.10804 0.2 0.8 0.1
+t 81.577 29.5449 -1.10804 83.8515 29.6268 -3.75626 83.8116 30.0383 -4.3059 0.2 0.8 0.1
+t 83.8116 30.0383 -4.3059 81.1329 29.9446 -1.10804 81.577 29.5449 -1.10804 0.2 0.8 0.1
+t 81.1329 29.9446 -1.10804 83.8116 30.0383 -4.3059 82.4767 29.6034 -4.85553 0.2 0.8 0.1
+t 82.4767 29.6034 -4.85553 79.6227 29.5449 -1.10804 81.1329 29.9446 -1.10804 0.2 0.8 0.1
+t 79.6227 29.5449 -1.10804 82.4767 29.6034 -4.85553 80.2446 28.3457 -5.10536 0.2 0.8 0.1
+t 80.2446 28.3457 -5.10536 77.5797 28.3457 -1.10804 79.6227 29.5449 -1.10804 0.2 0.8 0.1
+t 82.1988 28.3457 -3.50643 86.1073 28.3457 -4.3059 88.8555 29.8072 -4.63901 0.2 0.8 0.1
+t 88.8555 29.8072 -4.63901 83.8515 29.6268 -3.75626 82.1988 28.3457 -3.50643 0.2 0.8 0.1
+t 83.8515 29.6268 -3.75626 88.8555 29.8072 -4.63901 89.7049 30.2444 -5.37185 0.2 0.8 0.1
+t 89.7049 30.2444 -5.37185 83.8116 30.0383 -4.3059 83.8515 29.6268 -3.75626 0.2 0.8 0.1
+t 83.8116 30.0383 -4.3059 89.7049 30.2444 -5.37185 88.7555 29.7322 -6.10469 0.2 0.8 0.1
+t 88.7555 29.7322 -6.10469 82.4767 29.6034 -4.85553 83.8116 30.0383 -4.3059 0.2 0.8 0.1
+t 82.4767 29.6034 -4.85553 88.7555 29.7322 -6.10469 86.1073 28.3457 -6.4378 0.2 0.8 0.1
+t 86.1073 28.3457 -6.4378 80.2446 28.3457 -5.10536 82.4767 29.6034 -4.85553 0.2 0.8 0.1
+t 86.1073 28.3457 -4.3059 90.0158 28.3457 -3.50643 93.8594 29.9875 -3.75626 0.2 0.8 0.1
+t 93.8594 29.9875 -3.75626 88.8555 29.8072 -4.63901 86.1073 28.3457 -4.3059 0.2 0.8 0.1
+t 88.8555 29.8072 -4.63901 93.8594 29.9875 -3.75626 95.5982 30.4505 -4.3059 0.2 0.8 0.1
+t 95.5982 30.4505 -4.3059 89.7049 30.2444 -5.37185 88.8555 29.8072 -4.63901 0.2 0.8 0.1
+t 89.7049 30.2444 -5.37185 95.5982 30.4505 -4.3059 95.0343 29.8611 -4.85553 0.2 0.8 0.1
+t 95.0343 29.8611 -4.85553 88.7555 29.7322 -6.10469 89.7049 30.2444 -5.37185 0.2 0.8 0.1
+t 88.7555 29.7322 -6.10469 95.0343 29.8611 -4.85553 91.97 28.3457 -5.10536 0.2 0.8 0.1
+t 91.97 28.3457 -5.10536 86.1073 28.3457 -6.4378 88.7555 29.7322 -6.10469 0.2 0.8 0.1
+t 90.0158 28.3457 -3.50643 91.7924 28.3457 -1.10804 96.1339 30.0695 -1.10804 0.2 0.8 0.1
+t 96.1339 30.0695 -1.10804 93.8594 29.9875 -3.75626 90.0158 28.3457 -3.50643 0.2 0.8 0.1
+t 93.8594 29.9875 -3.75626 96.1339 30.0695 -1.10804 98.2769 30.5442 -1.10804 0.2 0.8 0.1
+t 98.2769 30.5442 -1.10804 95.5982 30.4505 -4.3059 93.8594 29.9875 -3.75626 0.2 0.8 0.1
+t 95.5982 30.4505 -4.3059 98.2769 30.5442 -1.10804 97.8883 29.9196 -1.10804 0.2 0.8 0.1
+t 97.8883 29.9196 -1.10804 95.0343 29.8611 -4.85553 95.5982 30.4505 -4.3059 0.2 0.8 0.1
+t 95.0343 29.8611 -4.85553 97.8883 29.9196 -1.10804 94.6349 28.3457 -1.10804 0.2 0.8 0.1
+t 94.6349 28.3457 -1.10804 91.97 28.3457 -5.10536 95.0343 29.8611 -4.85553 0.2 0.8 0.1
+t 91.7924 28.3457 -1.10804 90.0158 28.3457 1.29036 93.8594 29.9875 1.54019 0.2 0.8 0.1
+t 93.8594 29.9875 1.54019 96.1339 30.0695 -1.10804 91.7924 28.3457 -1.10804 0.2 0.8 0.1
+t 96.1339 30.0695 -1.10804 93.8594 29.9875 1.54019 95.5982 30.4505 2.08983 0.2 0.8 0.1
+t 95.5982 30.4505 2.08983 98.2769 30.5442 -1.10804 96.1339 30.0695 -1.10804 0.2 0.8 0.1
+t 98.2769 30.5442 -1.10804 95.5982 30.4505 2.08983 95.0343 29.8611 2.63946 0.2 0.8 0.1
+t 95.0343 29.8611 2.63946 97.8883 29.9196 -1.10804 98.2769 30.5442 -1.10804 0.2 0.8 0.1
+t 97.8883 29.9196 -1.10804 95.0343 29.8611 2.63946 91.97 28.3457 2.88929 0.2 0.8 0.1
+t 91.97 28.3457 2.88929 94.6349 28.3457 -1.10804 97.8883 29.9196 -1.10804 0.2 0.8 0.1
+t 90.0158 28.3457 1.29036 86.1073 28.3457 2.08983 88.8555 29.8072 2.42294 0.2 0.8 0.1
+t 88.8555 29.8072 2.42294 93.8594 29.9875 1.54019 90.0158 28.3457 1.29036 0.2 0.8 0.1
+t 93.8594 29.9875 1.54019 88.8555 29.8072 2.42294 89.7049 30.2444 3.15578 0.2 0.8 0.1
+t 89.7049 30.2444 3.15578 95.5982 30.4505 2.08983 93.8594 29.9875 1.54019 0.2 0.8 0.1
+t 95.5982 30.4505 2.08983 89.7049 30.2444 3.15578 88.7555 29.7322 3.88862 0.2 0.8 0.1
+t 88.7555 29.7322 3.88862 95.0343 29.8611 2.63946 95.5982 30.4505 2.08983 0.2 0.8 0.1
+t 95.0343 29.8611 2.63946 88.7555 29.7322 3.88862 86.1073 28.3457 4.22173 0.2 0.8 0.1
+t 86.1073 28.3457 4.22173 91.97 28.3457 2.88929 95.0343 29.8611 2.63946 0.2 0.8 0.1
+t 86.1073 28.3457 2.08983 82.1988 28.3457 1.29036 83.8515 29.6268 1.54019 0.2 0.8 0.1
+t 83.8515 29.6268 1.54019 88.8555 29.8072 2.42294 86.1073 28.3457 2.08983 0.2 0.8 0.1
+t 88.8555 29.8072 2.42294 83.8515 29.6268 1.54019 83.8116 30.0383 2.08983 0.2 0.8 0.1
+t 83.8116 30.0383 2.08983 89.7049 30.2444 3.15578 88.8555 29.8072 2.42294 0.2 0.8 0.1
+t 89.7049 30.2444 3.15578 83.8116 30.0383 2.08983 82.4767 29.6034 2.63946 0.2 0.8 0.1
+t 82.4767 29.6034 2.63946 88.7555 29.7322 3.88862 89.7049 30.2444 3.15578 0.2 0.8 0.1
+t 88.7555 29.7322 3.88862 82.4767 29.6034 2.63946 80.2446 28.3457 2.88929 0.2 0.8 0.1
+t 80.2446 28.3457 2.88929 86.1073 28.3457 4.22173 88.7555 29.7322 3.88862 0.2 0.8 0.1
+t 82.1988 28.3457 1.29036 80.4222 28.3457 -1.10804 81.577 29.5449 -1.10804 0.2 0.8 0.1
+t 81.577 29.5449 -1.10804 83.8515 29.6268 1.54019 82.1988 28.3457 1.29036 0.2 0.8 0.1
+t 83.8515 29.6268 1.54019 81.577 29.5449 -1.10804 81.1329 29.9446 -1.10804 0.2 0.8 0.1
+t 81.1329 29.9446 -1.10804 83.8116 30.0383 2.08983 83.8515 29.6268 1.54019 0.2 0.8 0.1
+t 83.8116 30.0383 2.08983 81.1329 29.9446 -1.10804 79.6227 29.5449 -1.10804 0.2 0.8 0.1
+t 79.6227 29.5449 -1.10804 82.4767 29.6034 2.63946 83.8116 30.0383 2.08983 0.2 0.8 0.1
+t 82.4767 29.6034 2.63946 79.6227 29.5449 -1.10804 77.5797 28.3457 -1.10804 0.2 0.8 0.1
+t 77.5797 28.3457 -1.10804 80.2446 28.3457 2.88929 82.4767 29.6034 2.63946 0.2 0.8 0.1
+t 77.5797 28.3457 -1.10804 80.2446 28.3457 -5.10536 73.5629 19.8451 -6.12968 0.2 0.8 0.1
+t 73.5629 19.8451 -6.12968 71.939 20.4176 -1.10804 77.5797 28.3457 -1.10804 0.2 0.8 0.1
+t 71.939 20.4176 -1.10804 73.5629 19.8451 -6.12968 70.0292 9.70814 -8.38317 0.2 0.8 0.1
+t 70.0292 9.70814 -8.38317 68.6967 11.2904 -1.10804 71.939 20.4176 -1.10804 0.2 0.8 0.1
+t 68.6967 11.2904 -1.10804 70.0292 9.70814 -8.38317 63.8305 1.04519 -10.6367 0.2 0.8 0.1
+t 63.8305 1.04519 -10.6367 62.7896 3.76212 -1.10804 68.6967 11.2904 -1.10804 0.2 0.8 0.1
+t 62.7896 3.76212 -1.10804 63.8305 1.04519 -10.6367 49.1543 -3.03333 -11.661 0.2 0.8 0.1
+t 49.1543 -3.03333 -11.661 49.1543 0.630882 -1.10804 62.7896 3.76212 -1.10804 0.2 0.8 0.1
+t 80.2446 28.3457 -5.10536 86.1073 28.3457 -6.4378 77.1355 18.5855 -7.80356 0.2 0.8 0.1
+t 77.1355 18.5855 -7.80356 73.5629 19.8451 -6.12968 80.2446 28.3457 -5.10536 0.2 0.8 0.1
+t 73.5629 19.8451 -6.12968 77.1355 18.5855 -7.80356 72.9605 6.22714 -10.8082 0.2 0.8 0.1
+t 72.9605 6.22714 -10.8082 70.0292 9.70814 -8.38317 73.5629 19.8451 -6.12968 0.2 0.8 0.1
+t 70.0292 9.70814 -8.38317 72.9605 6.22714 -10.8082 66.1207 -4.93206 -13.8129 0.2 0.8 0.1
+t 66.1207 -4.93206 -13.8129 63.8305 1.04519 -10.6367 70.0292 9.70814 -8.38317 0.2 0.8 0.1
+t 63.8305 1.04519 -10.6367 66.1207 -4.93206 -13.8129 49.1543 -11.0946 -15.1786 0.2 0.8 0.1
+t 49.1543 -11.0946 -15.1786 49.1543 -3.03333 -11.661 63.8305 1.04519 -10.6367 0.2 0.8 0.1
+t 86.1073 28.3457 -6.4378 91.97 28.3457 -5.10536 80.7081 17.326 -6.12968 0.2 0.8 0.1
+t 80.7081 17.326 -6.12968 77.1355 18.5855 -7.80356 86.1073 28.3457 -6.4378 0.2 0.8 0.1
+t 77.1355 18.5855 -7.80356 80.7081 17.326 -6.12968 75.8919 2.74614 -8.38317 0.2 0.8 0.1
+t 75.8919 2.74614 -8.38317 72.9605 6.22714 -10.8082 77.1355 18.5855 -7.80356 0.2 0.8 0.1
+t 72.9605 6.22714 -10.8082 75.8919 2.74614 -8.38317 68.4108 -10.9093 -10.6367 0.2 0.8 0.1
+t 68.4108 -10.9093 -10.6367 66.1207 -4.93206 -13.8129 72.9605 6.22714 -10.8082 0.2 0.8 0.1
+t 66.1207 -4.93206 -13.8129 68.4108 -10.9093 -10.6367 49.1543 -19.1559 -11.661 0.2 0.8 0.1
+t 49.1543 -19.1559 -11.661 49.1543 -11.0946 -15.1786 66.1207 -4.93206 -13.8129 0.2 0.8 0.1
+t 91.97 28.3457 -5.10536 94.6349 28.3457 -1.10804 82.3321 16.7534 -1.10804 0.2 0.8 0.1
+t 82.3321 16.7534 -1.10804 80.7081 17.326 -6.12968 91.97 28.3457 -5.10536 0.2 0.8 0.1
+t 80.7081 17.326 -6.12968 82.3321 16.7534 -1.10804 77.2244 1.16386 -1.10804 0.2 0.8 0.1
+t 77.2244 1.16386 -1.10804 75.8919 2.74614 -8.38317 80.7081 17.326 -6.12968 0.2 0.8 0.1
+t 75.8919 2.74614 -8.38317 77.2244 1.16386 -1.10804 69.4518 -13.6262 -1.10804 0.2 0.8 0.1
+t 69.4518 -13.6262 -1.10804 68.4108 -10.9093 -10.6367 75.8919 2.74614 -8.38317 0.2 0.8 0.1
+t 68.4108 -10.9093 -10.6367 69.4518 -13.6262 -1.10804 49.1543 -22.8201 -1.10804 0.2 0.8 0.1
+t 49.1543 -22.8201 -1.10804 49.1543 -19.1559 -11.661 68.4108 -10.9093 -10.6367 0.2 0.8 0.1
+t 94.6349 28.3457 -1.10804 91.97 28.3457 2.88929 80.7081 17.326 3.91361 0.2 0.8 0.1
+t 80.7081 17.326 3.91361 82.3321 16.7534 -1.10804 94.6349 28.3457 -1.10804 0.2 0.8 0.1
+t 82.3321 16.7534 -1.10804 80.7081 17.326 3.91361 75.8919 2.74614 6.1671 0.2 0.8 0.1
+t 75.8919 2.74614 6.1671 77.2244 1.16386 -1.10804 82.3321 16.7534 -1.10804 0.2 0.8 0.1
+t 77.2244 1.16386 -1.10804 75.8919 2.74614 6.1671 68.4108 -10.9093 8.42059 0.2 0.8 0.1
+t 68.4108 -10.9093 8.42059 69.4518 -13.6262 -1.10804 77.2244 1.16386 -1.10804 0.2 0.8 0.1
+t 69.4518 -13.6262 -1.10804 68.4108 -10.9093 8.42059 49.1543 -19.1559 9.4449 0.2 0.8 0.1
+t 49.1543 -19.1559 9.4449 49.1543 -22.8201 -1.10804 69.4518 -13.6262 -1.10804 0.2 0.8 0.1
+t 91.97 28.3457 2.88929 86.1073 28.3457 4.22173 77.1355 18.5855 5.58749 0.2 0.8 0.1
+t 77.1355 18.5855 5.58749 80.7081 17.326 3.91361 91.97 28.3457 2.88929 0.2 0.8 0.1
+t 80.7081 17.326 3.91361 77.1355 18.5855 5.58749 72.9605 6.22714 8.59214 0.2 0.8 0.1
+t 72.9605 6.22714 8.59214 75.8919 2.74614 6.1671 80.7081 17.326 3.91361 0.2 0.8 0.1
+t 75.8919 2.74614 6.1671 72.9605 6.22714 8.59214 66.1207 -4.93206 11.5968 0.2 0.8 0.1
+t 66.1207 -4.93206 11.5968 68.4108 -10.9093 8.42059 75.8919 2.74614 6.1671 0.2 0.8 0.1
+t 68.4108 -10.9093 8.42059 66.1207 -4.93206 11.5968 49.1543 -11.0946 12.9626 0.2 0.8 0.1
+t 49.1543 -11.0946 12.9626 49.1543 -19.1559 9.4449 68.4108 -10.9093 8.42059 0.2 0.8 0.1
+t 86.1073 28.3457 4.22173 80.2446 28.3457 2.88929 73.5629 19.8451 3.91361 0.2 0.8 0.1
+t 73.5629 19.8451 3.91361 77.1355 18.5855 5.58749 86.1073 28.3457 4.22173 0.2 0.8 0.1
+t 77.1355 18.5855 5.58749 73.5629 19.8451 3.91361 70.0292 9.70814 6.1671 0.2 0.8 0.1
+t 70.0292 9.70814 6.1671 72.9605 6.22714 8.59214 77.1355 18.5855 5.58749 0.2 0.8 0.1
+t 72.9605 6.22714 8.59214 70.0292 9.70814 6.1671 63.8305 1.04519 8.42059 0.2 0.8 0.1
+t 63.8305 1.04519 8.42059 66.1207 -4.93206 11.5968 72.9605 6.22714 8.59214 0.2 0.8 0.1
+t 66.1207 -4.93206 11.5968 63.8305 1.04519 8.42059 49.1543 -3.03333 9.4449 0.2 0.8 0.1
+t 49.1543 -3.03333 9.4449 49.1543 -11.0946 12.9626 66.1207 -4.93206 11.5968 0.2 0.8 0.1
+t 80.2446 28.3457 2.88929 77.5797 28.3457 -1.10804 71.939 20.4176 -1.10804 0.2 0.8 0.1
+t 71.939 20.4176 -1.10804 73.5629 19.8451 3.91361 80.2446 28.3457 2.88929 0.2 0.8 0.1
+t 73.5629 19.8451 3.91361 71.939 20.4176 -1.10804 68.6967 11.2904 -1.10804 0.2 0.8 0.1
+t 68.6967 11.2904 -1.10804 70.0292 9.70814 6.1671 73.5629 19.8451 3.91361 0.2 0.8 0.1
+t 70.0292 9.70814 6.1671 68.6967 11.2904 -1.10804 62.7896 3.76212 -1.10804 0.2 0.8 0.1
+t 62.7896 3.76212 -1.10804 63.8305 1.04519 8.42059 70.0292 9.70814 6.1671 0.2 0.8 0.1
+t 63.8305 1.04519 8.42059 62.7896 3.76212 -1.10804 49.1543 0.630882 -1.10804 0.2 0.8 0.1
+t 49.1543 0.630882 -1.10804 49.1543 -3.03333 9.4449 63.8305 1.04519 8.42059 0.2 0.8 0.1
+t -56.0198 -14.2925 -1.10804 -55.5757 -15.6249 -5.90483 -65.4267 -9.55033 -5.90483 0.2 0.8 0.1
+t -65.4267 -9.55033 -5.90483 -65.1248 -8.49634 -1.10804 -56.0198 -14.2925 -1.10804 0.2 0.8 0.1
+t -65.1248 -8.49634 -1.10804 -65.4267 -9.55033 -5.90483 -72.159 -2.35462 -5.90483 0.2 0.8 0.1
+t -72.159 -2.35462 -5.90483 -71.2985 -1.50103 -1.10804 -65.1248 -8.49634 -1.10804 0.2 0.8 0.1
+t -71.2985 -1.50103 -1.10804 -72.159 -2.35462 -5.90483 -76.0183 4.93477 -5.90483 0.2 0.8 0.1
+t -76.0183 4.93477 -5.90483 -74.8073 5.4943 -1.10804 -71.2985 -1.50103 -1.10804 0.2 0.8 0.1
+t -74.8073 5.4943 -1.10804 -76.0183 4.93477 -5.90483 -77.2501 11.2904 -5.90483 0.2 0.8 0.1
+t -77.2501 11.2904 -5.90483 -75.9176 11.2904 -1.10804 -74.8073 5.4943 -1.10804 0.2 0.8 0.1
+t -55.5757 -15.6249 -5.90483 -54.5986 -18.5563 -7.50376 -66.0909 -11.8691 -7.50376 0.2 0.8 0.1
+t -66.0909 -11.8691 -7.50376 -65.4267 -9.55033 -5.90483 -55.5757 -15.6249 -5.90483 0.2 0.8 0.1
+t -65.4267 -9.55033 -5.90483 -66.0909 -11.8691 -7.50376 -74.0522 -4.23253 -7.50376 0.2 0.8 0.1
+t -74.0522 -4.23253 -7.50376 -72.159 -2.35462 -5.90483 -65.4267 -9.55033 -5.90483 0.2 0.8 0.1
+t -72.159 -2.35462 -5.90483 -74.0522 -4.23253 -7.50376 -78.6824 3.70383 -7.50376 0.2 0.8 0.1
+t -78.6824 3.70383 -7.50376 -76.0183 4.93477 -5.90483 -72.159 -2.35462 -5.90483 0.2 0.8 0.1
+t -76.0183 4.93477 -5.90483 -78.6824 3.70383 -7.50376 -80.1814 11.2904 -7.50376 0.2 0.8 0.1
+t -80.1814 11.2904 -7.50376 -77.2501 11.2904 -5.90483 -76.0183 4.93477 -5.90483 0.2 0.8 0.1
+t -54.5986 -18.5563 -7.50376 -53.6214 -21.4877 -5.90483 -66.755 -14.1878 -5.90483 0.2 0.8 0.1
+t -66.755 -14.1878 -5.90483 -66.0909 -11.8691 -7.50376 -54.5986 -18.5563 -7.50376 0.2 0.8 0.1
+t -66.0909 -11.8691 -7.50376 -66.755 -14.1878 -5.90483 -75.9454 -6.11044 -5.90483 0.2 0.8 0.1
+t -75.9454 -6.11044 -5.90483 -74.0522 -4.23253 -7.50376 -66.0909 -11.8691 -7.50376 0.2 0.8 0.1
+t -74.0522 -4.23253 -7.50376 -75.9454 -6.11044 -5.90483 -81.3466 2.47288 -5.90483 0.2 0.8 0.1
+t -81.3466 2.47288 -5.90483 -78.6824 3.70383 -7.50376 -74.0522 -4.23253 -7.50376 0.2 0.8 0.1
+t -78.6824 3.70383 -7.50376 -81.3466 2.47288 -5.90483 -83.1128 11.2904 -5.90483 0.2 0.8 0.1
+t -83.1128 11.2904 -5.90483 -80.1814 11.2904 -7.50376 -78.6824 3.70383 -7.50376 0.2 0.8 0.1
+t -53.6214 -21.4877 -5.90483 -53.1773 -22.8201 -1.10804 -67.0569 -15.2418 -1.10804 0.2 0.8 0.1
+t -67.0569 -15.2418 -1.10804 -66.755 -14.1878 -5.90483 -53.6214 -21.4877 -5.90483 0.2 0.8 0.1
+t -66.755 -14.1878 -5.90483 -67.0569 -15.2418 -1.10804 -76.8059 -6.96404 -1.10804 0.2 0.8 0.1
+t -76.8059 -6.96404 -1.10804 -75.9454 -6.11044 -5.90483 -66.755 -14.1878 -5.90483 0.2 0.8 0.1
+t -75.9454 -6.11044 -5.90483 -76.8059 -6.96404 -1.10804 -82.5576 1.91336 -1.10804 0.2 0.8 0.1
+t -82.5576 1.91336 -1.10804 -81.3466 2.47288 -5.90483 -75.9454 -6.11044 -5.90483 0.2 0.8 0.1
+t -81.3466 2.47288 -5.90483 -82.5576 1.91336 -1.10804 -84.4453 11.2904 -1.10804 0.2 0.8 0.1
+t -84.4453 11.2904 -1.10804 -83.1128 11.2904 -5.90483 -81.3466 2.47288 -5.90483 0.2 0.8 0.1
+t -53.1773 -22.8201 -1.10804 -53.6214 -21.4877 3.68876 -66.755 -14.1878 3.68876 0.2 0.8 0.1
+t -66.755 -14.1878 3.68876 -67.0569 -15.2418 -1.10804 -53.1773 -22.8201 -1.10804 0.2 0.8 0.1
+t -67.0569 -15.2418 -1.10804 -66.755 -14.1878 3.68876 -75.9454 -6.11044 3.68876 0.2 0.8 0.1
+t -75.9454 -6.11044 3.68876 -76.8059 -6.96404 -1.10804 -67.0569 -15.2418 -1.10804 0.2 0.8 0.1
+t -76.8059 -6.96404 -1.10804 -75.9454 -6.11044 3.68876 -81.3466 2.47288 3.68876 0.2 0.8 0.1
+t -81.3466 2.47288 3.68876 -82.5576 1.91336 -1.10804 -76.8059 -6.96404 -1.10804 0.2 0.8 0.1
+t -82.5576 1.91336 -1.10804 -81.3466 2.47288 3.68876 -83.1128 11.2904 3.68876 0.2 0.8 0.1
+t -83.1128 11.2904 3.68876 -84.4453 11.2904 -1.10804 -82.5576 1.91336 -1.10804 0.2 0.8 0.1
+t -53.6214 -21.4877 3.68876 -54.5986 -18.5563 5.28769 -66.0909 -11.8691 5.28769 0.2 0.8 0.1
+t -66.0909 -11.8691 5.28769 -66.755 -14.1878 3.68876 -53.6214 -21.4877 3.68876 0.2 0.8 0.1
+t -66.755 -14.1878 3.68876 -66.0909 -11.8691 5.28769 -74.0522 -4.23253 5.28769 0.2 0.8 0.1
+t -74.0522 -4.23253 5.28769 -75.9454 -6.11044 3.68876 -66.755 -14.1878 3.68876 0.2 0.8 0.1
+t -75.9454 -6.11044 3.68876 -74.0522 -4.23253 5.28769 -78.6824 3.70383 5.28769 0.2 0.8 0.1
+t -78.6824 3.70383 5.28769 -81.3466 2.47288 3.68876 -75.9454 -6.11044 3.68876 0.2 0.8 0.1
+t -81.3466 2.47288 3.68876 -78.6824 3.70383 5.28769 -80.1814 11.2904 5.28769 0.2 0.8 0.1
+t -80.1814 11.2904 5.28769 -83.1128 11.2904 3.68876 -81.3466 2.47288 3.68876 0.2 0.8 0.1
+t -54.5986 -18.5563 5.28769 -55.5757 -15.6249 3.68876 -65.4267 -9.55033 3.68876 0.2 0.8 0.1
+t -65.4267 -9.55033 3.68876 -66.0909 -11.8691 5.28769 -54.5986 -18.5563 5.28769 0.2 0.8 0.1
+t -66.0909 -11.8691 5.28769 -65.4267 -9.55033 3.68876 -72.159 -2.35462 3.68876 0.2 0.8 0.1
+t -72.159 -2.35462 3.68876 -74.0522 -4.23253 5.28769 -66.0909 -11.8691 5.28769 0.2 0.8 0.1
+t -74.0522 -4.23253 5.28769 -72.159 -2.35462 3.68876 -76.0183 4.93477 3.68876 0.2 0.8 0.1
+t -76.0183 4.93477 3.68876 -78.6824 3.70383 5.28769 -74.0522 -4.23253 5.28769 0.2 0.8 0.1
+t -78.6824 3.70383 5.28769 -76.0183 4.93477 3.68876 -77.2501 11.2904 3.68876 0.2 0.8 0.1
+t -77.2501 11.2904 3.68876 -80.1814 11.2904 5.28769 -78.6824 3.70383 5.28769 0.2 0.8 0.1
+t -55.5757 -15.6249 3.68876 -56.0198 -14.2925 -1.10804 -65.1248 -8.49634 -1.10804 0.2 0.8 0.1
+t -65.1248 -8.49634 -1.10804 -65.4267 -9.55033 3.68876 -55.5757 -15.6249 3.68876 0.2 0.8 0.1
+t -65.4267 -9.55033 3.68876 -65.1248 -8.49634 -1.10804 -71.2985 -1.50103 -1.10804 0.2 0.8 0.1
+t -71.2985 -1.50103 -1.10804 -72.159 -2.35462 3.68876 -65.4267 -9.55033 3.68876 0.2 0.8 0.1
+t -72.159 -2.35462 3.68876 -71.2985 -1.50103 -1.10804 -74.8073 5.4943 -1.10804 0.2 0.8 0.1
+t -74.8073 5.4943 -1.10804 -76.0183 4.93477 3.68876 -72.159 -2.35462 3.68876 0.2 0.8 0.1
+t -76.0183 4.93477 3.68876 -74.8073 5.4943 -1.10804 -75.9176 11.2904 -1.10804 0.2 0.8 0.1
+t -75.9176 11.2904 -1.10804 -77.2501 11.2904 3.68876 -76.0183 4.93477 3.68876 0.2 0.8 0.1
+t -75.9176 11.2904 -1.10804 -77.2501 11.2904 -5.90483 -75.0724 15.5657 -5.90483 0.2 0.8 0.1
+t -75.0724 15.5657 -5.90483 -73.8301 14.9879 -1.10804 -75.9176 11.2904 -1.10804 0.2 0.8 0.1
+t -73.8301 14.9879 -1.10804 -75.0724 15.5657 -5.90483 -68.6891 17.7611 -5.90483 0.2 0.8 0.1
+t -68.6891 17.7611 -5.90483 -67.7453 16.8867 -1.10804 -73.8301 14.9879 -1.10804 0.2 0.8 0.1
+t -67.7453 16.8867 -1.10804 -68.6891 17.7611 -5.90483 -58.3252 18.5699 -5.90483 0.2 0.8 0.1
+t -58.3252 18.5699 -5.90483 -57.9297 17.5862 -1.10804 -67.7453 16.8867 -1.10804 0.2 0.8 0.1
+t -57.9297 17.5862 -1.10804 -58.3252 18.5699 -5.90483 -44.2055 18.6855 -5.90483 0.2 0.8 0.1
+t -44.2055 18.6855 -5.90483 -44.6497 17.6861 -1.10804 -57.9297 17.5862 -1.10804 0.2 0.8 0.1
+t -77.2501 11.2904 -5.90483 -80.1814 11.2904 -7.50376 -77.8053 16.8367 -7.50376 0.2 0.8 0.1
+t -77.8053 16.8367 -7.50376 -75.0724 15.5657 -5.90483 -77.2501 11.2904 -5.90483 0.2 0.8 0.1
+t -75.0724 15.5657 -5.90483 -77.8053 16.8367 -7.50376 -70.7655 19.6848 -7.50376 0.2 0.8 0.1
+t -70.7655 19.6848 -7.50376 -68.6891 17.7611 -5.90483 -75.0724 15.5657 -5.90483 0.2 0.8 0.1
+t -68.6891 17.7611 -5.90483 -70.7655 19.6848 -7.50376 -59.1955 20.7341 -7.50376 0.2 0.8 0.1
+t -59.1955 20.7341 -7.50376 -58.3252 18.5699 -5.90483 -68.6891 17.7611 -5.90483 0.2 0.8 0.1
+t -58.3252 18.5699 -5.90483 -59.1955 20.7341 -7.50376 -43.2284 20.884 -7.50376 0.2 0.8 0.1
+t -43.2284 20.884 -7.50376 -44.2055 18.6855 -5.90483 -58.3252 18.5699 -5.90483 0.2 0.8 0.1
+t -80.1814 11.2904 -7.50376 -83.1128 11.2904 -5.90483 -80.5381 18.1077 -5.90483 0.2 0.8 0.1
+t -80.5381 18.1077 -5.90483 -77.8053 16.8367 -7.50376 -80.1814 11.2904 -7.50376 0.2 0.8 0.1
+t -77.8053 16.8367 -7.50376 -80.5381 18.1077 -5.90483 -72.8419 21.6085 -5.90483 0.2 0.8 0.1
+t -72.8419 21.6085 -5.90483 -70.7655 19.6848 -7.50376 -77.8053 16.8367 -7.50376 0.2 0.8 0.1
+t -70.7655 19.6848 -7.50376 -72.8419 21.6085 -5.90483 -60.0657 22.8983 -5.90483 0.2 0.8 0.1
+t -60.0657 22.8983 -5.90483 -59.1955 20.7341 -7.50376 -70.7655 19.6848 -7.50376 0.2 0.8 0.1
+t -59.1955 20.7341 -7.50376 -60.0657 22.8983 -5.90483 -42.2513 23.0825 -5.90483 0.2 0.8 0.1
+t -42.2513 23.0825 -5.90483 -43.2284 20.884 -7.50376 -59.1955 20.7341 -7.50376 0.2 0.8 0.1
+t -83.1128 11.2904 -5.90483 -84.4453 11.2904 -1.10804 -81.7804 18.6855 -1.10804 0.2 0.8 0.1
+t -81.7804 18.6855 -1.10804 -80.5381 18.1077 -5.90483 -83.1128 11.2904 -5.90483 0.2 0.8 0.1
+t -80.5381 18.1077 -5.90483 -81.7804 18.6855 -1.10804 -73.7857 22.4829 -1.10804 0.2 0.8 0.1
+t -73.7857 22.4829 -1.10804 -72.8419 21.6085 -5.90483 -80.5381 18.1077 -5.90483 0.2 0.8 0.1
+t -72.8419 21.6085 -5.90483 -73.7857 22.4829 -1.10804 -60.4613 23.882 -1.10804 0.2 0.8 0.1
+t -60.4613 23.882 -1.10804 -60.0657 22.8983 -5.90483 -72.8419 21.6085 -5.90483 0.2 0.8 0.1
+t -60.0657 22.8983 -5.90483 -60.4613 23.882 -1.10804 -41.8071 24.0819 -1.10804 0.2 0.8 0.1
+t -41.8071 24.0819 -1.10804 -42.2513 23.0825 -5.90483 -60.0657 22.8983 -5.90483 0.2 0.8 0.1
+t -84.4453 11.2904 -1.10804 -83.1128 11.2904 3.68876 -80.5381 18.1077 3.68876 0.2 0.8 0.1
+t -80.5381 18.1077 3.68876 -81.7804 18.6855 -1.10804 -84.4453 11.2904 -1.10804 0.2 0.8 0.1
+t -81.7804 18.6855 -1.10804 -80.5381 18.1077 3.68876 -72.8419 21.6085 3.68876 0.2 0.8 0.1
+t -72.8419 21.6085 3.68876 -73.7857 22.4829 -1.10804 -81.7804 18.6855 -1.10804 0.2 0.8 0.1
+t -73.7857 22.4829 -1.10804 -72.8419 21.6085 3.68876 -60.0657 22.8983 3.68876 0.2 0.8 0.1
+t -60.0657 22.8983 3.68876 -60.4613 23.882 -1.10804 -73.7857 22.4829 -1.10804 0.2 0.8 0.1
+t -60.4613 23.882 -1.10804 -60.0657 22.8983 3.68876 -42.2513 23.0825 3.68876 0.2 0.8 0.1
+t -42.2513 23.0825 3.68876 -41.8071 24.0819 -1.10804 -60.4613 23.882 -1.10804 0.2 0.8 0.1
+t -83.1128 11.2904 3.68876 -80.1814 11.2904 5.28769 -77.8053 16.8367 5.28769 0.2 0.8 0.1
+t -77.8053 16.8367 5.28769 -80.5381 18.1077 3.68876 -83.1128 11.2904 3.68876 0.2 0.8 0.1
+t -80.5381 18.1077 3.68876 -77.8053 16.8367 5.28769 -70.7655 19.6848 5.28769 0.2 0.8 0.1
+t -70.7655 19.6848 5.28769 -72.8419 21.6085 3.68876 -80.5381 18.1077 3.68876 0.2 0.8 0.1
+t -72.8419 21.6085 3.68876 -70.7655 19.6848 5.28769 -59.1955 20.7341 5.28769 0.2 0.8 0.1
+t -59.1955 20.7341 5.28769 -60.0657 22.8983 3.68876 -72.8419 21.6085 3.68876 0.2 0.8 0.1
+t -60.0657 22.8983 3.68876 -59.1955 20.7341 5.28769 -43.2284 20.884 5.28769 0.2 0.8 0.1
+t -43.2284 20.884 5.28769 -42.2513 23.0825 3.68876 -60.0657 22.8983 3.68876 0.2 0.8 0.1
+t -80.1814 11.2904 5.28769 -77.2501 11.2904 3.68876 -75.0724 15.5657 3.68876 0.2 0.8 0.1
+t -75.0724 15.5657 3.68876 -77.8053 16.8367 5.28769 -80.1814 11.2904 5.28769 0.2 0.8 0.1
+t -77.8053 16.8367 5.28769 -75.0724 15.5657 3.68876 -68.6891 17.7611 3.68876 0.2 0.8 0.1
+t -68.6891 17.7611 3.68876 -70.7655 19.6848 5.28769 -77.8053 16.8367 5.28769 0.2 0.8 0.1
+t -70.7655 19.6848 5.28769 -68.6891 17.7611 3.68876 -58.3252 18.5699 3.68876 0.2 0.8 0.1
+t -58.3252 18.5699 3.68876 -59.1955 20.7341 5.28769 -70.7655 19.6848 5.28769 0.2 0.8 0.1
+t -59.1955 20.7341 5.28769 -58.3252 18.5699 3.68876 -44.2055 18.6855 3.68876 0.2 0.8 0.1
+t -44.2055 18.6855 3.68876 -43.2284 20.884 5.28769 -59.1955 20.7341 5.28769 0.2 0.8 0.1
+t -77.2501 11.2904 3.68876 -75.9176 11.2904 -1.10804 -73.8301 14.9879 -1.10804 0.2 0.8 0.1
+t -73.8301 14.9879 -1.10804 -75.0724 15.5657 3.68876 -77.2501 11.2904 3.68876 0.2 0.8 0.1
+t -75.0724 15.5657 3.68876 -73.8301 14.9879 -1.10804 -67.7453 16.8867 -1.10804 0.2 0.8 0.1
+t -67.7453 16.8867 -1.10804 -68.6891 17.7611 3.68876 -75.0724 15.5657 3.68876 0.2 0.8 0.1
+t -68.6891 17.7611 3.68876 -67.7453 16.8867 -1.10804 -57.9297 17.5862 -1.10804 0.2 0.8 0.1
+t -57.9297 17.5862 -1.10804 -58.3252 18.5699 3.68876 -68.6891 17.7611 3.68876 0.2 0.8 0.1
+t -58.3252 18.5699 3.68876 -57.9297 17.5862 -1.10804 -44.6497 17.6861 -1.10804 0.2 0.8 0.1
+t -44.6497 17.6861 -1.10804 -44.2055 18.6855 3.68876 -58.3252 18.5699 3.68876 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 22.7411 -39.5089 -10.4302 0.2 0.8 0.1
+t 22.7411 -39.5089 -10.4302 24.5818 -39.5089 -1.10804 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t 24.5818 -39.5089 -1.10804 22.7411 -39.5089 -10.4302 34.5105 -38.5429 -15.4378 0.2 0.8 0.1
+t 34.5105 -38.5429 -15.4378 37.3399 -38.5429 -1.10804 24.5818 -39.5089 -1.10804 0.2 0.8 0.1
+t 37.3399 -38.5429 -1.10804 34.5105 -38.5429 -15.4378 39.2736 -37.1772 -17.4643 0.2 0.8 0.1
+t 39.2736 -37.1772 -17.4643 42.5031 -37.1772 -1.10804 37.3399 -38.5429 -1.10804 0.2 0.8 0.1
+t 42.5031 -37.1772 -1.10804 39.2736 -37.1772 -17.4643 40.1647 -35.6115 -17.8435 0.2 0.8 0.1
+t 40.1647 -35.6115 -17.8435 43.4692 -35.6115 -1.10804 42.5031 -37.1772 -1.10804 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 17.6941 -39.5089 -17.9711 0.2 0.8 0.1
+t 17.6941 -39.5089 -17.9711 22.7411 -39.5089 -10.4302 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t 22.7411 -39.5089 -10.4302 17.6941 -39.5089 -17.9711 26.7523 -38.5429 -27.0294 0.2 0.8 0.1
+t 26.7523 -38.5429 -27.0294 34.5105 -38.5429 -15.4378 22.7411 -39.5089 -10.4302 0.2 0.8 0.1
+t 34.5105 -38.5429 -15.4378 26.7523 -38.5429 -27.0294 30.4182 -37.1772 -30.6952 0.2 0.8 0.1
+t 30.4182 -37.1772 -30.6952 39.2736 -37.1772 -17.4643 34.5105 -38.5429 -15.4378 0.2 0.8 0.1
+t 39.2736 -37.1772 -17.4643 30.4182 -37.1772 -30.6952 31.1041 -35.6115 -31.3811 0.2 0.8 0.1
+t 31.1041 -35.6115 -31.3811 40.1647 -35.6115 -17.8435 39.2736 -37.1772 -17.4643 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 10.1532 -39.5089 -23.0181 0.2 0.8 0.1
+t 10.1532 -39.5089 -23.0181 17.6941 -39.5089 -17.9711 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t 17.6941 -39.5089 -17.9711 10.1532 -39.5089 -23.0181 15.1608 -38.5429 -34.7875 0.2 0.8 0.1
+t 15.1608 -38.5429 -34.7875 26.7523 -38.5429 -27.0294 17.6941 -39.5089 -17.9711 0.2 0.8 0.1
+t 26.7523 -38.5429 -27.0294 15.1608 -38.5429 -34.7875 17.1873 -37.1772 -39.5506 0.2 0.8 0.1
+t 17.1873 -37.1772 -39.5506 30.4182 -37.1772 -30.6952 26.7523 -38.5429 -27.0294 0.2 0.8 0.1
+t 30.4182 -37.1772 -30.6952 17.1873 -37.1772 -39.5506 17.5665 -35.6115 -40.4417 0.2 0.8 0.1
+t 17.5665 -35.6115 -40.4417 31.1041 -35.6115 -31.3811 30.4182 -37.1772 -30.6952 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 0.831025 -39.5089 -24.8588 0.2 0.8 0.1
+t 0.831025 -39.5089 -24.8588 10.1532 -39.5089 -23.0181 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t 10.1532 -39.5089 -23.0181 0.831025 -39.5089 -24.8588 0.831025 -38.5429 -37.6169 0.2 0.8 0.1
+t 0.831025 -38.5429 -37.6169 15.1608 -38.5429 -34.7875 10.1532 -39.5089 -23.0181 0.2 0.8 0.1
+t 15.1608 -38.5429 -34.7875 0.831025 -38.5429 -37.6169 0.831025 -37.1772 -42.7802 0.2 0.8 0.1
+t 0.831025 -37.1772 -42.7802 17.1873 -37.1772 -39.5506 15.1608 -38.5429 -34.7875 0.2 0.8 0.1
+t 17.1873 -37.1772 -39.5506 0.831025 -37.1772 -42.7802 0.831025 -35.6115 -43.7462 0.2 0.8 0.1
+t 0.831025 -35.6115 -43.7462 17.5665 -35.6115 -40.4417 17.1873 -37.1772 -39.5506 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 -8.49115 -39.5089 -23.0181 0.2 0.8 0.1
+t -8.49115 -39.5089 -23.0181 0.831025 -39.5089 -24.8588 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t 0.831025 -39.5089 -24.8588 -8.49115 -39.5089 -23.0181 -13.4987 -38.5429 -34.7875 0.2 0.8 0.1
+t -13.4987 -38.5429 -34.7875 0.831025 -38.5429 -37.6169 0.831025 -39.5089 -24.8588 0.2 0.8 0.1
+t 0.831025 -38.5429 -37.6169 -13.4987 -38.5429 -34.7875 -15.5253 -37.1772 -39.5506 0.2 0.8 0.1
+t -15.5253 -37.1772 -39.5506 0.831025 -37.1772 -42.7802 0.831025 -38.5429 -37.6169 0.2 0.8 0.1
+t 0.831025 -37.1772 -42.7802 -15.5253 -37.1772 -39.5506 -15.9044 -35.6115 -40.4417 0.2 0.8 0.1
+t -15.9044 -35.6115 -40.4417 0.831025 -35.6115 -43.7462 0.831025 -37.1772 -42.7802 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 -16.032 -39.5089 -17.9711 0.2 0.8 0.1
+t -16.032 -39.5089 -17.9711 -8.49115 -39.5089 -23.0181 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t -8.49115 -39.5089 -23.0181 -16.032 -39.5089 -17.9711 -25.0903 -38.5429 -27.0294 0.2 0.8 0.1
+t -25.0903 -38.5429 -27.0294 -13.4987 -38.5429 -34.7875 -8.49115 -39.5089 -23.0181 0.2 0.8 0.1
+t -13.4987 -38.5429 -34.7875 -25.0903 -38.5429 -27.0294 -28.7562 -37.1772 -30.6952 0.2 0.8 0.1
+t -28.7562 -37.1772 -30.6952 -15.5253 -37.1772 -39.5506 -13.4987 -38.5429 -34.7875 0.2 0.8 0.1
+t -15.5253 -37.1772 -39.5506 -28.7562 -37.1772 -30.6952 -29.4421 -35.6115 -31.3811 0.2 0.8 0.1
+t -29.4421 -35.6115 -31.3811 -15.9044 -35.6115 -40.4417 -15.5253 -37.1772 -39.5506 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 -21.0791 -39.5089 -10.4302 0.2 0.8 0.1
+t -21.0791 -39.5089 -10.4302 -16.032 -39.5089 -17.9711 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t -16.032 -39.5089 -17.9711 -21.0791 -39.5089 -10.4302 -32.8484 -38.5429 -15.4378 0.2 0.8 0.1
+t -32.8484 -38.5429 -15.4378 -25.0903 -38.5429 -27.0294 -16.032 -39.5089 -17.9711 0.2 0.8 0.1
+t -25.0903 -38.5429 -27.0294 -32.8484 -38.5429 -15.4378 -37.6115 -37.1772 -17.4643 0.2 0.8 0.1
+t -37.6115 -37.1772 -17.4643 -28.7562 -37.1772 -30.6952 -25.0903 -38.5429 -27.0294 0.2 0.8 0.1
+t -28.7562 -37.1772 -30.6952 -37.6115 -37.1772 -17.4643 -38.5027 -35.6115 -17.8435 0.2 0.8 0.1
+t -38.5027 -35.6115 -17.8435 -29.4421 -35.6115 -31.3811 -28.7562 -37.1772 -30.6952 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 -22.9198 -39.5089 -1.10804 0.2 0.8 0.1
+t -22.9198 -39.5089 -1.10804 -21.0791 -39.5089 -10.4302 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t -21.0791 -39.5089 -10.4302 -22.9198 -39.5089 -1.10804 -35.6779 -38.5429 -1.10804 0.2 0.8 0.1
+t -35.6779 -38.5429 -1.10804 -32.8484 -38.5429 -15.4378 -21.0791 -39.5089 -10.4302 0.2 0.8 0.1
+t -32.8484 -38.5429 -15.4378 -35.6779 -38.5429 -1.10804 -40.8411 -37.1772 -1.10804 0.2 0.8 0.1
+t -40.8411 -37.1772 -1.10804 -37.6115 -37.1772 -17.4643 -32.8484 -38.5429 -15.4378 0.2 0.8 0.1
+t -37.6115 -37.1772 -17.4643 -40.8411 -37.1772 -1.10804 -41.8071 -35.6115 -1.10804 0.2 0.8 0.1
+t -41.8071 -35.6115 -1.10804 -38.5027 -35.6115 -17.8435 -37.6115 -37.1772 -17.4643 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 -21.0791 -39.5089 8.21414 0.2 0.8 0.1
+t -21.0791 -39.5089 8.21414 -22.9198 -39.5089 -1.10804 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t -22.9198 -39.5089 -1.10804 -21.0791 -39.5089 8.21414 -32.8484 -38.5429 13.2217 0.2 0.8 0.1
+t -32.8484 -38.5429 13.2217 -35.6779 -38.5429 -1.10804 -22.9198 -39.5089 -1.10804 0.2 0.8 0.1
+t -35.6779 -38.5429 -1.10804 -32.8484 -38.5429 13.2217 -37.6115 -37.1772 15.2483 0.2 0.8 0.1
+t -37.6115 -37.1772 15.2483 -40.8411 -37.1772 -1.10804 -35.6779 -38.5429 -1.10804 0.2 0.8 0.1
+t -40.8411 -37.1772 -1.10804 -37.6115 -37.1772 15.2483 -38.5027 -35.6115 15.6274 0.2 0.8 0.1
+t -38.5027 -35.6115 15.6274 -41.8071 -35.6115 -1.10804 -40.8411 -37.1772 -1.10804 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 -16.032 -39.5089 15.755 0.2 0.8 0.1
+t -16.032 -39.5089 15.755 -21.0791 -39.5089 8.21414 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t -21.0791 -39.5089 8.21414 -16.032 -39.5089 15.755 -25.0903 -38.5429 24.8133 0.2 0.8 0.1
+t -25.0903 -38.5429 24.8133 -32.8484 -38.5429 13.2217 -21.0791 -39.5089 8.21414 0.2 0.8 0.1
+t -32.8484 -38.5429 13.2217 -25.0903 -38.5429 24.8133 -28.7562 -37.1772 28.4792 0.2 0.8 0.1
+t -28.7562 -37.1772 28.4792 -37.6115 -37.1772 15.2483 -32.8484 -38.5429 13.2217 0.2 0.8 0.1
+t -37.6115 -37.1772 15.2483 -28.7562 -37.1772 28.4792 -29.4421 -35.6115 29.165 0.2 0.8 0.1
+t -29.4421 -35.6115 29.165 -38.5027 -35.6115 15.6274 -37.6115 -37.1772 15.2483 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 -8.49115 -39.5089 20.8021 0.2 0.8 0.1
+t -8.49115 -39.5089 20.8021 -16.032 -39.5089 15.755 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t -16.032 -39.5089 15.755 -8.49115 -39.5089 20.8021 -13.4987 -38.5429 32.5714 0.2 0.8 0.1
+t -13.4987 -38.5429 32.5714 -25.0903 -38.5429 24.8133 -16.032 -39.5089 15.755 0.2 0.8 0.1
+t -25.0903 -38.5429 24.8133 -13.4987 -38.5429 32.5714 -15.5253 -37.1772 37.3345 0.2 0.8 0.1
+t -15.5253 -37.1772 37.3345 -28.7562 -37.1772 28.4792 -25.0903 -38.5429 24.8133 0.2 0.8 0.1
+t -28.7562 -37.1772 28.4792 -15.5253 -37.1772 37.3345 -15.9044 -35.6115 38.2256 0.2 0.8 0.1
+t -15.9044 -35.6115 38.2256 -29.4421 -35.6115 29.165 -28.7562 -37.1772 28.4792 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 0.831025 -39.5089 22.6427 0.2 0.8 0.1
+t 0.831025 -39.5089 22.6427 -8.49115 -39.5089 20.8021 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t -8.49115 -39.5089 20.8021 0.831025 -39.5089 22.6427 0.831025 -38.5429 35.4009 0.2 0.8 0.1
+t 0.831025 -38.5429 35.4009 -13.4987 -38.5429 32.5714 -8.49115 -39.5089 20.8021 0.2 0.8 0.1
+t -13.4987 -38.5429 32.5714 0.831025 -38.5429 35.4009 0.831025 -37.1772 40.5641 0.2 0.8 0.1
+t 0.831025 -37.1772 40.5641 -15.5253 -37.1772 37.3345 -13.4987 -38.5429 32.5714 0.2 0.8 0.1
+t -15.5253 -37.1772 37.3345 0.831025 -37.1772 40.5641 0.831025 -35.6115 41.5301 0.2 0.8 0.1
+t 0.831025 -35.6115 41.5301 -15.9044 -35.6115 38.2256 -15.5253 -37.1772 37.3345 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 10.1532 -39.5089 20.8021 0.2 0.8 0.1
+t 10.1532 -39.5089 20.8021 0.831025 -39.5089 22.6427 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t 0.831025 -39.5089 22.6427 10.1532 -39.5089 20.8021 15.1608 -38.5429 32.5714 0.2 0.8 0.1
+t 15.1608 -38.5429 32.5714 0.831025 -38.5429 35.4009 0.831025 -39.5089 22.6427 0.2 0.8 0.1
+t 0.831025 -38.5429 35.4009 15.1608 -38.5429 32.5714 17.1873 -37.1772 37.3345 0.2 0.8 0.1
+t 17.1873 -37.1772 37.3345 0.831025 -37.1772 40.5641 0.831025 -38.5429 35.4009 0.2 0.8 0.1
+t 0.831025 -37.1772 40.5641 17.1873 -37.1772 37.3345 17.5665 -35.6115 38.2256 0.2 0.8 0.1
+t 17.5665 -35.6115 38.2256 0.831025 -35.6115 41.5301 0.831025 -37.1772 40.5641 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 17.6941 -39.5089 15.755 0.2 0.8 0.1
+t 17.6941 -39.5089 15.755 10.1532 -39.5089 20.8021 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t 10.1532 -39.5089 20.8021 17.6941 -39.5089 15.755 26.7523 -38.5429 24.8133 0.2 0.8 0.1
+t 26.7523 -38.5429 24.8133 15.1608 -38.5429 32.5714 10.1532 -39.5089 20.8021 0.2 0.8 0.1
+t 15.1608 -38.5429 32.5714 26.7523 -38.5429 24.8133 30.4182 -37.1772 28.4792 0.2 0.8 0.1
+t 30.4182 -37.1772 28.4792 17.1873 -37.1772 37.3345 15.1608 -38.5429 32.5714 0.2 0.8 0.1
+t 17.1873 -37.1772 37.3345 30.4182 -37.1772 28.4792 31.1041 -35.6115 29.165 0.2 0.8 0.1
+t 31.1041 -35.6115 29.165 17.5665 -35.6115 38.2256 17.1873 -37.1772 37.3345 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 22.7411 -39.5089 8.21414 0.2 0.8 0.1
+t 22.7411 -39.5089 8.21414 17.6941 -39.5089 15.755 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t 17.6941 -39.5089 15.755 22.7411 -39.5089 8.21414 34.5105 -38.5429 13.2217 0.2 0.8 0.1
+t 34.5105 -38.5429 13.2217 26.7523 -38.5429 24.8133 17.6941 -39.5089 15.755 0.2 0.8 0.1
+t 26.7523 -38.5429 24.8133 34.5105 -38.5429 13.2217 39.2736 -37.1772 15.2483 0.2 0.8 0.1
+t 39.2736 -37.1772 15.2483 30.4182 -37.1772 28.4792 26.7523 -38.5429 24.8133 0.2 0.8 0.1
+t 30.4182 -37.1772 28.4792 39.2736 -37.1772 15.2483 40.1647 -35.6115 15.6274 0.2 0.8 0.1
+t 40.1647 -35.6115 15.6274 31.1041 -35.6115 29.165 30.4182 -37.1772 28.4792 0.2 0.8 0.1
+t 0.831025 -39.8754 -1.10804 0.831025 -39.8754 -1.10804 24.5818 -39.5089 -1.10804 0.2 0.8 0.1
+t 24.5818 -39.5089 -1.10804 22.7411 -39.5089 8.21414 0.831025 -39.8754 -1.10804 0.2 0.8 0.1
+t 22.7411 -39.5089 8.21414 24.5818 -39.5089 -1.10804 37.3399 -38.5429 -1.10804 0.2 0.8 0.1
+t 37.3399 -38.5429 -1.10804 34.5105 -38.5429 13.2217 22.7411 -39.5089 8.21414 0.2 0.8 0.1
+t 34.5105 -38.5429 13.2217 37.3399 -38.5429 -1.10804 42.5031 -37.1772 -1.10804 0.2 0.8 0.1
+t 42.5031 -37.1772 -1.10804 39.2736 -37.1772 15.2483 34.5105 -38.5429 13.2217 0.2 0.8 0.1
+t 39.2736 -37.1772 15.2483 42.5031 -37.1772 -1.10804 43.4692 -35.6115 -1.10804 0.2 0.8 0.1
+t 43.4692 -35.6115 -1.10804 40.1647 -35.6115 15.6274 39.2736 -37.1772 15.2483 0.2 0.8 0.1
+t 43.4692 -35.6115 -1.10804 40.1647 -35.6115 -17.8435 42.2133 -33.1798 -18.7151 0.2 0.8 0.1
+t 42.2133 -33.1798 -18.7151 45.6899 -33.1798 -1.10804 43.4692 -35.6115 -1.10804 0.2 0.8 0.1
+t 45.6899 -33.1798 -1.10804 42.2133 -33.1798 -18.7151 46.7203 -28.9493 -20.6327 0.2 0.8 0.1
+t 46.7203 -28.9493 -20.6327 50.5755 -28.9493 -1.10804 45.6899 -33.1798 -1.10804 0.2 0.8 0.1
+t 50.5755 -28.9493 -1.10804 46.7203 -28.9493 -20.6327 51.2273 -22.7202 -22.5504 0.2 0.8 0.1
+t 51.2273 -22.7202 -22.5504 55.4611 -22.7202 -1.10804 50.5755 -28.9493 -1.10804 0.2 0.8 0.1
+t 55.4611 -22.7202 -1.10804 51.2273 -22.7202 -22.5504 53.2759 -14.2925 -23.422 0.2 0.8 0.1
+t 53.2759 -14.2925 -23.422 57.6819 -14.2925 -1.10804 55.4611 -22.7202 -1.10804 0.2 0.8 0.1
+t 40.1647 -35.6115 -17.8435 31.1041 -35.6115 -31.3811 32.6808 -33.1798 -32.9578 0.2 0.8 0.1
+t 32.6808 -33.1798 -32.9578 42.2133 -33.1798 -18.7151 40.1647 -35.6115 -17.8435 0.2 0.8 0.1
+t 42.2133 -33.1798 -18.7151 32.6808 -33.1798 -32.9578 36.1496 -28.9493 -36.4266 0.2 0.8 0.1
+t 36.1496 -28.9493 -36.4266 46.7203 -28.9493 -20.6327 42.2133 -33.1798 -18.7151 0.2 0.8 0.1
+t 46.7203 -28.9493 -20.6327 36.1496 -28.9493 -36.4266 39.6184 -22.7202 -39.8954 0.2 0.8 0.1
+t 39.6184 -22.7202 -39.8954 51.2273 -22.7202 -22.5504 46.7203 -28.9493 -20.6327 0.2 0.8 0.1
+t 51.2273 -22.7202 -22.5504 39.6184 -22.7202 -39.8954 41.1951 -14.2925 -41.4721 0.2 0.8 0.1
+t 41.1951 -14.2925 -41.4721 53.2759 -14.2925 -23.422 51.2273 -22.7202 -22.5504 0.2 0.8 0.1
+t 31.1041 -35.6115 -31.3811 17.5665 -35.6115 -40.4417 18.4381 -33.1798 -42.4903 0.2 0.8 0.1
+t 18.4381 -33.1798 -42.4903 32.6808 -33.1798 -32.9578 31.1041 -35.6115 -31.3811 0.2 0.8 0.1
+t 32.6808 -33.1798 -32.9578 18.4381 -33.1798 -42.4903 20.3557 -28.9493 -46.9973 0.2 0.8 0.1
+t 20.3557 -28.9493 -46.9973 36.1496 -28.9493 -36.4266 32.6808 -33.1798 -32.9578 0.2 0.8 0.1
+t 36.1496 -28.9493 -36.4266 20.3557 -28.9493 -46.9973 22.2733 -22.7202 -51.5043 0.2 0.8 0.1
+t 22.2733 -22.7202 -51.5043 39.6184 -22.7202 -39.8954 36.1496 -28.9493 -36.4266 0.2 0.8 0.1
+t 39.6184 -22.7202 -39.8954 22.2733 -22.7202 -51.5043 23.145 -14.2925 -53.5529 0.2 0.8 0.1
+t 23.145 -14.2925 -53.5529 41.1951 -14.2925 -41.4721 39.6184 -22.7202 -39.8954 0.2 0.8 0.1
+t 17.5665 -35.6115 -40.4417 0.831025 -35.6115 -43.7462 0.831025 -33.1798 -45.9669 0.2 0.8 0.1
+t 0.831025 -33.1798 -45.9669 18.4381 -33.1798 -42.4903 17.5665 -35.6115 -40.4417 0.2 0.8 0.1
+t 18.4381 -33.1798 -42.4903 0.831025 -33.1798 -45.9669 0.831025 -28.9493 -50.8525 0.2 0.8 0.1
+t 0.831025 -28.9493 -50.8525 20.3557 -28.9493 -46.9973 18.4381 -33.1798 -42.4903 0.2 0.8 0.1
+t 20.3557 -28.9493 -46.9973 0.831025 -28.9493 -50.8525 0.831025 -22.7202 -55.7382 0.2 0.8 0.1
+t 0.831025 -22.7202 -55.7382 22.2733 -22.7202 -51.5043 20.3557 -28.9493 -46.9973 0.2 0.8 0.1
+t 22.2733 -22.7202 -51.5043 0.831025 -22.7202 -55.7382 0.831025 -14.2925 -57.9589 0.2 0.8 0.1
+t 0.831025 -14.2925 -57.9589 23.145 -14.2925 -53.5529 22.2733 -22.7202 -51.5043 0.2 0.8 0.1
+t 0.831025 -35.6115 -43.7462 -15.9044 -35.6115 -40.4417 -16.7761 -33.1798 -42.4903 0.2 0.8 0.1
+t -16.7761 -33.1798 -42.4903 0.831025 -33.1798 -45.9669 0.831025 -35.6115 -43.7462 0.2 0.8 0.1
+t 0.831025 -33.1798 -45.9669 -16.7761 -33.1798 -42.4903 -18.6937 -28.9493 -46.9973 0.2 0.8 0.1
+t -18.6937 -28.9493 -46.9973 0.831025 -28.9493 -50.8525 0.831025 -33.1798 -45.9669 0.2 0.8 0.1
+t 0.831025 -28.9493 -50.8525 -18.6937 -28.9493 -46.9973 -20.6113 -22.7202 -51.5043 0.2 0.8 0.1
+t -20.6113 -22.7202 -51.5043 0.831025 -22.7202 -55.7382 0.831025 -28.9493 -50.8525 0.2 0.8 0.1
+t 0.831025 -22.7202 -55.7382 -20.6113 -22.7202 -51.5043 -21.4829 -14.2925 -53.5529 0.2 0.8 0.1
+t -21.4829 -14.2925 -53.5529 0.831025 -14.2925 -57.9589 0.831025 -22.7202 -55.7382 0.2 0.8 0.1
+t -15.9044 -35.6115 -40.4417 -29.4421 -35.6115 -31.3811 -31.0188 -33.1798 -32.9578 0.2 0.8 0.1
+t -31.0188 -33.1798 -32.9578 -16.7761 -33.1798 -42.4903 -15.9044 -35.6115 -40.4417 0.2 0.8 0.1
+t -16.7761 -33.1798 -42.4903 -31.0188 -33.1798 -32.9578 -34.4876 -28.9493 -36.4266 0.2 0.8 0.1
+t -34.4876 -28.9493 -36.4266 -18.6937 -28.9493 -46.9973 -16.7761 -33.1798 -42.4903 0.2 0.8 0.1
+t -18.6937 -28.9493 -46.9973 -34.4876 -28.9493 -36.4266 -37.9564 -22.7202 -39.8954 0.2 0.8 0.1
+t -37.9564 -22.7202 -39.8954 -20.6113 -22.7202 -51.5043 -18.6937 -28.9493 -46.9973 0.2 0.8 0.1
+t -20.6113 -22.7202 -51.5043 -37.9564 -22.7202 -39.8954 -39.5331 -14.2925 -41.4721 0.2 0.8 0.1
+t -39.5331 -14.2925 -41.4721 -21.4829 -14.2925 -53.5529 -20.6113 -22.7202 -51.5043 0.2 0.8 0.1
+t -29.4421 -35.6115 -31.3811 -38.5027 -35.6115 -17.8435 -40.5513 -33.1798 -18.7151 0.2 0.8 0.1
+t -40.5513 -33.1798 -18.7151 -31.0188 -33.1798 -32.9578 -29.4421 -35.6115 -31.3811 0.2 0.8 0.1
+t -31.0188 -33.1798 -32.9578 -40.5513 -33.1798 -18.7151 -45.0583 -28.9493 -20.6327 0.2 0.8 0.1
+t -45.0583 -28.9493 -20.6327 -34.4876 -28.9493 -36.4266 -31.0188 -33.1798 -32.9578 0.2 0.8 0.1
+t -34.4876 -28.9493 -36.4266 -45.0583 -28.9493 -20.6327 -49.5653 -22.7202 -22.5504 0.2 0.8 0.1
+t -49.5653 -22.7202 -22.5504 -37.9564 -22.7202 -39.8954 -34.4876 -28.9493 -36.4266 0.2 0.8 0.1
+t -37.9564 -22.7202 -39.8954 -49.5653 -22.7202 -22.5504 -51.6139 -14.2925 -23.422 0.2 0.8 0.1
+t -51.6139 -14.2925 -23.422 -39.5331 -14.2925 -41.4721 -37.9564 -22.7202 -39.8954 0.2 0.8 0.1
+t -38.5027 -35.6115 -17.8435 -41.8071 -35.6115 -1.10804 -44.0279 -33.1798 -1.10804 0.2 0.8 0.1
+t -44.0279 -33.1798 -1.10804 -40.5513 -33.1798 -18.7151 -38.5027 -35.6115 -17.8435 0.2 0.8 0.1
+t -40.5513 -33.1798 -18.7151 -44.0279 -33.1798 -1.10804 -48.9135 -28.9493 -1.10804 0.2 0.8 0.1
+t -48.9135 -28.9493 -1.10804 -45.0583 -28.9493 -20.6327 -40.5513 -33.1798 -18.7151 0.2 0.8 0.1
+t -45.0583 -28.9493 -20.6327 -48.9135 -28.9493 -1.10804 -53.7991 -22.7202 -1.10804 0.2 0.8 0.1
+t -53.7991 -22.7202 -1.10804 -49.5653 -22.7202 -22.5504 -45.0583 -28.9493 -20.6327 0.2 0.8 0.1
+t -49.5653 -22.7202 -22.5504 -53.7991 -22.7202 -1.10804 -56.0198 -14.2925 -1.10804 0.2 0.8 0.1
+t -56.0198 -14.2925 -1.10804 -51.6139 -14.2925 -23.422 -49.5653 -22.7202 -22.5504 0.2 0.8 0.1
+t -41.8071 -35.6115 -1.10804 -38.5027 -35.6115 15.6274 -40.5513 -33.1798 16.4991 0.2 0.8 0.1
+t -40.5513 -33.1798 16.4991 -44.0279 -33.1798 -1.10804 -41.8071 -35.6115 -1.10804 0.2 0.8 0.1
+t -44.0279 -33.1798 -1.10804 -40.5513 -33.1798 16.4991 -45.0583 -28.9493 18.4167 0.2 0.8 0.1
+t -45.0583 -28.9493 18.4167 -48.9135 -28.9493 -1.10804 -44.0279 -33.1798 -1.10804 0.2 0.8 0.1
+t -48.9135 -28.9493 -1.10804 -45.0583 -28.9493 18.4167 -49.5653 -22.7202 20.3343 0.2 0.8 0.1
+t -49.5653 -22.7202 20.3343 -53.7991 -22.7202 -1.10804 -48.9135 -28.9493 -1.10804 0.2 0.8 0.1
+t -53.7991 -22.7202 -1.10804 -49.5653 -22.7202 20.3343 -51.6139 -14.2925 21.2059 0.2 0.8 0.1
+t -51.6139 -14.2925 21.2059 -56.0198 -14.2925 -1.10804 -53.7991 -22.7202 -1.10804 0.2 0.8 0.1
+t -38.5027 -35.6115 15.6274 -29.4421 -35.6115 29.165 -31.0188 -33.1798 30.7418 0.2 0.8 0.1
+t -31.0188 -33.1798 30.7418 -40.5513 -33.1798 16.4991 -38.5027 -35.6115 15.6274 0.2 0.8 0.1
+t -40.5513 -33.1798 16.4991 -31.0188 -33.1798 30.7418 -34.4876 -28.9493 34.2106 0.2 0.8 0.1
+t -34.4876 -28.9493 34.2106 -45.0583 -28.9493 18.4167 -40.5513 -33.1798 16.4991 0.2 0.8 0.1
+t -45.0583 -28.9493 18.4167 -34.4876 -28.9493 34.2106 -37.9564 -22.7202 37.6793 0.2 0.8 0.1
+t -37.9564 -22.7202 37.6793 -49.5653 -22.7202 20.3343 -45.0583 -28.9493 18.4167 0.2 0.8 0.1
+t -49.5653 -22.7202 20.3343 -37.9564 -22.7202 37.6793 -39.5331 -14.2925 39.2561 0.2 0.8 0.1
+t -39.5331 -14.2925 39.2561 -51.6139 -14.2925 21.2059 -49.5653 -22.7202 20.3343 0.2 0.8 0.1
+t -29.4421 -35.6115 29.165 -15.9044 -35.6115 38.2256 -16.7761 -33.1798 40.2743 0.2 0.8 0.1
+t -16.7761 -33.1798 40.2743 -31.0188 -33.1798 30.7418 -29.4421 -35.6115 29.165 0.2 0.8 0.1
+t -31.0188 -33.1798 30.7418 -16.7761 -33.1798 40.2743 -18.6937 -28.9493 44.7813 0.2 0.8 0.1
+t -18.6937 -28.9493 44.7813 -34.4876 -28.9493 34.2106 -31.0188 -33.1798 30.7418 0.2 0.8 0.1
+t -34.4876 -28.9493 34.2106 -18.6937 -28.9493 44.7813 -20.6113 -22.7202 49.2882 0.2 0.8 0.1
+t -20.6113 -22.7202 49.2882 -37.9564 -22.7202 37.6793 -34.4876 -28.9493 34.2106 0.2 0.8 0.1
+t -37.9564 -22.7202 37.6793 -20.6113 -22.7202 49.2882 -21.4829 -14.2925 51.3369 0.2 0.8 0.1
+t -21.4829 -14.2925 51.3369 -39.5331 -14.2925 39.2561 -37.9564 -22.7202 37.6793 0.2 0.8 0.1
+t -15.9044 -35.6115 38.2256 0.831025 -35.6115 41.5301 0.831025 -33.1798 43.7508 0.2 0.8 0.1
+t 0.831025 -33.1798 43.7508 -16.7761 -33.1798 40.2743 -15.9044 -35.6115 38.2256 0.2 0.8 0.1
+t -16.7761 -33.1798 40.2743 0.831025 -33.1798 43.7508 0.831025 -28.9493 48.6365 0.2 0.8 0.1
+t 0.831025 -28.9493 48.6365 -18.6937 -28.9493 44.7813 -16.7761 -33.1798 40.2743 0.2 0.8 0.1
+t -18.6937 -28.9493 44.7813 0.831025 -28.9493 48.6365 0.831025 -22.7202 53.5221 0.2 0.8 0.1
+t 0.831025 -22.7202 53.5221 -20.6113 -22.7202 49.2882 -18.6937 -28.9493 44.7813 0.2 0.8 0.1
+t -20.6113 -22.7202 49.2882 0.831025 -22.7202 53.5221 0.831025 -14.2925 55.7428 0.2 0.8 0.1
+t 0.831025 -14.2925 55.7428 -21.4829 -14.2925 51.3369 -20.6113 -22.7202 49.2882 0.2 0.8 0.1
+t 0.831025 -35.6115 41.5301 17.5665 -35.6115 38.2256 18.4381 -33.1798 40.2743 0.2 0.8 0.1
+t 18.4381 -33.1798 40.2743 0.831025 -33.1798 43.7508 0.831025 -35.6115 41.5301 0.2 0.8 0.1
+t 0.831025 -33.1798 43.7508 18.4381 -33.1798 40.2743 20.3557 -28.9493 44.7813 0.2 0.8 0.1
+t 20.3557 -28.9493 44.7813 0.831025 -28.9493 48.6365 0.831025 -33.1798 43.7508 0.2 0.8 0.1
+t 0.831025 -28.9493 48.6365 20.3557 -28.9493 44.7813 22.2733 -22.7202 49.2882 0.2 0.8 0.1
+t 22.2733 -22.7202 49.2882 0.831025 -22.7202 53.5221 0.831025 -28.9493 48.6365 0.2 0.8 0.1
+t 0.831025 -22.7202 53.5221 22.2733 -22.7202 49.2882 23.145 -14.2925 51.3369 0.2 0.8 0.1
+t 23.145 -14.2925 51.3369 0.831025 -14.2925 55.7428 0.831025 -22.7202 53.5221 0.2 0.8 0.1
+t 17.5665 -35.6115 38.2256 31.1041 -35.6115 29.165 32.6808 -33.1798 30.7418 0.2 0.8 0.1
+t 32.6808 -33.1798 30.7418 18.4381 -33.1798 40.2743 17.5665 -35.6115 38.2256 0.2 0.8 0.1
+t 18.4381 -33.1798 40.2743 32.6808 -33.1798 30.7418 36.1496 -28.9493 34.2106 0.2 0.8 0.1
+t 36.1496 -28.9493 34.2106 20.3557 -28.9493 44.7813 18.4381 -33.1798 40.2743 0.2 0.8 0.1
+t 20.3557 -28.9493 44.7813 36.1496 -28.9493 34.2106 39.6184 -22.7202 37.6793 0.2 0.8 0.1
+t 39.6184 -22.7202 37.6793 22.2733 -22.7202 49.2882 20.3557 -28.9493 44.7813 0.2 0.8 0.1
+t 22.2733 -22.7202 49.2882 39.6184 -22.7202 37.6793 41.1951 -14.2925 39.2561 0.2 0.8 0.1
+t 41.1951 -14.2925 39.2561 23.145 -14.2925 51.3369 22.2733 -22.7202 49.2882 0.2 0.8 0.1
+t 31.1041 -35.6115 29.165 40.1647 -35.6115 15.6274 42.2133 -33.1798 16.4991 0.2 0.8 0.1
+t 42.2133 -33.1798 16.4991 32.6808 -33.1798 30.7418 31.1041 -35.6115 29.165 0.2 0.8 0.1
+t 32.6808 -33.1798 30.7418 42.2133 -33.1798 16.4991 46.7203 -28.9493 18.4167 0.2 0.8 0.1
+t 46.7203 -28.9493 18.4167 36.1496 -28.9493 34.2106 32.6808 -33.1798 30.7418 0.2 0.8 0.1
+t 36.1496 -28.9493 34.2106 46.7203 -28.9493 18.4167 51.2273 -22.7202 20.3343 0.2 0.8 0.1
+t 51.2273 -22.7202 20.3343 39.6184 -22.7202 37.6793 36.1496 -28.9493 34.2106 0.2 0.8 0.1
+t 39.6184 -22.7202 37.6793 51.2273 -22.7202 20.3343 53.2759 -14.2925 21.2059 0.2 0.8 0.1
+t 53.2759 -14.2925 21.2059 41.1951 -14.2925 39.2561 39.6184 -22.7202 37.6793 0.2 0.8 0.1
+t 40.1647 -35.6115 15.6274 43.4692 -35.6115 -1.10804 45.6899 -33.1798 -1.10804 0.2 0.8 0.1
+t 45.6899 -33.1798 -1.10804 42.2133 -33.1798 16.4991 40.1647 -35.6115 15.6274 0.2 0.8 0.1
+t 42.2133 -33.1798 16.4991 45.6899 -33.1798 -1.10804 50.5755 -28.9493 -1.10804 0.2 0.8 0.1
+t 50.5755 -28.9493 -1.10804 46.7203 -28.9493 18.4167 42.2133 -33.1798 16.4991 0.2 0.8 0.1
+t 46.7203 -28.9493 18.4167 50.5755 -28.9493 -1.10804 55.4611 -22.7202 -1.10804 0.2 0.8 0.1
+t 55.4611 -22.7202 -1.10804 51.2273 -22.7202 20.3343 46.7203 -28.9493 18.4167 0.2 0.8 0.1
+t 51.2273 -22.7202 20.3343 55.4611 -22.7202 -1.10804 57.6819 -14.2925 -1.10804 0.2 0.8 0.1
+t 57.6819 -14.2925 -1.10804 53.2759 -14.2925 21.2059 51.2273 -22.7202 20.3343 0.2 0.8 0.1
+t 57.6819 -14.2925 -1.10804 53.2759 -14.2925 -23.422 52.1492 -4.33246 -22.9426 0.2 0.8 0.1
+t 52.1492 -4.33246 -22.9426 56.4605 -4.33246 -1.10804 57.6819 -14.2925 -1.10804 0.2 0.8 0.1
+t 56.4605 -4.33246 -1.10804 52.1492 -4.33246 -22.9426 49.1787 6.22714 -21.6787 0.2 0.8 0.1
+t 49.1787 6.22714 -21.6787 53.2404 6.22714 -1.10804 56.4605 -4.33246 -1.10804 0.2 0.8 0.1
+t 53.2404 6.22714 -1.10804 49.1787 6.22714 -21.6787 44.979 17.1865 -19.8919 0.2 0.8 0.1
+t 44.979 17.1865 -19.8919 48.6879 17.1865 -1.10804 53.2404 6.22714 -1.10804 0.2 0.8 0.1
+t 48.6879 17.1865 -1.10804 44.979 17.1865 -19.8919 40.1647 28.3457 -17.8435 0.2 0.8 0.1
+t 40.1647 28.3457 -17.8435 43.4692 28.3457 -1.10804 48.6879 17.1865 -1.10804 0.2 0.8 0.1
+t 53.2759 -14.2925 -23.422 41.1951 -14.2925 -41.4721 40.3279 -4.33246 -40.6049 0.2 0.8 0.1
+t 40.3279 -4.33246 -40.6049 52.1492 -4.33246 -22.9426 53.2759 -14.2925 -23.422 0.2 0.8 0.1
+t 52.1492 -4.33246 -22.9426 40.3279 -4.33246 -40.6049 38.0417 6.22714 -38.3187 0.2 0.8 0.1
+t 38.0417 6.22714 -38.3187 49.1787 6.22714 -21.6787 52.1492 -4.33246 -22.9426 0.2 0.8 0.1
+t 49.1787 6.22714 -21.6787 38.0417 6.22714 -38.3187 34.8094 17.1865 -35.0864 0.2 0.8 0.1
+t 34.8094 17.1865 -35.0864 44.979 17.1865 -19.8919 49.1787 6.22714 -21.6787 0.2 0.8 0.1
+t 44.979 17.1865 -19.8919 34.8094 17.1865 -35.0864 31.1041 28.3457 -31.3811 0.2 0.8 0.1
+t 31.1041 28.3457 -31.3811 40.1647 28.3457 -17.8435 44.979 17.1865 -19.8919 0.2 0.8 0.1
+t 41.1951 -14.2925 -41.4721 23.145 -14.2925 -53.5529 22.6656 -4.33246 -52.4262 0.2 0.8 0.1
+t 22.6656 -4.33246 -52.4262 40.3279 -4.33246 -40.6049 41.1951 -14.2925 -41.4721 0.2 0.8 0.1
+t 40.3279 -4.33246 -40.6049 22.6656 -4.33246 -52.4262 21.4017 6.22714 -49.4557 0.2 0.8 0.1
+t 21.4017 6.22714 -49.4557 38.0417 6.22714 -38.3187 40.3279 -4.33246 -40.6049 0.2 0.8 0.1
+t 38.0417 6.22714 -38.3187 21.4017 6.22714 -49.4557 19.6148 17.1865 -45.256 0.2 0.8 0.1
+t 19.6148 17.1865 -45.256 34.8094 17.1865 -35.0864 38.0417 6.22714 -38.3187 0.2 0.8 0.1
+t 34.8094 17.1865 -35.0864 19.6148 17.1865 -45.256 17.5665 28.3457 -40.4417 0.2 0.8 0.1
+t 17.5665 28.3457 -40.4417 31.1041 28.3457 -31.3811 34.8094 17.1865 -35.0864 0.2 0.8 0.1
+t 23.145 -14.2925 -53.5529 0.831025 -14.2925 -57.9589 0.831025 -4.33246 -56.7375 0.2 0.8 0.1
+t 0.831025 -4.33246 -56.7375 22.6656 -4.33246 -52.4262 23.145 -14.2925 -53.5529 0.2 0.8 0.1
+t 22.6656 -4.33246 -52.4262 0.831025 -4.33246 -56.7375 0.831025 6.22714 -53.5174 0.2 0.8 0.1
+t 0.831025 6.22714 -53.5174 21.4017 6.22714 -49.4557 22.6656 -4.33246 -52.4262 0.2 0.8 0.1
+t 21.4017 6.22714 -49.4557 0.831025 6.22714 -53.5174 0.831025 17.1865 -48.9649 0.2 0.8 0.1
+t 0.831025 17.1865 -48.9649 19.6148 17.1865 -45.256 21.4017 6.22714 -49.4557 0.2 0.8 0.1
+t 19.6148 17.1865 -45.256 0.831025 17.1865 -48.9649 0.831025 28.3457 -43.7462 0.2 0.8 0.1
+t 0.831025 28.3457 -43.7462 17.5665 28.3457 -40.4417 19.6148 17.1865 -45.256 0.2 0.8 0.1
+t 0.831025 -14.2925 -57.9589 -21.4829 -14.2925 -53.5529 -21.0035 -4.33246 -52.4262 0.2 0.8 0.1
+t -21.0035 -4.33246 -52.4262 0.831025 -4.33246 -56.7375 0.831025 -14.2925 -57.9589 0.2 0.8 0.1
+t 0.831025 -4.33246 -56.7375 -21.0035 -4.33246 -52.4262 -19.7397 6.22714 -49.4557 0.2 0.8 0.1
+t -19.7397 6.22714 -49.4557 0.831025 6.22714 -53.5174 0.831025 -4.33246 -56.7375 0.2 0.8 0.1
+t 0.831025 6.22714 -53.5174 -19.7397 6.22714 -49.4557 -17.9528 17.1865 -45.256 0.2 0.8 0.1
+t -17.9528 17.1865 -45.256 0.831025 17.1865 -48.9649 0.831025 6.22714 -53.5174 0.2 0.8 0.1
+t 0.831025 17.1865 -48.9649 -17.9528 17.1865 -45.256 -15.9044 28.3457 -40.4417 0.2 0.8 0.1
+t -15.9044 28.3457 -40.4417 0.831025 28.3457 -43.7462 0.831025 17.1865 -48.9649 0.2 0.8 0.1
+t -21.4829 -14.2925 -53.5529 -39.5331 -14.2925 -41.4721 -38.6659 -4.33246 -40.6049 0.2 0.8 0.1
+t -38.6659 -4.33246 -40.6049 -21.0035 -4.33246 -52.4262 -21.4829 -14.2925 -53.5529 0.2 0.8 0.1
+t -21.0035 -4.33246 -52.4262 -38.6659 -4.33246 -40.6049 -36.3796 6.22714 -38.3187 0.2 0.8 0.1
+t -36.3796 6.22714 -38.3187 -19.7397 6.22714 -49.4557 -21.0035 -4.33246 -52.4262 0.2 0.8 0.1
+t -19.7397 6.22714 -49.4557 -36.3796 6.22714 -38.3187 -33.1474 17.1865 -35.0864 0.2 0.8 0.1
+t -33.1474 17.1865 -35.0864 -17.9528 17.1865 -45.256 -19.7397 6.22714 -49.4557 0.2 0.8 0.1
+t -17.9528 17.1865 -45.256 -33.1474 17.1865 -35.0864 -29.4421 28.3457 -31.3811 0.2 0.8 0.1
+t -29.4421 28.3457 -31.3811 -15.9044 28.3457 -40.4417 -17.9528 17.1865 -45.256 0.2 0.8 0.1
+t -39.5331 -14.2925 -41.4721 -51.6139 -14.2925 -23.422 -50.4871 -4.33246 -22.9426 0.2 0.8 0.1
+t -50.4871 -4.33246 -22.9426 -38.6659 -4.33246 -40.6049 -39.5331 -14.2925 -41.4721 0.2 0.8 0.1
+t -38.6659 -4.33246 -40.6049 -50.4871 -4.33246 -22.9426 -47.5166 6.22714 -21.6787 0.2 0.8 0.1
+t -47.5166 6.22714 -21.6787 -36.3796 6.22714 -38.3187 -38.6659 -4.33246 -40.6049 0.2 0.8 0.1
+t -36.3796 6.22714 -38.3187 -47.5166 6.22714 -21.6787 -43.3169 17.1865 -19.8919 0.2 0.8 0.1
+t -43.3169 17.1865 -19.8919 -33.1474 17.1865 -35.0864 -36.3796 6.22714 -38.3187 0.2 0.8 0.1
+t -33.1474 17.1865 -35.0864 -43.3169 17.1865 -19.8919 -38.5027 28.3457 -17.8435 0.2 0.8 0.1
+t -38.5027 28.3457 -17.8435 -29.4421 28.3457 -31.3811 -33.1474 17.1865 -35.0864 0.2 0.8 0.1
+t -51.6139 -14.2925 -23.422 -56.0198 -14.2925 -1.10804 -54.7984 -4.33246 -1.10804 0.2 0.8 0.1
+t -54.7984 -4.33246 -1.10804 -50.4871 -4.33246 -22.9426 -51.6139 -14.2925 -23.422 0.2 0.8 0.1
+t -50.4871 -4.33246 -22.9426 -54.7984 -4.33246 -1.10804 -51.5784 6.22714 -1.10804 0.2 0.8 0.1
+t -51.5784 6.22714 -1.10804 -47.5166 6.22714 -21.6787 -50.4871 -4.33246 -22.9426 0.2 0.8 0.1
+t -47.5166 6.22714 -21.6787 -51.5784 6.22714 -1.10804 -47.0258 17.1865 -1.10804 0.2 0.8 0.1
+t -47.0258 17.1865 -1.10804 -43.3169 17.1865 -19.8919 -47.5166 6.22714 -21.6787 0.2 0.8 0.1
+t -43.3169 17.1865 -19.8919 -47.0258 17.1865 -1.10804 -41.8071 28.3457 -1.10804 0.2 0.8 0.1
+t -41.8071 28.3457 -1.10804 -38.5027 28.3457 -17.8435 -43.3169 17.1865 -19.8919 0.2 0.8 0.1
+t -56.0198 -14.2925 -1.10804 -51.6139 -14.2925 21.2059 -50.4871 -4.33246 20.7265 0.2 0.8 0.1
+t -50.4871 -4.33246 20.7265 -54.7984 -4.33246 -1.10804 -56.0198 -14.2925 -1.10804 0.2 0.8 0.1
+t -54.7984 -4.33246 -1.10804 -50.4871 -4.33246 20.7265 -47.5166 6.22714 19.4626 0.2 0.8 0.1
+t -47.5166 6.22714 19.4626 -51.5784 6.22714 -1.10804 -54.7984 -4.33246 -1.10804 0.2 0.8 0.1
+t -51.5784 6.22714 -1.10804 -47.5166 6.22714 19.4626 -43.3169 17.1865 17.6758 0.2 0.8 0.1
+t -43.3169 17.1865 17.6758 -47.0258 17.1865 -1.10804 -51.5784 6.22714 -1.10804 0.2 0.8 0.1
+t -47.0258 17.1865 -1.10804 -43.3169 17.1865 17.6758 -38.5027 28.3457 15.6274 0.2 0.8 0.1
+t -38.5027 28.3457 15.6274 -41.8071 28.3457 -1.10804 -47.0258 17.1865 -1.10804 0.2 0.8 0.1
+t -51.6139 -14.2925 21.2059 -39.5331 -14.2925 39.2561 -38.6659 -4.33246 38.3889 0.2 0.8 0.1
+t -38.6659 -4.33246 38.3889 -50.4871 -4.33246 20.7265 -51.6139 -14.2925 21.2059 0.2 0.8 0.1
+t -50.4871 -4.33246 20.7265 -38.6659 -4.33246 38.3889 -36.3796 6.22714 36.1026 0.2 0.8 0.1
+t -36.3796 6.22714 36.1026 -47.5166 6.22714 19.4626 -50.4871 -4.33246 20.7265 0.2 0.8 0.1
+t -47.5166 6.22714 19.4626 -36.3796 6.22714 36.1026 -33.1474 17.1865 32.8703 0.2 0.8 0.1
+t -33.1474 17.1865 32.8703 -43.3169 17.1865 17.6758 -47.5166 6.22714 19.4626 0.2 0.8 0.1
+t -43.3169 17.1865 17.6758 -33.1474 17.1865 32.8703 -29.4421 28.3457 29.165 0.2 0.8 0.1
+t -29.4421 28.3457 29.165 -38.5027 28.3457 15.6274 -43.3169 17.1865 17.6758 0.2 0.8 0.1
+t -39.5331 -14.2925 39.2561 -21.4829 -14.2925 51.3369 -21.0035 -4.33246 50.2101 0.2 0.8 0.1
+t -21.0035 -4.33246 50.2101 -38.6659 -4.33246 38.3889 -39.5331 -14.2925 39.2561 0.2 0.8 0.1
+t -38.6659 -4.33246 38.3889 -21.0035 -4.33246 50.2101 -19.7397 6.22714 47.2396 0.2 0.8 0.1
+t -19.7397 6.22714 47.2396 -36.3796 6.22714 36.1026 -38.6659 -4.33246 38.3889 0.2 0.8 0.1
+t -36.3796 6.22714 36.1026 -19.7397 6.22714 47.2396 -17.9528 17.1865 43.0399 0.2 0.8 0.1
+t -17.9528 17.1865 43.0399 -33.1474 17.1865 32.8703 -36.3796 6.22714 36.1026 0.2 0.8 0.1
+t -33.1474 17.1865 32.8703 -17.9528 17.1865 43.0399 -15.9044 28.3457 38.2256 0.2 0.8 0.1
+t -15.9044 28.3457 38.2256 -29.4421 28.3457 29.165 -33.1474 17.1865 32.8703 0.2 0.8 0.1
+t -21.4829 -14.2925 51.3369 0.831025 -14.2925 55.7428 0.831025 -4.33246 54.5214 0.2 0.8 0.1
+t 0.831025 -4.33246 54.5214 -21.0035 -4.33246 50.2101 -21.4829 -14.2925 51.3369 0.2 0.8 0.1
+t -21.0035 -4.33246 50.2101 0.831025 -4.33246 54.5214 0.831025 6.22714 51.3013 0.2 0.8 0.1
+t 0.831025 6.22714 51.3013 -19.7397 6.22714 47.2396 -21.0035 -4.33246 50.2101 0.2 0.8 0.1
+t -19.7397 6.22714 47.2396 0.831025 6.22714 51.3013 0.831025 17.1865 46.7488 0.2 0.8 0.1
+t 0.831025 17.1865 46.7488 -17.9528 17.1865 43.0399 -19.7397 6.22714 47.2396 0.2 0.8 0.1
+t -17.9528 17.1865 43.0399 0.831025 17.1865 46.7488 0.831025 28.3457 41.5301 0.2 0.8 0.1
+t 0.831025 28.3457 41.5301 -15.9044 28.3457 38.2256 -17.9528 17.1865 43.0399 0.2 0.8 0.1
+t 0.831025 -14.2925 55.7428 23.145 -14.2925 51.3369 22.6656 -4.33246 50.2101 0.2 0.8 0.1
+t 22.6656 -4.33246 50.2101 0.831025 -4.33246 54.5214 0.831025 -14.2925 55.7428 0.2 0.8 0.1
+t 0.831025 -4.33246 54.5214 22.6656 -4.33246 50.2101 21.4017 6.22714 47.2396 0.2 0.8 0.1
+t 21.4017 6.22714 47.2396 0.831025 6.22714 51.3013 0.831025 -4.33246 54.5214 0.2 0.8 0.1
+t 0.831025 6.22714 51.3013 21.4017 6.22714 47.2396 19.6148 17.1865 43.0399 0.2 0.8 0.1
+t 19.6148 17.1865 43.0399 0.831025 17.1865 46.7488 0.831025 6.22714 51.3013 0.2 0.8 0.1
+t 0.831025 17.1865 46.7488 19.6148 17.1865 43.0399 17.5665 28.3457 38.2256 0.2 0.8 0.1
+t 17.5665 28.3457 38.2256 0.831025 28.3457 41.5301 0.831025 17.1865 46.7488 0.2 0.8 0.1
+t 23.145 -14.2925 51.3369 41.1951 -14.2925 39.2561 40.3279 -4.33246 38.3889 0.2 0.8 0.1
+t 40.3279 -4.33246 38.3889 22.6656 -4.33246 50.2101 23.145 -14.2925 51.3369 0.2 0.8 0.1
+t 22.6656 -4.33246 50.2101 40.3279 -4.33246 38.3889 38.0417 6.22714 36.1026 0.2 0.8 0.1
+t 38.0417 6.22714 36.1026 21.4017 6.22714 47.2396 22.6656 -4.33246 50.2101 0.2 0.8 0.1
+t 21.4017 6.22714 47.2396 38.0417 6.22714 36.1026 34.8094 17.1865 32.8703 0.2 0.8 0.1
+t 34.8094 17.1865 32.8703 19.6148 17.1865 43.0399 21.4017 6.22714 47.2396 0.2 0.8 0.1
+t 19.6148 17.1865 43.0399 34.8094 17.1865 32.8703 31.1041 28.3457 29.165 0.2 0.8 0.1
+t 31.1041 28.3457 29.165 17.5665 28.3457 38.2256 19.6148 17.1865 43.0399 0.2 0.8 0.1
+t 41.1951 -14.2925 39.2561 53.2759 -14.2925 21.2059 52.1492 -4.33246 20.7265 0.2 0.8 0.1
+t 52.1492 -4.33246 20.7265 40.3279 -4.33246 38.3889 41.1951 -14.2925 39.2561 0.2 0.8 0.1
+t 40.3279 -4.33246 38.3889 52.1492 -4.33246 20.7265 49.1787 6.22714 19.4626 0.2 0.8 0.1
+t 49.1787 6.22714 19.4626 38.0417 6.22714 36.1026 40.3279 -4.33246 38.3889 0.2 0.8 0.1
+t 38.0417 6.22714 36.1026 49.1787 6.22714 19.4626 44.979 17.1865 17.6758 0.2 0.8 0.1
+t 44.979 17.1865 17.6758 34.8094 17.1865 32.8703 38.0417 6.22714 36.1026 0.2 0.8 0.1
+t 34.8094 17.1865 32.8703 44.979 17.1865 17.6758 40.1647 28.3457 15.6274 0.2 0.8 0.1
+t 40.1647 28.3457 15.6274 31.1041 28.3457 29.165 34.8094 17.1865 32.8703 0.2 0.8 0.1
+t 53.2759 -14.2925 21.2059 57.6819 -14.2925 -1.10804 56.4605 -4.33246 -1.10804 0.2 0.8 0.1
+t 56.4605 -4.33246 -1.10804 52.1492 -4.33246 20.7265 53.2759 -14.2925 21.2059 0.2 0.8 0.1
+t 52.1492 -4.33246 20.7265 56.4605 -4.33246 -1.10804 53.2404 6.22714 -1.10804 0.2 0.8 0.1
+t 53.2404 6.22714 -1.10804 49.1787 6.22714 19.4626 52.1492 -4.33246 20.7265 0.2 0.8 0.1
+t 49.1787 6.22714 19.4626 53.2404 6.22714 -1.10804 48.6879 17.1865 -1.10804 0.2 0.8 0.1
+t 48.6879 17.1865 -1.10804 44.979 17.1865 17.6758 49.1787 6.22714 19.4626 0.2 0.8 0.1
+t 44.979 17.1865 17.6758 48.6879 17.1865 -1.10804 43.4692 28.3457 -1.10804 0.2 0.8 0.1
+t 43.4692 28.3457 -1.10804 40.1647 28.3457 15.6274 44.979 17.1865 17.6758 0.2 0.8 0.1
+t 43.4692 28.3457 -1.10804 40.1647 28.3457 -17.8435 38.8331 30.4443 -17.2769 0.2 0.8 0.1
+t 38.8331 30.4443 -17.2769 42.0257 30.4443 -1.10804 43.4692 28.3457 -1.10804 0.2 0.8 0.1
+t 42.0257 30.4443 -1.10804 38.8331 30.4443 -17.2769 37.6244 31.1438 -16.7627 0.2 0.8 0.1
+t 37.6244 31.1438 -16.7627 40.7155 31.1438 -1.10804 42.0257 30.4443 -1.10804 0.2 0.8 0.1
+t 40.7155 31.1438 -1.10804 37.6244 31.1438 -16.7627 37.0303 30.4443 -16.5099 0.2 0.8 0.1
+t 37.0303 30.4443 -16.5099 40.0714 30.4443 -1.10804 40.7155 31.1438 -1.10804 0.2 0.8 0.1
+t 40.0714 30.4443 -1.10804 37.0303 30.4443 -16.5099 37.5425 28.3457 -16.7278 0.2 0.8 0.1
+t 37.5425 28.3457 -16.7278 40.6266 28.3457 -1.10804 40.0714 30.4443 -1.10804 0.2 0.8 0.1
+t 40.1647 28.3457 -17.8435 31.1041 28.3457 -31.3811 30.0792 30.4443 -30.3562 0.2 0.8 0.1
+t 30.0792 30.4443 -30.3562 38.8331 30.4443 -17.2769 40.1647 28.3457 -17.8435 0.2 0.8 0.1
+t 38.8331 30.4443 -17.2769 30.0792 30.4443 -30.3562 29.149 31.1438 -29.426 0.2 0.8 0.1
+t 29.149 31.1438 -29.426 37.6244 31.1438 -16.7627 38.8331 30.4443 -17.2769 0.2 0.8 0.1
+t 37.6244 31.1438 -16.7627 29.149 31.1438 -29.426 28.6917 30.4443 -28.9687 0.2 0.8 0.1
+t 28.6917 30.4443 -28.9687 37.0303 30.4443 -16.5099 37.6244 31.1438 -16.7627 0.2 0.8 0.1
+t 37.0303 30.4443 -16.5099 28.6917 30.4443 -28.9687 29.0859 28.3457 -29.3629 0.2 0.8 0.1
+t 29.0859 28.3457 -29.3629 37.5425 28.3457 -16.7278 37.0303 30.4443 -16.5099 0.2 0.8 0.1
+t 31.1041 28.3457 -31.3811 17.5665 28.3457 -40.4417 16.9999 30.4443 -39.1101 0.2 0.8 0.1
+t 16.9999 30.4443 -39.1101 30.0792 30.4443 -30.3562 31.1041 28.3457 -31.3811 0.2 0.8 0.1
+t 30.0792 30.4443 -30.3562 16.9999 30.4443 -39.1101 16.4857 31.1438 -37.9014 0.2 0.8 0.1
+t 16.4857 31.1438 -37.9014 29.149 31.1438 -29.426 30.0792 30.4443 -30.3562 0.2 0.8 0.1
+t 29.149 31.1438 -29.426 16.4857 31.1438 -37.9014 16.2329 30.4443 -37.3073 0.2 0.8 0.1
+t 16.2329 30.4443 -37.3073 28.6917 30.4443 -28.9687 29.149 31.1438 -29.426 0.2 0.8 0.1
+t 28.6917 30.4443 -28.9687 16.2329 30.4443 -37.3073 16.4508 28.3457 -37.8195 0.2 0.8 0.1
+t 16.4508 28.3457 -37.8195 29.0859 28.3457 -29.3629 28.6917 30.4443 -28.9687 0.2 0.8 0.1
+t 17.5665 28.3457 -40.4417 0.831025 28.3457 -43.7462 0.831025 30.4443 -42.3027 0.2 0.8 0.1
+t 0.831025 30.4443 -42.3027 16.9999 30.4443 -39.1101 17.5665 28.3457 -40.4417 0.2 0.8 0.1
+t 16.9999 30.4443 -39.1101 0.831025 30.4443 -42.3027 0.831025 31.1438 -40.9925 0.2 0.8 0.1
+t 0.831025 31.1438 -40.9925 16.4857 31.1438 -37.9014 16.9999 30.4443 -39.1101 0.2 0.8 0.1
+t 16.4857 31.1438 -37.9014 0.831025 31.1438 -40.9925 0.831025 30.4443 -40.3484 0.2 0.8 0.1
+t 0.831025 30.4443 -40.3484 16.2329 30.4443 -37.3073 16.4857 31.1438 -37.9014 0.2 0.8 0.1
+t 16.2329 30.4443 -37.3073 0.831025 30.4443 -40.3484 0.831025 28.3457 -40.9036 0.2 0.8 0.1
+t 0.831025 28.3457 -40.9036 16.4508 28.3457 -37.8195 16.2329 30.4443 -37.3073 0.2 0.8 0.1
+t 0.831025 28.3457 -43.7462 -15.9044 28.3457 -40.4417 -15.3379 30.4443 -39.1101 0.2 0.8 0.1
+t -15.3379 30.4443 -39.1101 0.831025 30.4443 -42.3027 0.831025 28.3457 -43.7462 0.2 0.8 0.1
+t 0.831025 30.4443 -42.3027 -15.3379 30.4443 -39.1101 -14.8236 31.1438 -37.9014 0.2 0.8 0.1
+t -14.8236 31.1438 -37.9014 0.831025 31.1438 -40.9925 0.831025 30.4443 -42.3027 0.2 0.8 0.1
+t 0.831025 31.1438 -40.9925 -14.8236 31.1438 -37.9014 -14.5708 30.4443 -37.3073 0.2 0.8 0.1
+t -14.5708 30.4443 -37.3073 0.831025 30.4443 -40.3484 0.831025 31.1438 -40.9925 0.2 0.8 0.1
+t 0.831025 30.4443 -40.3484 -14.5708 30.4443 -37.3073 -14.7887 28.3457 -37.8195 0.2 0.8 0.1
+t -14.7887 28.3457 -37.8195 0.831025 28.3457 -40.9036 0.831025 30.4443 -40.3484 0.2 0.8 0.1
+t -15.9044 28.3457 -40.4417 -29.4421 28.3457 -31.3811 -28.4172 30.4443 -30.3562 0.2 0.8 0.1
+t -28.4172 30.4443 -30.3562 -15.3379 30.4443 -39.1101 -15.9044 28.3457 -40.4417 0.2 0.8 0.1
+t -15.3379 30.4443 -39.1101 -28.4172 30.4443 -30.3562 -27.4869 31.1438 -29.426 0.2 0.8 0.1
+t -27.4869 31.1438 -29.426 -14.8236 31.1438 -37.9014 -15.3379 30.4443 -39.1101 0.2 0.8 0.1
+t -14.8236 31.1438 -37.9014 -27.4869 31.1438 -29.426 -27.0297 30.4443 -28.9687 0.2 0.8 0.1
+t -27.0297 30.4443 -28.9687 -14.5708 30.4443 -37.3073 -14.8236 31.1438 -37.9014 0.2 0.8 0.1
+t -14.5708 30.4443 -37.3073 -27.0297 30.4443 -28.9687 -27.4238 28.3457 -29.3629 0.2 0.8 0.1
+t -27.4238 28.3457 -29.3629 -14.7887 28.3457 -37.8195 -14.5708 30.4443 -37.3073 0.2 0.8 0.1
+t -29.4421 28.3457 -31.3811 -38.5027 28.3457 -17.8435 -37.1711 30.4443 -17.2769 0.2 0.8 0.1
+t -37.1711 30.4443 -17.2769 -28.4172 30.4443 -30.3562 -29.4421 28.3457 -31.3811 0.2 0.8 0.1
+t -28.4172 30.4443 -30.3562 -37.1711 30.4443 -17.2769 -35.9624 31.1438 -16.7627 0.2 0.8 0.1
+t -35.9624 31.1438 -16.7627 -27.4869 31.1438 -29.426 -28.4172 30.4443 -30.3562 0.2 0.8 0.1
+t -27.4869 31.1438 -29.426 -35.9624 31.1438 -16.7627 -35.3683 30.4443 -16.5099 0.2 0.8 0.1
+t -35.3683 30.4443 -16.5099 -27.0297 30.4443 -28.9687 -27.4869 31.1438 -29.426 0.2 0.8 0.1
+t -27.0297 30.4443 -28.9687 -35.3683 30.4443 -16.5099 -35.8804 28.3457 -16.7278 0.2 0.8 0.1
+t -35.8804 28.3457 -16.7278 -27.4238 28.3457 -29.3629 -27.0297 30.4443 -28.9687 0.2 0.8 0.1
+t -38.5027 28.3457 -17.8435 -41.8071 28.3457 -1.10804 -40.3636 30.4443 -1.10804 0.2 0.8 0.1
+t -40.3636 30.4443 -1.10804 -37.1711 30.4443 -17.2769 -38.5027 28.3457 -17.8435 0.2 0.8 0.1
+t -37.1711 30.4443 -17.2769 -40.3636 30.4443 -1.10804 -39.0534 31.1438 -1.10804 0.2 0.8 0.1
+t -39.0534 31.1438 -1.10804 -35.9624 31.1438 -16.7627 -37.1711 30.4443 -17.2769 0.2 0.8 0.1
+t -35.9624 31.1438 -16.7627 -39.0534 31.1438 -1.10804 -38.4094 30.4443 -1.10804 0.2 0.8 0.1
+t -38.4094 30.4443 -1.10804 -35.3683 30.4443 -16.5099 -35.9624 31.1438 -16.7627 0.2 0.8 0.1
+t -35.3683 30.4443 -16.5099 -38.4094 30.4443 -1.10804 -38.9646 28.3457 -1.10804 0.2 0.8 0.1
+t -38.9646 28.3457 -1.10804 -35.8804 28.3457 -16.7278 -35.3683 30.4443 -16.5099 0.2 0.8 0.1
+t -41.8071 28.3457 -1.10804 -38.5027 28.3457 15.6274 -37.1767 30.4443 15.0609 0.2 0.8 0.1
+t -37.1767 30.4443 15.0609 -40.3636 30.4443 -1.10804 -41.8071 28.3457 -1.10804 0.2 0.8 0.1
+t -40.3636 30.4443 -1.10804 -37.1767 30.4443 15.0609 -36.0073 31.1438 14.5466 0.2 0.8 0.1
+t -36.0073 31.1438 14.5466 -39.0534 31.1438 -1.10804 -40.3636 30.4443 -1.10804 0.2 0.8 0.1
+t -39.0534 31.1438 -1.10804 -36.0073 31.1438 14.5466 -35.52 30.4443 14.2938 0.2 0.8 0.1
+t -35.52 30.4443 14.2938 -38.4094 30.4443 -1.10804 -39.0534 31.1438 -1.10804 0.2 0.8 0.1
+t -38.4094 30.4443 -1.10804 -35.52 30.4443 14.2938 -36.2402 28.3457 14.5117 0.2 0.8 0.1
+t -36.2402 28.3457 14.5117 -38.9646 28.3457 -1.10804 -38.4094 30.4443 -1.10804 0.2 0.8 0.1
+t -38.5027 28.3457 15.6274 -29.4421 28.3457 29.165 -28.4322 30.4443 28.1402 0.2 0.8 0.1
+t -28.4322 30.4443 28.1402 -37.1767 30.4443 15.0609 -38.5027 28.3457 15.6274 0.2 0.8 0.1
+t -37.1767 30.4443 15.0609 -28.4322 30.4443 28.1402 -27.6068 31.1438 27.2099 0.2 0.8 0.1
+t -27.6068 31.1438 27.2099 -36.0073 31.1438 14.5466 -37.1767 30.4443 15.0609 0.2 0.8 0.1
+t -36.0073 31.1438 14.5466 -27.6068 31.1438 27.2099 -27.4344 30.4443 26.7527 0.2 0.8 0.1
+t -27.4344 30.4443 26.7527 -35.52 30.4443 14.2938 -36.0073 31.1438 14.5466 0.2 0.8 0.1
+t -35.52 30.4443 14.2938 -27.4344 30.4443 26.7527 -28.3832 28.3457 27.1468 0.2 0.8 0.1
+t -28.3832 28.3457 27.1468 -36.2402 28.3457 14.5117 -35.52 30.4443 14.2938 0.2 0.8 0.1
+t -29.4421 28.3457 29.165 -15.9044 28.3457 38.2256 -15.3547 30.4443 36.894 0.2 0.8 0.1
+t -15.3547 30.4443 36.894 -28.4322 30.4443 28.1402 -29.4421 28.3457 29.165 0.2 0.8 0.1
+t -28.4322 30.4443 28.1402 -15.3547 30.4443 36.894 -14.9585 31.1438 35.6853 0.2 0.8 0.1
+t -14.9585 31.1438 35.6853 -27.6068 31.1438 27.2099 -28.4322 30.4443 28.1402 0.2 0.8 0.1
+t -27.6068 31.1438 27.2099 -14.9585 31.1438 35.6853 -15.0262 30.4443 35.0912 0.2 0.8 0.1
+t -15.0262 30.4443 35.0912 -27.4344 30.4443 26.7527 -27.6068 31.1438 27.2099 0.2 0.8 0.1
+t -27.4344 30.4443 26.7527 -15.0262 30.4443 35.0912 -15.868 28.3457 35.6034 0.2 0.8 0.1
+t -15.868 28.3457 35.6034 -28.3832 28.3457 27.1468 -27.4344 30.4443 26.7527 0.2 0.8 0.1
+t -15.9044 28.3457 38.2256 0.831025 28.3457 41.5301 0.831025 30.4443 40.0866 0.2 0.8 0.1
+t 0.831025 30.4443 40.0866 -15.3547 30.4443 36.894 -15.9044 28.3457 38.2256 0.2 0.8 0.1
+t -15.3547 30.4443 36.894 0.831025 30.4443 40.0866 0.831025 31.1438 38.7764 0.2 0.8 0.1
+t 0.831025 31.1438 38.7764 -14.9585 31.1438 35.6853 -15.3547 30.4443 36.894 0.2 0.8 0.1
+t -14.9585 31.1438 35.6853 0.831025 31.1438 38.7764 0.831025 30.4443 38.1324 0.2 0.8 0.1
+t 0.831025 30.4443 38.1324 -15.0262 30.4443 35.0912 -14.9585 31.1438 35.6853 0.2 0.8 0.1
+t -15.0262 30.4443 35.0912 0.831025 30.4443 38.1324 0.831025 28.3457 38.6876 0.2 0.8 0.1
+t 0.831025 28.3457 38.6876 -15.868 28.3457 35.6034 -15.0262 30.4443 35.0912 0.2 0.8 0.1
+t 0.831025 28.3457 41.5301 17.5665 28.3457 38.2256 16.9999 30.4443 36.894 0.2 0.8 0.1
+t 16.9999 30.4443 36.894 0.831025 30.4443 40.0866 0.831025 28.3457 41.5301 0.2 0.8 0.1
+t 0.831025 30.4443 40.0866 16.9999 30.4443 36.894 16.4857 31.1438 35.6853 0.2 0.8 0.1
+t 16.4857 31.1438 35.6853 0.831025 31.1438 38.7764 0.831025 30.4443 40.0866 0.2 0.8 0.1
+t 0.831025 31.1438 38.7764 16.4857 31.1438 35.6853 16.2329 30.4443 35.0912 0.2 0.8 0.1
+t 16.2329 30.4443 35.0912 0.831025 30.4443 38.1324 0.831025 31.1438 38.7764 0.2 0.8 0.1
+t 0.831025 30.4443 38.1324 16.2329 30.4443 35.0912 16.4508 28.3457 35.6034 0.2 0.8 0.1
+t 16.4508 28.3457 35.6034 0.831025 28.3457 38.6876 0.831025 30.4443 38.1324 0.2 0.8 0.1
+t 17.5665 28.3457 38.2256 31.1041 28.3457 29.165 30.0792 30.4443 28.1402 0.2 0.8 0.1
+t 30.0792 30.4443 28.1402 16.9999 30.4443 36.894 17.5665 28.3457 38.2256 0.2 0.8 0.1
+t 16.9999 30.4443 36.894 30.0792 30.4443 28.1402 29.149 31.1438 27.2099 0.2 0.8 0.1
+t 29.149 31.1438 27.2099 16.4857 31.1438 35.6853 16.9999 30.4443 36.894 0.2 0.8 0.1
+t 16.4857 31.1438 35.6853 29.149 31.1438 27.2099 28.6917 30.4443 26.7527 0.2 0.8 0.1
+t 28.6917 30.4443 26.7527 16.2329 30.4443 35.0912 16.4857 31.1438 35.6853 0.2 0.8 0.1
+t 16.2329 30.4443 35.0912 28.6917 30.4443 26.7527 29.0859 28.3457 27.1468 0.2 0.8 0.1
+t 29.0859 28.3457 27.1468 16.4508 28.3457 35.6034 16.2329 30.4443 35.0912 0.2 0.8 0.1
+t 31.1041 28.3457 29.165 40.1647 28.3457 15.6274 38.8331 30.4443 15.0609 0.2 0.8 0.1
+t 38.8331 30.4443 15.0609 30.0792 30.4443 28.1402 31.1041 28.3457 29.165 0.2 0.8 0.1
+t 30.0792 30.4443 28.1402 38.8331 30.4443 15.0609 37.6244 31.1438 14.5466 0.2 0.8 0.1
+t 37.6244 31.1438 14.5466 29.149 31.1438 27.2099 30.0792 30.4443 28.1402 0.2 0.8 0.1
+t 29.149 31.1438 27.2099 37.6244 31.1438 14.5466 37.0303 30.4443 14.2938 0.2 0.8 0.1
+t 37.0303 30.4443 14.2938 28.6917 30.4443 26.7527 29.149 31.1438 27.2099 0.2 0.8 0.1
+t 28.6917 30.4443 26.7527 37.0303 30.4443 14.2938 37.5425 28.3457 14.5117 0.2 0.8 0.1
+t 37.5425 28.3457 14.5117 29.0859 28.3457 27.1468 28.6917 30.4443 26.7527 0.2 0.8 0.1
+t 40.1647 28.3457 15.6274 43.4692 28.3457 -1.10804 42.0257 30.4443 -1.10804 0.2 0.8 0.1
+t 42.0257 30.4443 -1.10804 38.8331 30.4443 15.0609 40.1647 28.3457 15.6274 0.2 0.8 0.1
+t 38.8331 30.4443 15.0609 42.0257 30.4443 -1.10804 40.7155 31.1438 -1.10804 0.2 0.8 0.1
+t 40.7155 31.1438 -1.10804 37.6244 31.1438 14.5466 38.8331 30.4443 15.0609 0.2 0.8 0.1
+t 37.6244 31.1438 14.5466 40.7155 31.1438 -1.10804 40.0714 30.4443 -1.10804 0.2 0.8 0.1
+t 40.0714 30.4443 -1.10804 37.0303 30.4443 14.2938 37.6244 31.1438 14.5466 0.2 0.8 0.1
+t 37.0303 30.4443 14.2938 40.0714 30.4443 -1.10804 40.6266 28.3457 -1.10804 0.2 0.8 0.1
+t 40.6266 28.3457 -1.10804 37.5425 28.3457 14.5117 37.0303 30.4443 14.2938 0.2 0.8 0.1
diff --git a/tex.urt b/tex.urt
new file mode 100644 (file)
index 0000000..ddc8a31
--- /dev/null
+++ b/tex.urt
@@ -0,0 +1,9 @@
+U5
+800 600
+0.0 1.0 2.0
+0.0 0.0 0.0
+0.0 1.0 0.0
+1.57 1.333
+0.4 0.4 0.4
+l 0.0 10.0 1.0 0.8 0.7 0.8
+s 0.0 0.0 0.0 1.0 1.0 0.0 0.0
diff --git a/triangle.hh b/triangle.hh
new file mode 100644 (file)
index 0000000..8113f9a
--- /dev/null
@@ -0,0 +1,90 @@
+
+/*
+ * CS5600 University of Utah
+ * Charles McGarvey
+ * mcgarvey@eng.utah.edu
+ */
+
+#ifndef _TRIANGLE_HH_
+#define _TRIANGLE_HH_
+
+#include "color.hh"
+#include "element.hh"
+
+
+namespace rt {
+
+
+/*
+ * A class for a triangle object.
+ */
+class triangle : public element
+{
+public:
+
+    color_t material;
+    vec_t   a;
+    vec_t   b;
+    vec_t   c;
+
+    triangle(vec_t a, vec_t b, vec_t c, color_t color = COLOR_WHITE) :
+        a(a), b(b), c(c), material(color)
+    {}
+
+    virtual ~triangle()
+    {}
+
+    virtual bool intersect(ray_t ray, contact_t& hit) const
+    {
+        plane p = plane(a, b, c);
+        if (!p.intersect(ray, hit)) {
+            return false;
+        }
+
+        scal_t bc[3];
+        if (barycentric(bc, hit.p)) {
+            return true;
+        }
+
+        return false;
+    }
+
+    virtual color_t color(vec_t point) const
+    {
+        return material;
+    }
+
+    /*
+     * Calculate barycentric coordinates for the triangle.
+     */
+    bool barycentric(scal_t* bc, vec_t v) const
+    {
+        scal_t denom = (b.y - c.y) * (a.x - c.x) + (c.x - b.x) * (a.y - c.y);
+        bc[0] = ((b.y - c.y) * (v.x - c.x) + (c.x - b.x) * (v.y - c.y)) / denom;
+        bc[1] = ((c.y - a.y) * (v.x - c.x) + (a.x - c.x) * (v.y - c.y)) / denom;
+        bc[2] = S(1.0) - bc[0] - bc[1];
+        if (S(0.0) <= bc[0] && bc[0] <= S(1.0) &&
+            S(0.0) <= bc[1] && bc[1] <= S(1.0) &&
+            S(0.0) <= bc[2] && bc[2] <= S(1.0)) {
+            return true;
+        }
+        return false;
+    }
+};
+
+
+/*
+ * Destroy a new'd triangle, releasing its memory.
+ */
+INLINE_MAYBE
+void triangle_destroy(plane* t)
+{
+    delete t;
+}
+
+
+} // namespace rt
+
+#endif // _PLANE_HH_
+
+
diff --git a/triangle.urt b/triangle.urt
new file mode 100644 (file)
index 0000000..2d63f66
--- /dev/null
@@ -0,0 +1,14 @@
+U5
+800 600
+0.0 -0.5 4.0
+0.0 0.0 0.0
+0.0 1.0 0.0
+1.57 1.333
+0.4 0.4 0.4
+l 0.0 10.0 1.0 0.8 0.7 0.8
+p 0.0 -5.0 0.0 0.0 1.0 0.0 0.4 0.8 0.4
+s 0.0 0.0 0.0 1.25 1.0 0.0 0.0
+s -1.0 -1.0 0.0 1.0 0.0 1.0 0.0
+s 1.0 -1.0 0.0 1.0 0.0 0.0 1.0
+t -1.5 0.0 1.5 -1.0 1.0 0.0 -0.5 0.0 1.5 0.8 0.9 0.2
+t 1.5 0.0 1.5 1.0 1.0 0.0 0.5 0.0 1.5 0.2 0.9 0.8
This page took 0.06481 seconds and 4 git commands to generate.