From 69dc76a59e90da054a5fe334aac52671877ec4e4 Mon Sep 17 00:00:00 2001 From: hasufell Date: Fri, 16 May 2014 15:08:51 +0200 Subject: [PATCH 1/5] Finalize consistency tests --- src/test/cunit_half_edge.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/test/cunit_half_edge.c b/src/test/cunit_half_edge.c index 6cc1572..ad224fb 100644 --- a/src/test/cunit_half_edge.c +++ b/src/test/cunit_half_edge.c @@ -469,14 +469,19 @@ void test_parse_obj5(void) while(next_edge != start_edge) { CU_ASSERT_PTR_NOT_NULL(next_edge); CU_ASSERT_PTR_NOT_NULL(next_edge->pair->pair); - /* check if edges have all the same face */ - CU_ASSERT_EQUAL(next_edge->face, &(obj->faces[i])); + /* check if pairs are consistently set */ CU_ASSERT_EQUAL(next_edge->pair->pair, next_edge); CU_ASSERT_NOT_EQUAL(next_edge->pair, next_edge); + /* check if vertices are consistent with edges */ CU_ASSERT_PTR_NOT_NULL(next_edge->vert->edge); CU_ASSERT_EQUAL(next_edge->vert->edge->vert, next_edge->vert); + CU_ASSERT_EQUAL(next_edge->vert, next_edge->pair->next->vert); + + /* check if edges have all the same face */ + CU_ASSERT_EQUAL(next_edge->face, &(obj->faces[i])); + next_edge = next_edge->next; } } @@ -516,12 +521,13 @@ void test_parse_obj6(void) /* check if pairs are consistently set */ CU_ASSERT_EQUAL(edge->pair->pair, edge); CU_ASSERT_NOT_EQUAL(edge->pair, edge); + /* check if neighbor vertex is consistently connected * to half-edge */ CU_ASSERT_NOT_EQUAL(edge->pair->vert, edge->vert); CU_ASSERT_PTR_NOT_NULL(edge->pair->vert->edge); - CU_ASSERT_EQUAL(edge->pair->next->vert, edge->vert); CU_ASSERT_EQUAL(edge->vert->edge->vert, edge->vert); + CU_ASSERT_EQUAL(edge->pair->next->vert, edge->vert); edge = edge->pair->next; From 852cb7cca5e24a5f45dda0b571a4d4423bd4737d Mon Sep 17 00:00:00 2001 From: hasufell Date: Fri, 16 May 2014 15:09:14 +0200 Subject: [PATCH 2/5] Add more .obj files for testing normals --- obj/plane_center_missing.obj | 42 + obj/plane_chessboard_missing.obj | 114 ++ obj/plane_cross_face_missing.obj | 134 ++ obj/quad_edges_missing.obj | 444 +++++++ obj/teapot.obj | 2090 ++++++++++++++++++++++++++++++ obj/two_boxes.obj | 57 + obj/two_boxes_bad_form.obj | 57 + obj/two_boxes_bad_form_2.obj | 57 + 8 files changed, 2995 insertions(+) create mode 100644 obj/plane_center_missing.obj create mode 100644 obj/plane_chessboard_missing.obj create mode 100644 obj/plane_cross_face_missing.obj create mode 100644 obj/quad_edges_missing.obj create mode 100644 obj/teapot.obj create mode 100644 obj/two_boxes.obj create mode 100644 obj/two_boxes_bad_form.obj create mode 100644 obj/two_boxes_bad_form_2.obj diff --git a/obj/plane_center_missing.obj b/obj/plane_center_missing.obj new file mode 100644 index 0000000..467dd09 --- /dev/null +++ b/obj/plane_center_missing.obj @@ -0,0 +1,42 @@ +# This file uses centimeters as units for non-parametric coordinates. + +v -0.500000 -0.000000 0.500000 +v -0.166667 -0.000000 0.500000 +v 0.166667 -0.000000 0.500000 +v 0.500000 -0.000000 0.500000 +v -0.500000 -0.000000 0.166667 +v -0.166667 -0.000000 0.166667 +v 0.166667 -0.000000 0.166667 +v 0.500000 -0.000000 0.166667 +v -0.500000 0.000000 -0.166667 +v -0.166667 0.000000 -0.166667 +v 0.166667 0.000000 -0.166667 +v 0.500000 0.000000 -0.166667 +v -0.500000 0.000000 -0.500000 +v -0.166667 0.000000 -0.500000 +v 0.166667 0.000000 -0.500000 +v 0.500000 0.000000 -0.500000 +vt 0.000000 0.000000 +vt 0.333333 0.000000 +vt 0.666667 0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.333333 +vt 0.333333 0.333333 +vt 0.666667 0.333333 +vt 1.000000 0.333333 +vt 0.000000 0.666667 +vt 0.333333 0.666667 +vt 0.666667 0.666667 +vt 1.000000 0.666667 +vt 0.000000 1.000000 +vt 0.333333 1.000000 +vt 0.666667 1.000000 +vt 1.000000 1.000000 +f 1/1 2/2 6/6 5/5 +f 2/2 3/3 7/7 6/6 +f 3/3 4/4 8/8 7/7 +f 5/5 6/6 10/10 9/9 +f 7/7 8/8 12/12 11/11 +f 9/9 10/10 14/14 13/13 +f 10/10 11/11 15/15 14/14 +f 11/11 12/12 16/16 15/15 diff --git a/obj/plane_chessboard_missing.obj b/obj/plane_chessboard_missing.obj new file mode 100644 index 0000000..c7c28f8 --- /dev/null +++ b/obj/plane_chessboard_missing.obj @@ -0,0 +1,114 @@ +# This file uses centimeters as units for non-parametric coordinates. + +v -0.333333 -0.000000 0.500000 +v -0.166667 -0.000000 0.500000 +v 0.000000 -0.000000 0.500000 +v 0.166667 -0.000000 0.500000 +v 0.333333 -0.000000 0.500000 +v 0.500000 -0.000000 0.500000 +v -0.500000 -0.000000 0.333333 +v -0.333333 -0.000000 0.333333 +v -0.166667 -0.000000 0.333333 +v 0.000000 -0.000000 0.333333 +v 0.166667 -0.000000 0.333333 +v 0.333333 -0.000000 0.333333 +v 0.500000 -0.000000 0.333333 +v -0.500000 -0.000000 0.166667 +v -0.333333 -0.000000 0.166667 +v -0.166667 -0.000000 0.166667 +v 0.000000 -0.000000 0.166667 +v 0.166667 -0.000000 0.166667 +v 0.333333 -0.000000 0.166667 +v 0.500000 -0.000000 0.166667 +v -0.500000 0.000000 0.000000 +v -0.333333 0.000000 0.000000 +v -0.166667 0.000000 0.000000 +v 0.000000 0.000000 0.000000 +v 0.166667 0.000000 0.000000 +v 0.333333 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +v -0.500000 0.000000 -0.166667 +v -0.333333 0.000000 -0.166667 +v -0.166667 0.000000 -0.166667 +v 0.000000 0.000000 -0.166667 +v 0.166667 0.000000 -0.166667 +v 0.333333 0.000000 -0.166667 +v 0.500000 0.000000 -0.166667 +v -0.500000 0.000000 -0.333333 +v -0.333333 0.000000 -0.333333 +v -0.166667 0.000000 -0.333333 +v 0.000000 0.000000 -0.333333 +v 0.166667 0.000000 -0.333333 +v 0.333333 0.000000 -0.333333 +v 0.500000 0.000000 -0.333333 +v -0.500000 0.000000 -0.500000 +v -0.333333 0.000000 -0.500000 +v -0.166667 0.000000 -0.500000 +v 0.000000 0.000000 -0.500000 +v 0.166667 0.000000 -0.500000 +v 0.333333 0.000000 -0.500000 +vt 0.166667 0.000000 +vt 0.333333 0.000000 +vt 0.500000 0.000000 +vt 0.666667 0.000000 +vt 0.833333 0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.166667 +vt 0.166667 0.166667 +vt 0.333333 0.166667 +vt 0.500000 0.166667 +vt 0.666667 0.166667 +vt 0.833333 0.166667 +vt 1.000000 0.166667 +vt 0.000000 0.333333 +vt 0.166667 0.333333 +vt 0.333333 0.333333 +vt 0.500000 0.333333 +vt 0.666667 0.333333 +vt 0.833333 0.333333 +vt 1.000000 0.333333 +vt 0.000000 0.500000 +vt 0.166667 0.500000 +vt 0.333333 0.500000 +vt 0.500000 0.500000 +vt 0.666667 0.500000 +vt 0.833333 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.666667 +vt 0.166667 0.666667 +vt 0.333333 0.666667 +vt 0.500000 0.666667 +vt 0.666667 0.666667 +vt 0.833333 0.666667 +vt 1.000000 0.666667 +vt 0.000000 0.833333 +vt 0.166667 0.833333 +vt 0.333333 0.833333 +vt 0.500000 0.833333 +vt 0.666667 0.833333 +vt 0.833333 0.833333 +vt 1.000000 0.833333 +vt 0.000000 1.000000 +vt 0.166667 1.000000 +vt 0.333333 1.000000 +vt 0.500000 1.000000 +vt 0.666667 1.000000 +vt 0.833333 1.000000 +f 1/1 2/2 9/9 8/8 +f 3/3 4/4 11/11 10/10 +f 5/5 6/6 13/13 12/12 +f 7/7 8/8 15/15 14/14 +f 9/9 10/10 17/17 16/16 +f 11/11 12/12 19/19 18/18 +f 15/15 16/16 23/23 22/22 +f 17/17 18/18 25/25 24/24 +f 19/19 20/20 27/27 26/26 +f 21/21 22/22 29/29 28/28 +f 23/23 24/24 31/31 30/30 +f 25/25 26/26 33/33 32/32 +f 29/29 30/30 37/37 36/36 +f 31/31 32/32 39/39 38/38 +f 33/33 34/34 41/41 40/40 +f 35/35 36/36 43/43 42/42 +f 37/37 38/38 45/45 44/44 +f 39/39 40/40 47/47 46/46 diff --git a/obj/plane_cross_face_missing.obj b/obj/plane_cross_face_missing.obj new file mode 100644 index 0000000..e9d68f9 --- /dev/null +++ b/obj/plane_cross_face_missing.obj @@ -0,0 +1,134 @@ +# This file uses centimeters as units for non-parametric coordinates. + +v -0.500000 -0.000000 0.500000 +v -0.333333 -0.000000 0.500000 +v -0.166667 -0.000000 0.500000 +v 0.000000 -0.000000 0.500000 +v 0.166667 -0.000000 0.500000 +v 0.333333 -0.000000 0.500000 +v 0.500000 -0.000000 0.500000 +v -0.500000 -0.000000 0.333333 +v -0.333333 -0.000000 0.333333 +v -0.166667 -0.000000 0.333333 +v 0.000000 -0.000000 0.333333 +v 0.166667 -0.000000 0.333333 +v 0.333333 -0.000000 0.333333 +v 0.500000 -0.000000 0.333333 +v -0.500000 -0.000000 0.166667 +v -0.333333 -0.000000 0.166667 +v -0.166667 -0.000000 0.166667 +v 0.000000 -0.000000 0.166667 +v 0.166667 -0.000000 0.166667 +v 0.333333 -0.000000 0.166667 +v 0.500000 -0.000000 0.166667 +v -0.500000 0.000000 0.000000 +v -0.333333 0.000000 0.000000 +v -0.166667 0.000000 0.000000 +v 0.000000 0.000000 0.000000 +v 0.166667 0.000000 0.000000 +v 0.333333 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +v -0.500000 0.000000 -0.166667 +v -0.333333 0.000000 -0.166667 +v -0.166667 0.000000 -0.166667 +v 0.000000 0.000000 -0.166667 +v 0.166667 0.000000 -0.166667 +v 0.333333 0.000000 -0.166667 +v 0.500000 0.000000 -0.166667 +v -0.500000 0.000000 -0.333333 +v -0.333333 0.000000 -0.333333 +v -0.166667 0.000000 -0.333333 +v 0.000000 0.000000 -0.333333 +v 0.166667 0.000000 -0.333333 +v 0.333333 0.000000 -0.333333 +v 0.500000 0.000000 -0.333333 +v -0.500000 0.000000 -0.500000 +v -0.333333 0.000000 -0.500000 +v -0.166667 0.000000 -0.500000 +v 0.000000 0.000000 -0.500000 +v 0.166667 0.000000 -0.500000 +v 0.333333 0.000000 -0.500000 +v 0.500000 0.000000 -0.500000 +vt 0.000000 0.000000 +vt 0.166667 0.000000 +vt 0.333333 0.000000 +vt 0.500000 0.000000 +vt 0.666667 0.000000 +vt 0.833333 0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.166667 +vt 0.166667 0.166667 +vt 0.333333 0.166667 +vt 0.500000 0.166667 +vt 0.666667 0.166667 +vt 0.833333 0.166667 +vt 1.000000 0.166667 +vt 0.000000 0.333333 +vt 0.166667 0.333333 +vt 0.333333 0.333333 +vt 0.500000 0.333333 +vt 0.666667 0.333333 +vt 0.833333 0.333333 +vt 1.000000 0.333333 +vt 0.000000 0.500000 +vt 0.166667 0.500000 +vt 0.333333 0.500000 +vt 0.500000 0.500000 +vt 0.666667 0.500000 +vt 0.833333 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.666667 +vt 0.166667 0.666667 +vt 0.333333 0.666667 +vt 0.500000 0.666667 +vt 0.666667 0.666667 +vt 0.833333 0.666667 +vt 1.000000 0.666667 +vt 0.000000 0.833333 +vt 0.166667 0.833333 +vt 0.333333 0.833333 +vt 0.500000 0.833333 +vt 0.666667 0.833333 +vt 0.833333 0.833333 +vt 1.000000 0.833333 +vt 0.000000 1.000000 +vt 0.166667 1.000000 +vt 0.333333 1.000000 +vt 0.500000 1.000000 +vt 0.666667 1.000000 +vt 0.833333 1.000000 +vt 1.000000 1.000000 +f 1/1 2/2 9/9 8/8 +f 2/2 3/3 10/10 9/9 +f 3/3 4/4 11/11 10/10 +f 4/4 5/5 12/12 11/11 +f 5/5 6/6 13/13 12/12 +f 6/6 7/7 14/14 13/13 +f 8/8 9/9 16/16 15/15 +f 9/9 10/10 17/17 16/16 +f 10/10 11/11 18/18 17/17 +f 11/11 12/12 19/19 18/18 +f 12/12 13/13 20/20 19/19 +f 13/13 14/14 21/21 20/20 +f 15/15 16/16 23/23 22/22 +f 16/16 17/17 24/24 23/23 +f 17/17 18/18 25/25 24/24 +f 19/19 20/20 27/27 26/26 +f 20/20 21/21 28/28 27/27 +f 22/22 23/23 30/30 29/29 +f 23/23 24/24 31/31 30/30 +f 25/25 26/26 33/33 32/32 +f 26/26 27/27 34/34 33/33 +f 27/27 28/28 35/35 34/34 +f 29/29 30/30 37/37 36/36 +f 30/30 31/31 38/38 37/37 +f 31/31 32/32 39/39 38/38 +f 32/32 33/33 40/40 39/39 +f 33/33 34/34 41/41 40/40 +f 34/34 35/35 42/42 41/41 +f 36/36 37/37 44/44 43/43 +f 37/37 38/38 45/45 44/44 +f 38/38 39/39 46/46 45/45 +f 39/39 40/40 47/47 46/46 +f 40/40 41/41 48/48 47/47 +f 41/41 42/42 49/49 48/48 diff --git a/obj/quad_edges_missing.obj b/obj/quad_edges_missing.obj new file mode 100644 index 0000000..dc45204 --- /dev/null +++ b/obj/quad_edges_missing.obj @@ -0,0 +1,444 @@ +# This file uses centimeters as units for non-parametric coordinates. + +v -0.300000 -0.500000 0.500000 +v -0.100000 -0.500000 0.500000 +v 0.100000 -0.500000 0.500000 +v 0.300000 -0.500000 0.500000 +v -0.500000 -0.300000 0.500000 +v -0.300000 -0.300000 0.500000 +v -0.100000 -0.300000 0.500000 +v 0.100000 -0.300000 0.500000 +v 0.300000 -0.300000 0.500000 +v 0.500000 -0.300000 0.500000 +v -0.500000 -0.100000 0.500000 +v -0.300000 -0.100000 0.500000 +v -0.100000 -0.100000 0.500000 +v 0.100000 -0.100000 0.500000 +v 0.300000 -0.100000 0.500000 +v 0.500000 -0.100000 0.500000 +v -0.500000 0.100000 0.500000 +v -0.300000 0.100000 0.500000 +v -0.100000 0.100000 0.500000 +v 0.100000 0.100000 0.500000 +v 0.300000 0.100000 0.500000 +v 0.500000 0.100000 0.500000 +v -0.500000 0.300000 0.500000 +v -0.300000 0.300000 0.500000 +v -0.100000 0.300000 0.500000 +v 0.100000 0.300000 0.500000 +v 0.300000 0.300000 0.500000 +v 0.500000 0.300000 0.500000 +v -0.300000 0.500000 0.500000 +v -0.100000 0.500000 0.500000 +v 0.100000 0.500000 0.500000 +v 0.300000 0.500000 0.500000 +v -0.500000 0.500000 0.300000 +v -0.300000 0.500000 0.300000 +v -0.100000 0.500000 0.300000 +v 0.100000 0.500000 0.300000 +v 0.300000 0.500000 0.300000 +v 0.500000 0.500000 0.300000 +v -0.500000 0.500000 0.100000 +v -0.300000 0.500000 0.100000 +v -0.100000 0.500000 0.100000 +v 0.100000 0.500000 0.100000 +v 0.300000 0.500000 0.100000 +v 0.500000 0.500000 0.100000 +v -0.500000 0.500000 -0.100000 +v -0.300000 0.500000 -0.100000 +v -0.100000 0.500000 -0.100000 +v 0.100000 0.500000 -0.100000 +v 0.300000 0.500000 -0.100000 +v 0.500000 0.500000 -0.100000 +v -0.500000 0.500000 -0.300000 +v -0.300000 0.500000 -0.300000 +v -0.100000 0.500000 -0.300000 +v 0.100000 0.500000 -0.300000 +v 0.300000 0.500000 -0.300000 +v 0.500000 0.500000 -0.300000 +v -0.300000 0.500000 -0.500000 +v -0.100000 0.500000 -0.500000 +v 0.100000 0.500000 -0.500000 +v 0.300000 0.500000 -0.500000 +v -0.500000 0.300000 -0.500000 +v -0.300000 0.300000 -0.500000 +v -0.100000 0.300000 -0.500000 +v 0.100000 0.300000 -0.500000 +v 0.300000 0.300000 -0.500000 +v 0.500000 0.300000 -0.500000 +v -0.500000 0.100000 -0.500000 +v -0.300000 0.100000 -0.500000 +v -0.100000 0.100000 -0.500000 +v 0.100000 0.100000 -0.500000 +v 0.300000 0.100000 -0.500000 +v 0.500000 0.100000 -0.500000 +v -0.500000 -0.100000 -0.500000 +v -0.300000 -0.100000 -0.500000 +v -0.100000 -0.100000 -0.500000 +v 0.100000 -0.100000 -0.500000 +v 0.300000 -0.100000 -0.500000 +v 0.500000 -0.100000 -0.500000 +v -0.500000 -0.300000 -0.500000 +v -0.300000 -0.300000 -0.500000 +v -0.100000 -0.300000 -0.500000 +v 0.100000 -0.300000 -0.500000 +v 0.300000 -0.300000 -0.500000 +v 0.500000 -0.300000 -0.500000 +v -0.300000 -0.500000 -0.500000 +v -0.100000 -0.500000 -0.500000 +v 0.100000 -0.500000 -0.500000 +v 0.300000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.300000 +v -0.300000 -0.500000 -0.300000 +v -0.100000 -0.500000 -0.300000 +v 0.100000 -0.500000 -0.300000 +v 0.300000 -0.500000 -0.300000 +v 0.500000 -0.500000 -0.300000 +v -0.500000 -0.500000 -0.100000 +v -0.300000 -0.500000 -0.100000 +v -0.100000 -0.500000 -0.100000 +v 0.100000 -0.500000 -0.100000 +v 0.300000 -0.500000 -0.100000 +v 0.500000 -0.500000 -0.100000 +v -0.500000 -0.500000 0.100000 +v -0.300000 -0.500000 0.100000 +v -0.100000 -0.500000 0.100000 +v 0.100000 -0.500000 0.100000 +v 0.300000 -0.500000 0.100000 +v 0.500000 -0.500000 0.100000 +v -0.500000 -0.500000 0.300000 +v -0.300000 -0.500000 0.300000 +v -0.100000 -0.500000 0.300000 +v 0.100000 -0.500000 0.300000 +v 0.300000 -0.500000 0.300000 +v 0.500000 -0.500000 0.300000 +v 0.500000 -0.300000 -0.300000 +v 0.500000 -0.300000 -0.100000 +v 0.500000 -0.300000 0.100000 +v 0.500000 -0.300000 0.300000 +v 0.500000 -0.100000 -0.300000 +v 0.500000 -0.100000 -0.100000 +v 0.500000 -0.100000 0.100000 +v 0.500000 -0.100000 0.300000 +v 0.500000 0.100000 -0.300000 +v 0.500000 0.100000 -0.100000 +v 0.500000 0.100000 0.100000 +v 0.500000 0.100000 0.300000 +v 0.500000 0.300000 -0.300000 +v 0.500000 0.300000 -0.100000 +v 0.500000 0.300000 0.100000 +v 0.500000 0.300000 0.300000 +v -0.500000 -0.300000 -0.300000 +v -0.500000 -0.300000 -0.100000 +v -0.500000 -0.300000 0.100000 +v -0.500000 -0.300000 0.300000 +v -0.500000 -0.100000 -0.300000 +v -0.500000 -0.100000 -0.100000 +v -0.500000 -0.100000 0.100000 +v -0.500000 -0.100000 0.300000 +v -0.500000 0.100000 -0.300000 +v -0.500000 0.100000 -0.100000 +v -0.500000 0.100000 0.100000 +v -0.500000 0.100000 0.300000 +v -0.500000 0.300000 -0.300000 +v -0.500000 0.300000 -0.100000 +v -0.500000 0.300000 0.100000 +v -0.500000 0.300000 0.300000 +vt 0.425000 0.000000 +vt 0.475000 0.000000 +vt 0.525000 0.000000 +vt 0.575000 0.000000 +vt 0.375000 0.050000 +vt 0.425000 0.050000 +vt 0.475000 0.050000 +vt 0.525000 0.050000 +vt 0.575000 0.050000 +vt 0.625000 0.050000 +vt 0.375000 0.100000 +vt 0.425000 0.100000 +vt 0.475000 0.100000 +vt 0.525000 0.100000 +vt 0.575000 0.100000 +vt 0.625000 0.100000 +vt 0.375000 0.150000 +vt 0.425000 0.150000 +vt 0.475000 0.150000 +vt 0.525000 0.150000 +vt 0.575000 0.150000 +vt 0.625000 0.150000 +vt 0.375000 0.200000 +vt 0.425000 0.200000 +vt 0.475000 0.200000 +vt 0.525000 0.200000 +vt 0.575000 0.200000 +vt 0.625000 0.200000 +vt 0.425000 0.250000 +vt 0.475000 0.250000 +vt 0.525000 0.250000 +vt 0.575000 0.250000 +vt 0.375000 0.300000 +vt 0.425000 0.300000 +vt 0.475000 0.300000 +vt 0.525000 0.300000 +vt 0.575000 0.300000 +vt 0.625000 0.300000 +vt 0.375000 0.350000 +vt 0.425000 0.350000 +vt 0.475000 0.350000 +vt 0.525000 0.350000 +vt 0.575000 0.350000 +vt 0.625000 0.350000 +vt 0.375000 0.400000 +vt 0.425000 0.400000 +vt 0.475000 0.400000 +vt 0.525000 0.400000 +vt 0.575000 0.400000 +vt 0.625000 0.400000 +vt 0.375000 0.450000 +vt 0.425000 0.450000 +vt 0.475000 0.450000 +vt 0.525000 0.450000 +vt 0.575000 0.450000 +vt 0.625000 0.450000 +vt 0.425000 0.500000 +vt 0.475000 0.500000 +vt 0.525000 0.500000 +vt 0.575000 0.500000 +vt 0.375000 0.550000 +vt 0.425000 0.550000 +vt 0.475000 0.550000 +vt 0.525000 0.550000 +vt 0.575000 0.550000 +vt 0.625000 0.550000 +vt 0.375000 0.600000 +vt 0.425000 0.600000 +vt 0.475000 0.600000 +vt 0.525000 0.600000 +vt 0.575000 0.600000 +vt 0.625000 0.600000 +vt 0.375000 0.650000 +vt 0.425000 0.650000 +vt 0.475000 0.650000 +vt 0.525000 0.650000 +vt 0.575000 0.650000 +vt 0.625000 0.650000 +vt 0.375000 0.700000 +vt 0.425000 0.700000 +vt 0.475000 0.700000 +vt 0.525000 0.700000 +vt 0.575000 0.700000 +vt 0.625000 0.700000 +vt 0.425000 0.750000 +vt 0.475000 0.750000 +vt 0.525000 0.750000 +vt 0.575000 0.750000 +vt 0.375000 0.800000 +vt 0.425000 0.800000 +vt 0.475000 0.800000 +vt 0.525000 0.800000 +vt 0.575000 0.800000 +vt 0.625000 0.800000 +vt 0.375000 0.850000 +vt 0.425000 0.850000 +vt 0.475000 0.850000 +vt 0.525000 0.850000 +vt 0.575000 0.850000 +vt 0.625000 0.850000 +vt 0.375000 0.900000 +vt 0.425000 0.900000 +vt 0.475000 0.900000 +vt 0.525000 0.900000 +vt 0.575000 0.900000 +vt 0.625000 0.900000 +vt 0.375000 0.950000 +vt 0.425000 0.950000 +vt 0.475000 0.950000 +vt 0.525000 0.950000 +vt 0.575000 0.950000 +vt 0.625000 0.950000 +vt 0.425000 1.000000 +vt 0.475000 1.000000 +vt 0.525000 1.000000 +vt 0.575000 1.000000 +vt 0.825000 0.000000 +vt 0.775000 0.000000 +vt 0.725000 0.000000 +vt 0.675000 0.000000 +vt 0.875000 0.050000 +vt 0.825000 0.050000 +vt 0.775000 0.050000 +vt 0.725000 0.050000 +vt 0.675000 0.050000 +vt 0.875000 0.100000 +vt 0.825000 0.100000 +vt 0.775000 0.100000 +vt 0.725000 0.100000 +vt 0.675000 0.100000 +vt 0.875000 0.150000 +vt 0.825000 0.150000 +vt 0.775000 0.150000 +vt 0.725000 0.150000 +vt 0.675000 0.150000 +vt 0.875000 0.200000 +vt 0.825000 0.200000 +vt 0.775000 0.200000 +vt 0.725000 0.200000 +vt 0.675000 0.200000 +vt 0.825000 0.250000 +vt 0.775000 0.250000 +vt 0.725000 0.250000 +vt 0.675000 0.250000 +vt 0.175000 0.000000 +vt 0.225000 0.000000 +vt 0.275000 0.000000 +vt 0.325000 0.000000 +vt 0.125000 0.050000 +vt 0.175000 0.050000 +vt 0.225000 0.050000 +vt 0.275000 0.050000 +vt 0.325000 0.050000 +vt 0.125000 0.100000 +vt 0.175000 0.100000 +vt 0.225000 0.100000 +vt 0.275000 0.100000 +vt 0.325000 0.100000 +vt 0.125000 0.150000 +vt 0.175000 0.150000 +vt 0.225000 0.150000 +vt 0.275000 0.150000 +vt 0.325000 0.150000 +vt 0.125000 0.200000 +vt 0.175000 0.200000 +vt 0.225000 0.200000 +vt 0.275000 0.200000 +vt 0.325000 0.200000 +vt 0.175000 0.250000 +vt 0.225000 0.250000 +vt 0.275000 0.250000 +vt 0.325000 0.250000 +f 1/1 2/2 7/7 6/6 +f 2/2 3/3 8/8 7/7 +f 3/3 4/4 9/9 8/8 +f 5/5 6/6 12/12 11/11 +f 6/6 7/7 13/13 12/12 +f 7/7 8/8 14/14 13/13 +f 8/8 9/9 15/15 14/14 +f 9/9 10/10 16/16 15/15 +f 11/11 12/12 18/18 17/17 +f 12/12 13/13 19/19 18/18 +f 13/13 14/14 20/20 19/19 +f 14/14 15/15 21/21 20/20 +f 15/15 16/16 22/22 21/21 +f 17/17 18/18 24/24 23/23 +f 18/18 19/19 25/25 24/24 +f 19/19 20/20 26/26 25/25 +f 20/20 21/21 27/27 26/26 +f 21/21 22/22 28/28 27/27 +f 24/24 25/25 30/30 29/29 +f 25/25 26/26 31/31 30/30 +f 26/26 27/27 32/32 31/31 +f 29/29 30/30 35/35 34/34 +f 30/30 31/31 36/36 35/35 +f 31/31 32/32 37/37 36/36 +f 33/33 34/34 40/40 39/39 +f 34/34 35/35 41/41 40/40 +f 35/35 36/36 42/42 41/41 +f 36/36 37/37 43/43 42/42 +f 37/37 38/38 44/44 43/43 +f 39/39 40/40 46/46 45/45 +f 40/40 41/41 47/47 46/46 +f 41/41 42/42 48/48 47/47 +f 42/42 43/43 49/49 48/48 +f 43/43 44/44 50/50 49/49 +f 45/45 46/46 52/52 51/51 +f 46/46 47/47 53/53 52/52 +f 47/47 48/48 54/54 53/53 +f 48/48 49/49 55/55 54/54 +f 49/49 50/50 56/56 55/55 +f 52/52 53/53 58/58 57/57 +f 53/53 54/54 59/59 58/58 +f 54/54 55/55 60/60 59/59 +f 57/57 58/58 63/63 62/62 +f 58/58 59/59 64/64 63/63 +f 59/59 60/60 65/65 64/64 +f 61/61 62/62 68/68 67/67 +f 62/62 63/63 69/69 68/68 +f 63/63 64/64 70/70 69/69 +f 64/64 65/65 71/71 70/70 +f 65/65 66/66 72/72 71/71 +f 67/67 68/68 74/74 73/73 +f 68/68 69/69 75/75 74/74 +f 69/69 70/70 76/76 75/75 +f 70/70 71/71 77/77 76/76 +f 71/71 72/72 78/78 77/77 +f 73/73 74/74 80/80 79/79 +f 74/74 75/75 81/81 80/80 +f 75/75 76/76 82/82 81/81 +f 76/76 77/77 83/83 82/82 +f 77/77 78/78 84/84 83/83 +f 80/80 81/81 86/86 85/85 +f 81/81 82/82 87/87 86/86 +f 82/82 83/83 88/88 87/87 +f 85/85 86/86 91/91 90/90 +f 86/86 87/87 92/92 91/91 +f 87/87 88/88 93/93 92/92 +f 89/89 90/90 96/96 95/95 +f 90/90 91/91 97/97 96/96 +f 91/91 92/92 98/98 97/97 +f 92/92 93/93 99/99 98/98 +f 93/93 94/94 100/100 99/99 +f 95/95 96/96 102/102 101/101 +f 96/96 97/97 103/103 102/102 +f 97/97 98/98 104/104 103/103 +f 98/98 99/99 105/105 104/104 +f 99/99 100/100 106/106 105/105 +f 101/101 102/102 108/108 107/107 +f 102/102 103/103 109/109 108/108 +f 103/103 104/104 110/110 109/109 +f 104/104 105/105 111/111 110/110 +f 105/105 106/106 112/112 111/111 +f 108/108 109/109 2/114 1/113 +f 109/109 110/110 3/115 2/114 +f 110/110 111/111 4/116 3/115 +f 100/118 94/117 113/122 114/123 +f 106/119 100/118 114/123 115/124 +f 112/120 106/119 115/124 116/125 +f 113/122 84/121 78/126 117/127 +f 114/123 113/122 117/127 118/128 +f 115/124 114/123 118/128 119/129 +f 116/125 115/124 119/129 120/130 +f 10/10 116/125 120/130 16/16 +f 117/127 78/126 72/131 121/132 +f 118/128 117/127 121/132 122/133 +f 119/129 118/128 122/133 123/134 +f 120/130 119/129 123/134 124/135 +f 16/16 120/130 124/135 22/22 +f 121/132 72/131 66/136 125/137 +f 122/133 121/132 125/137 126/138 +f 123/134 122/133 126/138 127/139 +f 124/135 123/134 127/139 128/140 +f 22/22 124/135 128/140 28/28 +f 126/138 125/137 56/141 50/142 +f 127/139 126/138 50/142 44/143 +f 128/140 127/139 44/143 38/144 +f 89/145 95/146 130/151 129/150 +f 95/146 101/147 131/152 130/151 +f 101/147 107/148 132/153 131/152 +f 79/149 129/150 133/155 73/154 +f 129/150 130/151 134/156 133/155 +f 130/151 131/152 135/157 134/156 +f 131/152 132/153 136/158 135/157 +f 132/153 5/5 11/11 136/158 +f 73/154 133/155 137/160 67/159 +f 133/155 134/156 138/161 137/160 +f 134/156 135/157 139/162 138/161 +f 135/157 136/158 140/163 139/162 +f 136/158 11/11 17/17 140/163 +f 67/159 137/160 141/165 61/164 +f 137/160 138/161 142/166 141/165 +f 138/161 139/162 143/167 142/166 +f 139/162 140/163 144/168 143/167 +f 140/163 17/17 23/23 144/168 +f 141/165 142/166 45/170 51/169 +f 142/166 143/167 39/171 45/170 +f 143/167 144/168 33/172 39/171 diff --git a/obj/teapot.obj b/obj/teapot.obj new file mode 100644 index 0000000..a440b95 --- /dev/null +++ b/obj/teapot.obj @@ -0,0 +1,2090 @@ +# OBJ file created by ply_to_obj.c +# +g Object001 + +v 40.6266 28.3457 -1.10804 +v 40.0714 30.4443 -1.10804 +v 40.7155 31.1438 -1.10804 +v 42.0257 30.4443 -1.10804 +v 43.4692 28.3457 -1.10804 +v 37.5425 28.3457 14.5117 +v 37.0303 30.4443 14.2938 +v 37.6244 31.1438 14.5466 +v 38.8331 30.4443 15.0609 +v 40.1647 28.3457 15.6274 +v 29.0859 28.3457 27.1468 +v 28.6917 30.4443 26.7527 +v 29.149 31.1438 27.2099 +v 30.0792 30.4443 28.1402 +v 31.1041 28.3457 29.165 +v 16.4508 28.3457 35.6034 +v 16.2329 30.4443 35.0912 +v 16.4857 31.1438 35.6853 +v 16.9999 30.4443 36.894 +v 17.5665 28.3457 38.2256 +v 0.831025 28.3457 38.6876 +v 0.831025 30.4443 38.1324 +v 0.831025 31.1438 38.7764 +v 0.831025 30.4443 40.0866 +v 0.831025 28.3457 41.5301 +v -15.868 28.3457 35.6034 +v -15.0262 30.4443 35.0912 +v -14.9585 31.1438 35.6853 +v -15.3547 30.4443 36.894 +v -15.9044 28.3457 38.2256 +v -28.3832 28.3457 27.1468 +v -27.4344 30.4443 26.7527 +v -27.6068 31.1438 27.2099 +v -28.4322 30.4443 28.1402 +v -29.4421 28.3457 29.165 +v -36.2402 28.3457 14.5117 +v -35.52 30.4443 14.2938 +v -36.0073 31.1438 14.5466 +v -37.1767 30.4443 15.0609 +v -38.5027 28.3457 15.6274 +v -38.9646 28.3457 -1.10804 +v -38.4094 30.4443 -1.10804 +v -39.0534 31.1438 -1.10804 +v -40.3636 30.4443 -1.10804 +v -41.8071 28.3457 -1.10804 +v -35.8804 28.3457 -16.7278 +v -35.3683 30.4443 -16.5099 +v -35.9624 31.1438 -16.7627 +v -37.1711 30.4443 -17.2769 +v -38.5027 28.3457 -17.8435 +v -27.4238 28.3457 -29.3629 +v -27.0297 30.4443 -28.9687 +v -27.4869 31.1438 -29.426 +v -28.4172 30.4443 -30.3562 +v -29.4421 28.3457 -31.3811 +v -14.7887 28.3457 -37.8195 +v -14.5708 30.4443 -37.3073 +v -14.8236 31.1438 -37.9014 +v -15.3379 30.4443 -39.1101 +v -15.9044 28.3457 -40.4417 +v 0.831025 28.3457 -40.9036 +v 0.831025 30.4443 -40.3484 +v 0.831025 31.1438 -40.9925 +v 0.831025 30.4443 -42.3027 +v 0.831025 28.3457 -43.7462 +v 16.4508 28.3457 -37.8195 +v 16.2329 30.4443 -37.3073 +v 16.4857 31.1438 -37.9014 +v 16.9999 30.4443 -39.1101 +v 17.5665 28.3457 -40.4417 +v 29.0859 28.3457 -29.3629 +v 28.6917 30.4443 -28.9687 +v 29.149 31.1438 -29.426 +v 30.0792 30.4443 -30.3562 +v 31.1041 28.3457 -31.3811 +v 37.5425 28.3457 -16.7278 +v 37.0303 30.4443 -16.5099 +v 37.6244 31.1438 -16.7627 +v 38.8331 30.4443 -17.2769 +v 40.1647 28.3457 -17.8435 +v 48.6879 17.1865 -1.10804 +v 53.2404 6.22714 -1.10804 +v 56.4605 -4.33246 -1.10804 +v 57.6819 -14.2925 -1.10804 +v 44.979 17.1865 17.6758 +v 49.1787 6.22714 19.4626 +v 52.1492 -4.33246 20.7265 +v 53.2759 -14.2925 21.2059 +v 34.8094 17.1865 32.8703 +v 38.0417 6.22714 36.1026 +v 40.3279 -4.33246 38.3889 +v 41.1951 -14.2925 39.2561 +v 19.6148 17.1865 43.0399 +v 21.4017 6.22714 47.2396 +v 22.6656 -4.33246 50.2101 +v 23.145 -14.2925 51.3369 +v 0.831025 17.1865 46.7488 +v 0.831025 6.22714 51.3013 +v 0.831025 -4.33246 54.5214 +v 0.831025 -14.2925 55.7428 +v -17.9528 17.1865 43.0399 +v -19.7397 6.22714 47.2396 +v -21.0035 -4.33246 50.2101 +v -21.4829 -14.2925 51.3369 +v -33.1474 17.1865 32.8703 +v -36.3796 6.22714 36.1026 +v -38.6659 -4.33246 38.3889 +v -39.5331 -14.2925 39.2561 +v -43.3169 17.1865 17.6758 +v -47.5166 6.22714 19.4626 +v -50.4871 -4.33246 20.7265 +v -51.6139 -14.2925 21.2059 +v -47.0258 17.1865 -1.10804 +v -51.5784 6.22714 -1.10804 +v -54.7984 -4.33246 -1.10804 +v -56.0198 -14.2925 -1.10804 +v -43.3169 17.1865 -19.8919 +v -47.5166 6.22714 -21.6787 +v -50.4871 -4.33246 -22.9426 +v -51.6139 -14.2925 -23.422 +v -33.1474 17.1865 -35.0864 +v -36.3796 6.22714 -38.3187 +v -38.6659 -4.33246 -40.6049 +v -39.5331 -14.2925 -41.4721 +v -17.9528 17.1865 -45.256 +v -19.7397 6.22714 -49.4557 +v -21.0035 -4.33246 -52.4262 +v -21.4829 -14.2925 -53.5529 +v 0.831025 17.1865 -48.9649 +v 0.831025 6.22714 -53.5174 +v 0.831025 -4.33246 -56.7375 +v 0.831025 -14.2925 -57.9589 +v 19.6148 17.1865 -45.256 +v 21.4017 6.22714 -49.4557 +v 22.6656 -4.33246 -52.4262 +v 23.145 -14.2925 -53.5529 +v 34.8094 17.1865 -35.0864 +v 38.0417 6.22714 -38.3187 +v 40.3279 -4.33246 -40.6049 +v 41.1951 -14.2925 -41.4721 +v 44.979 17.1865 -19.8919 +v 49.1787 6.22714 -21.6787 +v 52.1492 -4.33246 -22.9426 +v 53.2759 -14.2925 -23.422 +v 55.4611 -22.7202 -1.10804 +v 50.5755 -28.9493 -1.10804 +v 45.6899 -33.1798 -1.10804 +v 43.4692 -35.6115 -1.10804 +v 51.2273 -22.7202 20.3343 +v 46.7203 -28.9493 18.4167 +v 42.2133 -33.1798 16.4991 +v 40.1647 -35.6115 15.6274 +v 39.6184 -22.7202 37.6793 +v 36.1496 -28.9493 34.2106 +v 32.6808 -33.1798 30.7418 +v 31.1041 -35.6115 29.165 +v 22.2733 -22.7202 49.2882 +v 20.3557 -28.9493 44.7813 +v 18.4381 -33.1798 40.2743 +v 17.5665 -35.6115 38.2256 +v 0.831025 -22.7202 53.5221 +v 0.831025 -28.9493 48.6365 +v 0.831025 -33.1798 43.7508 +v 0.831025 -35.6115 41.5301 +v -20.6113 -22.7202 49.2882 +v -18.6937 -28.9493 44.7813 +v -16.7761 -33.1798 40.2743 +v -15.9044 -35.6115 38.2256 +v -37.9564 -22.7202 37.6793 +v -34.4876 -28.9493 34.2106 +v -31.0188 -33.1798 30.7418 +v -29.4421 -35.6115 29.165 +v -49.5653 -22.7202 20.3343 +v -45.0583 -28.9493 18.4167 +v -40.5513 -33.1798 16.4991 +v -38.5027 -35.6115 15.6274 +v -53.7991 -22.7202 -1.10804 +v -48.9135 -28.9493 -1.10804 +v -44.0279 -33.1798 -1.10804 +v -41.8071 -35.6115 -1.10804 +v -49.5653 -22.7202 -22.5504 +v -45.0583 -28.9493 -20.6327 +v -40.5513 -33.1798 -18.7151 +v -38.5027 -35.6115 -17.8435 +v -37.9564 -22.7202 -39.8954 +v -34.4876 -28.9493 -36.4266 +v -31.0188 -33.1798 -32.9578 +v -29.4421 -35.6115 -31.3811 +v -20.6113 -22.7202 -51.5043 +v -18.6937 -28.9493 -46.9973 +v -16.7761 -33.1798 -42.4903 +v -15.9044 -35.6115 -40.4417 +v 0.831025 -22.7202 -55.7382 +v 0.831025 -28.9493 -50.8525 +v 0.831025 -33.1798 -45.9669 +v 0.831025 -35.6115 -43.7462 +v 22.2733 -22.7202 -51.5043 +v 20.3557 -28.9493 -46.9973 +v 18.4381 -33.1798 -42.4903 +v 17.5665 -35.6115 -40.4417 +v 39.6184 -22.7202 -39.8954 +v 36.1496 -28.9493 -36.4266 +v 32.6808 -33.1798 -32.9578 +v 31.1041 -35.6115 -31.3811 +v 51.2273 -22.7202 -22.5504 +v 46.7203 -28.9493 -20.6327 +v 42.2133 -33.1798 -18.7151 +v 40.1647 -35.6115 -17.8435 +v 42.5031 -37.1772 -1.10804 +v 37.3399 -38.5429 -1.10804 +v 24.5818 -39.5089 -1.10804 +v 0.831025 -39.8754 -1.10804 +v 39.2736 -37.1772 15.2483 +v 34.5105 -38.5429 13.2217 +v 22.7411 -39.5089 8.21414 +v 30.4182 -37.1772 28.4792 +v 26.7523 -38.5429 24.8133 +v 17.6941 -39.5089 15.755 +v 17.1873 -37.1772 37.3345 +v 15.1608 -38.5429 32.5714 +v 10.1532 -39.5089 20.8021 +v 0.831025 -37.1772 40.5641 +v 0.831025 -38.5429 35.4009 +v 0.831025 -39.5089 22.6427 +v -15.5253 -37.1772 37.3345 +v -13.4987 -38.5429 32.5714 +v -8.49115 -39.5089 20.8021 +v -28.7562 -37.1772 28.4792 +v -25.0903 -38.5429 24.8133 +v -16.032 -39.5089 15.755 +v -37.6115 -37.1772 15.2483 +v -32.8484 -38.5429 13.2217 +v -21.0791 -39.5089 8.21414 +v -40.8411 -37.1772 -1.10804 +v -35.6779 -38.5429 -1.10804 +v -22.9198 -39.5089 -1.10804 +v -37.6115 -37.1772 -17.4643 +v -32.8484 -38.5429 -15.4378 +v -21.0791 -39.5089 -10.4302 +v -28.7562 -37.1772 -30.6952 +v -25.0903 -38.5429 -27.0294 +v -16.032 -39.5089 -17.9711 +v -15.5253 -37.1772 -39.5506 +v -13.4987 -38.5429 -34.7875 +v -8.49115 -39.5089 -23.0181 +v 0.831025 -37.1772 -42.7802 +v 0.831025 -38.5429 -37.6169 +v 0.831025 -39.5089 -24.8588 +v 17.1873 -37.1772 -39.5506 +v 15.1608 -38.5429 -34.7875 +v 10.1532 -39.5089 -23.0181 +v 30.4182 -37.1772 -30.6952 +v 26.7523 -38.5429 -27.0294 +v 17.6941 -39.5089 -17.9711 +v 39.2736 -37.1772 -17.4643 +v 34.5105 -38.5429 -15.4378 +v 22.7411 -39.5089 -10.4302 +v -44.6497 17.6861 -1.10804 +v -57.9297 17.5862 -1.10804 +v -67.7453 16.8867 -1.10804 +v -73.8301 14.9879 -1.10804 +v -75.9176 11.2904 -1.10804 +v -44.2055 18.6855 3.68876 +v -58.3252 18.5699 3.68876 +v -68.6891 17.7611 3.68876 +v -75.0724 15.5657 3.68876 +v -77.2501 11.2904 3.68876 +v -43.2284 20.884 5.28769 +v -59.1955 20.7341 5.28769 +v -70.7655 19.6848 5.28769 +v -77.8053 16.8367 5.28769 +v -80.1814 11.2904 5.28769 +v -42.2513 23.0825 3.68876 +v -60.0657 22.8983 3.68876 +v -72.8419 21.6085 3.68876 +v -80.5381 18.1077 3.68876 +v -83.1128 11.2904 3.68876 +v -41.8071 24.0819 -1.10804 +v -60.4613 23.882 -1.10804 +v -73.7857 22.4829 -1.10804 +v -81.7804 18.6855 -1.10804 +v -84.4453 11.2904 -1.10804 +v -42.2513 23.0825 -5.90483 +v -60.0657 22.8983 -5.90483 +v -72.8419 21.6085 -5.90483 +v -80.5381 18.1077 -5.90483 +v -83.1128 11.2904 -5.90483 +v -43.2284 20.884 -7.50376 +v -59.1955 20.7341 -7.50376 +v -70.7655 19.6848 -7.50376 +v -77.8053 16.8367 -7.50376 +v -80.1814 11.2904 -7.50376 +v -44.2055 18.6855 -5.90483 +v -58.3252 18.5699 -5.90483 +v -68.6891 17.7611 -5.90483 +v -75.0724 15.5657 -5.90483 +v -77.2501 11.2904 -5.90483 +v -74.8073 5.4943 -1.10804 +v -71.2985 -1.50103 -1.10804 +v -65.1248 -8.49634 -1.10804 +v -56.0198 -14.2925 -1.10804 +v -76.0183 4.93477 3.68876 +v -72.159 -2.35462 3.68876 +v -65.4267 -9.55033 3.68876 +v -55.5757 -15.6249 3.68876 +v -78.6824 3.70383 5.28769 +v -74.0522 -4.23253 5.28769 +v -66.0909 -11.8691 5.28769 +v -54.5986 -18.5563 5.28769 +v -81.3466 2.47288 3.68876 +v -75.9454 -6.11044 3.68876 +v -66.755 -14.1878 3.68876 +v -53.6214 -21.4877 3.68876 +v -82.5576 1.91336 -1.10804 +v -76.8059 -6.96404 -1.10804 +v -67.0569 -15.2418 -1.10804 +v -53.1773 -22.8201 -1.10804 +v -81.3466 2.47288 -5.90483 +v -75.9454 -6.11044 -5.90483 +v -66.755 -14.1878 -5.90483 +v -53.6214 -21.4877 -5.90483 +v -78.6824 3.70383 -7.50376 +v -74.0522 -4.23253 -7.50376 +v -66.0909 -11.8691 -7.50376 +v -54.5986 -18.5563 -7.50376 +v -76.0183 4.93477 -5.90483 +v -72.159 -2.35462 -5.90483 +v -65.4267 -9.55033 -5.90483 +v -55.5757 -15.6249 -5.90483 +v 49.1543 0.630882 -1.10804 +v 62.7896 3.76212 -1.10804 +v 68.6967 11.2904 -1.10804 +v 71.939 20.4176 -1.10804 +v 77.5797 28.3457 -1.10804 +v 49.1543 -3.03333 9.4449 +v 63.8305 1.04519 8.42059 +v 70.0292 9.70814 6.1671 +v 73.5629 19.8451 3.91361 +v 80.2446 28.3457 2.88929 +v 49.1543 -11.0946 12.9626 +v 66.1207 -4.93206 11.5968 +v 72.9605 6.22714 8.59214 +v 77.1355 18.5855 5.58749 +v 86.1073 28.3457 4.22173 +v 49.1543 -19.1559 9.4449 +v 68.4108 -10.9093 8.42059 +v 75.8919 2.74614 6.1671 +v 80.7081 17.326 3.91361 +v 91.97 28.3457 2.88929 +v 49.1543 -22.8201 -1.10804 +v 69.4518 -13.6262 -1.10804 +v 77.2244 1.16386 -1.10804 +v 82.3321 16.7534 -1.10804 +v 94.6349 28.3457 -1.10804 +v 49.1543 -19.1559 -11.661 +v 68.4108 -10.9093 -10.6367 +v 75.8919 2.74614 -8.38317 +v 80.7081 17.326 -6.12968 +v 91.97 28.3457 -5.10536 +v 49.1543 -11.0946 -15.1786 +v 66.1207 -4.93206 -13.8129 +v 72.9605 6.22714 -10.8082 +v 77.1355 18.5855 -7.80356 +v 86.1073 28.3457 -6.4378 +v 49.1543 -3.03333 -11.661 +v 63.8305 1.04519 -10.6367 +v 70.0292 9.70814 -8.38317 +v 73.5629 19.8451 -6.12968 +v 80.2446 28.3457 -5.10536 +v 79.6227 29.5449 -1.10804 +v 81.1329 29.9446 -1.10804 +v 81.577 29.5449 -1.10804 +v 80.4222 28.3457 -1.10804 +v 82.4767 29.6034 2.63946 +v 83.8116 30.0383 2.08983 +v 83.8515 29.6268 1.54019 +v 82.1988 28.3457 1.29036 +v 88.7555 29.7322 3.88862 +v 89.7049 30.2444 3.15578 +v 88.8555 29.8072 2.42294 +v 86.1073 28.3457 2.08983 +v 95.0343 29.8611 2.63946 +v 95.5982 30.4505 2.08983 +v 93.8594 29.9875 1.54019 +v 90.0158 28.3457 1.29036 +v 97.8883 29.9196 -1.10804 +v 98.2769 30.5442 -1.10804 +v 96.1339 30.0695 -1.10804 +v 91.7924 28.3457 -1.10804 +v 95.0343 29.8611 -4.85553 +v 95.5982 30.4505 -4.3059 +v 93.8594 29.9875 -3.75626 +v 90.0158 28.3457 -3.50643 +v 88.7555 29.7322 -6.10469 +v 89.7049 30.2444 -5.37185 +v 88.8555 29.8072 -4.63901 +v 86.1073 28.3457 -4.3059 +v 82.4767 29.6034 -4.85553 +v 83.8116 30.0383 -4.3059 +v 83.8515 29.6268 -3.75626 +v 82.1988 28.3457 -3.50643 +v 0.831025 49.6647 -1.10804 +v 10.5134 48.2657 -1.10804 +v 10.0693 44.868 -1.10804 +v 6.42728 40.6708 -1.10804 +v 6.51611 36.8733 -1.10804 +v 9.76642 48.2657 2.70243 +v 9.35632 44.868 2.52698 +v 5.9947 40.6708 1.09187 +v 6.07552 36.8733 1.12336 +v 7.71453 48.2657 5.77547 +v 7.39819 44.868 5.45913 +v 4.80736 40.6708 2.8683 +v 4.86744 36.8733 2.92838 +v 4.64149 48.2657 7.82736 +v 4.46604 44.868 7.41726 +v 3.03093 40.6708 4.05564 +v 3.06242 36.8733 4.13646 +v 0.831025 48.2657 8.57438 +v 0.831025 44.868 8.13023 +v 0.831025 40.6708 4.48822 +v 0.831025 36.8733 4.57705 +v -2.97944 48.2657 7.82736 +v -2.80399 44.868 7.41726 +v -1.36888 40.6708 4.05564 +v -1.40037 36.8733 4.13646 +v -6.05248 48.2657 5.77547 +v -5.73614 44.868 5.45913 +v -3.14531 40.6708 2.8683 +v -3.20539 36.8733 2.92838 +v -8.10437 48.2657 2.70243 +v -7.69427 44.868 2.52698 +v -4.33265 40.6708 1.09187 +v -4.41347 36.8733 1.12336 +v -8.85139 48.2657 -1.10804 +v -8.40724 44.868 -1.10804 +v -4.76523 40.6708 -1.10804 +v -4.85406 36.8733 -1.10804 +v -8.10437 48.2657 -4.9185 +v -7.69427 44.868 -4.74305 +v -4.33265 40.6708 -3.30794 +v -4.41347 36.8733 -3.33943 +v -6.05248 48.2657 -7.99154 +v -5.73614 44.868 -7.6752 +v -3.14531 40.6708 -5.08437 +v -3.20539 36.8733 -5.14445 +v -2.97944 48.2657 -10.0434 +v -2.80399 44.868 -9.63333 +v -1.36888 40.6708 -6.27171 +v -1.40037 36.8733 -6.35253 +v 0.831025 48.2657 -10.7904 +v 0.831025 44.868 -10.3463 +v 0.831025 40.6708 -6.70429 +v 0.831025 36.8733 -6.79312 +v 4.64149 48.2657 -10.0434 +v 4.46604 44.868 -9.63333 +v 3.03093 40.6708 -6.27171 +v 3.06242 36.8733 -6.35253 +v 7.71453 48.2657 -7.99154 +v 7.39819 44.868 -7.6752 +v 4.80736 40.6708 -5.08437 +v 4.86744 36.8733 -5.14445 +v 9.76642 48.2657 -4.9185 +v 9.35632 44.868 -4.74305 +v 5.9947 40.6708 -3.30794 +v 6.07552 36.8733 -3.33943 +v 13.8001 34.3417 -1.10804 +v 24.282 32.6095 -1.10804 +v 33.6979 30.8773 -1.10804 +v 37.7841 28.3457 -1.10804 +v 12.795 34.3417 3.98234 +v 22.4646 32.6095 8.09647 +v 31.1507 30.8773 11.7922 +v 34.9202 28.3457 13.396 +v 10.0391 34.3417 8.10003 +v 17.4812 32.6095 15.5422 +v 24.1665 30.8773 22.2275 +v 27.0677 28.3457 25.1286 +v 5.9214 34.3417 10.856 +v 10.0355 32.6095 20.5255 +v 13.7313 30.8773 29.2117 +v 15.3351 28.3457 32.9812 +v 0.831025 34.3417 11.8611 +v 0.831025 32.6095 22.3429 +v 0.831025 30.8773 31.7589 +v 0.831025 28.3457 35.845 +v -4.25935 34.3417 10.856 +v -8.37348 32.6095 20.5255 +v -12.0692 30.8773 29.2117 +v -13.673 28.3457 32.9812 +v -8.37704 34.3417 8.10003 +v -15.8192 32.6095 15.5422 +v -22.5045 30.8773 22.2275 +v -25.4056 28.3457 25.1286 +v -11.133 34.3417 3.98234 +v -20.8025 32.6095 8.09647 +v -29.4887 30.8773 11.7922 +v -33.2582 28.3457 13.396 +v -12.1381 34.3417 -1.10804 +v -22.62 32.6095 -1.10804 +v -32.0359 30.8773 -1.10804 +v -36.122 28.3457 -1.10804 +v -11.133 34.3417 -6.19841 +v -20.8025 32.6095 -10.3125 +v -29.4887 30.8773 -14.0083 +v -33.2582 28.3457 -15.6121 +v -8.37704 34.3417 -10.3161 +v -15.8192 32.6095 -17.7582 +v -22.5045 30.8773 -24.4435 +v -25.4056 28.3457 -27.3447 +v -4.25935 34.3417 -13.072 +v -8.37348 32.6095 -22.7416 +v -12.0692 30.8773 -31.4277 +v -13.673 28.3457 -35.1972 +v 0.831025 34.3417 -14.0771 +v 0.831025 32.6095 -24.559 +v 0.831025 30.8773 -33.9749 +v 0.831025 28.3457 -38.0611 +v 5.9214 34.3417 -13.072 +v 10.0355 32.6095 -22.7416 +v 13.7313 30.8773 -31.4277 +v 15.3351 28.3457 -35.1972 +v 10.0391 34.3417 -10.3161 +v 17.4812 32.6095 -17.7582 +v 24.1665 30.8773 -24.4435 +v 27.0677 28.3457 -27.3447 +v 12.795 34.3417 -6.19841 +v 22.4646 32.6095 -10.3125 +v 31.1507 30.8773 -14.0083 +v 34.9202 28.3457 -15.6121 + +vn -0.966742 -0.255752 9.97231e-09 +vn -0.966824 0.255443 3.11149e-08 +vn -0.092052 0.995754 4.45989e-08 +vn 0.68205 0.731305 0 +vn 0.870301 0.492521 -4.87195e-09 +vn -0.893014 -0.256345 -0.369882 +vn -0.893437 0.255997 -0.369102 +vn -0.0838771 0.995843 -0.0355068 +vn 0.629724 0.73186 0.260439 +vn 0.803725 0.49337 0.332584 +vn -0.683407 -0.256729 -0.683407 +vn -0.683531 0.256067 -0.683531 +vn -0.0649249 0.995776 -0.0649248 +vn 0.481398 0.732469 0.481398 +vn 0.614804 0.493997 0.614804 +vn -0.369882 -0.256345 -0.893014 +vn -0.369102 0.255997 -0.893437 +vn -0.0355067 0.995843 -0.0838772 +vn 0.260439 0.73186 0.629724 +vn 0.332584 0.49337 0.803725 +vn -0.00284834 -0.257863 -0.966177 +vn -0.00192311 0.254736 -0.967009 +vn -0.000266114 0.995734 -0.0922702 +vn 2.39288e-05 0.731295 0.682061 +vn 2.43342e-09 0.492521 0.870301 +vn 0.379058 -0.3593 -0.852771 +vn 0.37711 0.149086 -0.914091 +vn 0.0275022 0.992081 -0.122551 +vn -0.26101 0.726762 0.635367 +vn -0.332485 0.492546 0.804271 +vn 0.663548 -0.410791 -0.625264 +vn 0.712664 0.0737216 -0.697621 +vn 0.0997268 0.987509 -0.121984 +vn -0.48732 0.723754 0.488568 +vn -0.615242 0.492602 0.615484 +vn 0.880028 -0.332908 -0.338709 +vn 0.917276 0.167113 -0.361493 +vn 0.113584 0.992365 -0.0480695 +vn -0.63415 0.727508 0.261889 +vn -0.804126 0.492634 0.332705 +vn 0.96669 -0.255738 0.0104537 +vn 0.967442 0.252962 0.00810329 +vn 0.0934365 0.995624 0.00128063 +vn -0.682167 0.731196 -0.00034353 +vn -0.870322 0.492483 -5.42436e-05 +vn 0.893014 -0.256345 0.369882 +vn 0.893437 0.255997 0.369102 +vn 0.0838768 0.995843 0.0355066 +vn -0.629724 0.73186 -0.260439 +vn -0.803725 0.49337 -0.332584 +vn 0.683407 -0.256729 0.683407 +vn 0.683531 0.256067 0.683531 +vn 0.0649249 0.995776 0.0649249 +vn -0.481398 0.732469 -0.481398 +vn -0.614804 0.493997 -0.614804 +vn 0.369882 -0.256345 0.893014 +vn 0.369102 0.255997 0.893437 +vn 0.0355067 0.995843 0.083877 +vn -0.260439 0.73186 -0.629724 +vn -0.332584 0.49337 -0.803725 +vn 3.83985e-09 -0.255752 0.966742 +vn 2.59359e-09 0.255443 0.966824 +vn 3.99081e-08 0.995754 0.092052 +vn 1.03862e-08 0.731305 -0.68205 +vn -2.43342e-09 0.492521 -0.870301 +vn -0.369882 -0.256345 0.893014 +vn -0.369102 0.255996 0.893437 +vn -0.0355068 0.995843 0.0838771 +vn 0.260439 0.73186 -0.629724 +vn 0.332584 0.49337 -0.803725 +vn -0.683407 -0.256729 0.683407 +vn -0.683531 0.256067 0.683531 +vn -0.0649249 0.995776 0.064925 +vn 0.481398 0.732469 -0.481398 +vn 0.614804 0.493997 -0.614804 +vn -0.893014 -0.256345 0.369882 +vn -0.893437 0.255997 0.369102 +vn -0.0838767 0.995843 0.0355066 +vn 0.629724 0.73186 -0.260439 +vn 0.803725 0.49337 -0.332584 +vn 0.915321 0.402725 4.83311e-09 +vn 0.941808 0.336151 -4.85769e-09 +vn 0.97869 0.205342 4.90003e-09 +vn 0.997804 -0.0662397 1.0073e-08 +vn 0.845438 0.403546 0.349835 +vn 0.869996 0.336859 0.360047 +vn 0.904193 0.205791 0.37428 +vn 0.921879 -0.0663697 0.381752 +vn 0.646802 0.404096 0.646802 +vn 0.665655 0.337351 0.665655 +vn 0.691923 0.20612 0.691923 +vn 0.705542 -0.0664796 0.705543 +vn 0.349835 0.403546 0.845438 +vn 0.360047 0.336859 0.869996 +vn 0.37428 0.205791 0.904193 +vn 0.381752 -0.0663697 0.921879 +vn -1.31462e-09 0.402725 0.915321 +vn 9.76689e-10 0.336151 0.941808 +vn -1.9304e-08 0.205342 0.97869 +vn -2.15056e-08 -0.0662397 0.997804 +vn -0.349835 0.403546 0.845438 +vn -0.360047 0.336859 0.869996 +vn -0.37428 0.205791 0.904193 +vn -0.381752 -0.0663697 0.921879 +vn -0.646802 0.404096 0.646802 +vn -0.665655 0.337351 0.665655 +vn -0.691923 0.20612 0.691923 +vn -0.705543 -0.0664796 0.705543 +vn -0.845438 0.403546 0.349835 +vn -0.869996 0.336859 0.360047 +vn -0.904193 0.205791 0.37428 +vn -0.921879 -0.0663697 0.381752 +vn -0.915321 0.402725 -2.41655e-09 +vn -0.941808 0.336151 -1.21442e-08 +vn -0.97869 0.205342 -3.18502e-08 +vn -0.997804 -0.0662397 -2.26643e-08 +vn -0.845438 0.403546 -0.349835 +vn -0.869996 0.336859 -0.360047 +vn -0.904193 0.205791 -0.37428 +vn -0.921879 -0.0663697 -0.381752 +vn -0.646802 0.404096 -0.646802 +vn -0.665655 0.337351 -0.665655 +vn -0.691923 0.20612 -0.691923 +vn -0.705542 -0.0664796 -0.705543 +vn -0.349835 0.403546 -0.845438 +vn -0.360047 0.336859 -0.869996 +vn -0.37428 0.205791 -0.904193 +vn -0.381752 -0.0663697 -0.921879 +vn 1.31462e-09 0.402725 -0.915321 +vn -9.76689e-10 0.336151 -0.941808 +vn 1.9304e-08 0.205342 -0.97869 +vn 2.15056e-08 -0.0662397 -0.997804 +vn 0.349835 0.403546 -0.845438 +vn 0.360047 0.336859 -0.869996 +vn 0.37428 0.205791 -0.904193 +vn 0.381752 -0.0663697 -0.921879 +vn 0.646802 0.404096 -0.646802 +vn 0.665655 0.337351 -0.665655 +vn 0.691923 0.20612 -0.691923 +vn 0.705543 -0.0664796 -0.705542 +vn 0.845438 0.403546 -0.349835 +vn 0.869996 0.336859 -0.360047 +vn 0.904193 0.205791 -0.37428 +vn 0.921879 -0.0663697 -0.381752 +vn 0.900182 -0.435513 -1.50883e-08 +vn 0.729611 -0.683863 -9.71212e-09 +vn 0.693951 -0.720022 -9.54282e-09 +vn 0.79395 -0.607984 2.6277e-08 +vn 0.831437 -0.43618 0.344179 +vn 0.673512 -0.684665 0.278594 +vn 0.640399 -0.720924 0.264874 +vn 0.732949 -0.608996 0.303166 +vn 0.636092 -0.436777 0.636092 +vn 0.514965 -0.685289 0.514965 +vn 0.489651 -0.721446 0.489651 +vn 0.560555 -0.609554 0.560555 +vn 0.344179 -0.43618 0.831437 +vn 0.278594 -0.684665 0.673512 +vn 0.264874 -0.720924 0.640399 +vn 0.303166 -0.608996 0.732949 +vn 1.18057e-08 -0.435513 0.900182 +vn -4.75784e-09 -0.683863 0.729611 +vn 9.10217e-09 -0.720022 0.693951 +vn -2.68996e-08 -0.607984 0.79395 +vn -0.344179 -0.43618 0.831437 +vn -0.278594 -0.684665 0.673512 +vn -0.264874 -0.720924 0.640399 +vn -0.303166 -0.608996 0.732949 +vn -0.636092 -0.436777 0.636092 +vn -0.514965 -0.685289 0.514965 +vn -0.489651 -0.721446 0.489651 +vn -0.560555 -0.609554 0.560555 +vn -0.831437 -0.43618 0.344179 +vn -0.673512 -0.684665 0.278595 +vn -0.640399 -0.720924 0.264874 +vn -0.732949 -0.608996 0.303166 +vn -0.900182 -0.435513 -7.54414e-09 +vn -0.729611 -0.683863 -7.28409e-09 +vn -0.693951 -0.720022 4.77141e-09 +vn -0.79395 -0.607983 -2.6277e-08 +vn -0.831437 -0.43618 -0.344179 +vn -0.673512 -0.684665 -0.278594 +vn -0.640399 -0.720924 -0.264874 +vn -0.732949 -0.608996 -0.303166 +vn -0.636092 -0.436777 -0.636092 +vn -0.514965 -0.685289 -0.514965 +vn -0.489651 -0.721446 -0.489651 +vn -0.560555 -0.609554 -0.560555 +vn -0.344179 -0.43618 -0.831437 +vn -0.278594 -0.684665 -0.673512 +vn -0.264874 -0.720924 -0.640399 +vn -0.303166 -0.608996 -0.732949 +vn -1.18057e-08 -0.435513 -0.900182 +vn 4.75784e-09 -0.683863 -0.729611 +vn -9.10217e-09 -0.720022 -0.693951 +vn 2.68996e-08 -0.607984 -0.79395 +vn 0.344179 -0.43618 -0.831437 +vn 0.278594 -0.684665 -0.673512 +vn 0.264874 -0.720924 -0.640399 +vn 0.303167 -0.608996 -0.732949 +vn 0.636092 -0.436777 -0.636092 +vn 0.514965 -0.685289 -0.514965 +vn 0.489651 -0.721446 -0.489651 +vn 0.560555 -0.609554 -0.560555 +vn 0.831437 -0.43618 -0.344179 +vn 0.673512 -0.684665 -0.278595 +vn 0.640399 -0.720924 -0.264874 +vn 0.732949 -0.608996 -0.303166 +vn 0.62386 -0.781536 3.04248e-08 +vn 0.177291 -0.984159 -3.28321e-09 +vn 0.0492072 -0.998789 1.48326e-09 +vn 1.94668e-11 -1 -7.78368e-10 +vn 0.576229 -0.781801 0.238217 +vn 0.163629 -0.984208 0.0675273 +vn 0.0454217 -0.998792 0.0187357 +vn 0.440416 -0.782348 0.440416 +vn 0.124903 -0.984276 0.124903 +vn 0.0346621 -0.998798 0.0346621 +vn 0.238217 -0.781801 0.576229 +vn 0.0675273 -0.984208 0.163629 +vn 0.0187357 -0.998792 0.0454217 +vn -3.18434e-08 -0.781536 0.62386 +vn 3.33958e-09 -0.984159 0.177291 +vn -1.80438e-09 -0.998789 0.0492072 +vn -0.238216 -0.781801 0.576229 +vn -0.0675273 -0.984208 0.163629 +vn -0.0187357 -0.998792 0.0454217 +vn -0.440416 -0.782348 0.440416 +vn -0.124903 -0.984276 0.124903 +vn -0.0346621 -0.998798 0.0346621 +vn -0.576229 -0.781801 0.238217 +vn -0.163629 -0.984208 0.0675273 +vn -0.0454217 -0.998792 0.0187357 +vn -0.62386 -0.781536 -3.17476e-08 +vn -0.177291 -0.984159 3.13397e-09 +vn -0.0492072 -0.998789 -1.33493e-09 +vn -0.576229 -0.781801 -0.238217 +vn -0.163629 -0.984208 -0.0675273 +vn -0.0454217 -0.998792 -0.0187357 +vn -0.440416 -0.782348 -0.440416 +vn -0.124903 -0.984276 -0.124903 +vn -0.0346621 -0.998798 -0.0346621 +vn -0.238217 -0.781801 -0.576229 +vn -0.0675273 -0.984208 -0.163629 +vn -0.0187357 -0.998792 -0.0454217 +vn 3.18434e-08 -0.781536 -0.62386 +vn -3.28168e-09 -0.984159 -0.177291 +vn 1.46144e-09 -0.998789 -0.0492072 +vn 0.238217 -0.781801 -0.576229 +vn 0.0675273 -0.984208 -0.163629 +vn 0.0187357 -0.998792 -0.0454217 +vn 0.440416 -0.782348 -0.440416 +vn 0.124903 -0.984276 -0.124903 +vn 0.0346621 -0.998798 -0.0346621 +vn 0.576229 -0.781801 -0.238217 +vn 0.163629 -0.984208 -0.0675273 +vn 0.0454217 -0.998792 -0.0187357 +vn 0.00778619 -0.99997 -0.000215809 +vn 0.0391385 -0.999233 -0.000988567 +vn 0.179511 -0.983746 -0.00436856 +vn 0.6123 -0.790556 -0.0104598 +vn 0.986152 -0.165707 -0.00666949 +vn 0.00703893 -0.812495 0.582926 +vn 0.0361273 -0.837257 0.545614 +vn 0.161845 -0.810421 0.563048 +vn 0.482365 -0.595148 0.642746 +vn 0.73872 -0.114593 0.664199 +vn -0.00190867 0.162121 0.986769 +vn 0.0027616 0.0171073 0.99985 +vn 0.0105326 0.0733989 0.997247 +vn -0.0660406 0.130069 0.989303 +vn -0.0944272 0.0165946 0.995393 +vn -0.009203 0.871509 0.490293 +vn -0.0486064 0.840609 0.539457 +vn -0.223298 0.802881 0.552739 +vn -0.596365 0.559971 0.575135 +vn -0.803337 0.0682361 0.591602 +vn -0.0105609 0.999944 0.000103364 +vn -0.0587986 0.99827 0.000709759 +vn -0.28071 0.959787 0.00326876 +vn -0.749723 0.661738 0.0042684 +vn -0.997351 0.0727144 0.00205923 +vn -0.00879197 0.871493 -0.49033 +vn -0.0464937 0.841178 -0.538756 +vn -0.217909 0.806807 -0.549161 +vn -0.597291 0.560026 -0.574121 +vn -0.804 0.0629127 -0.591291 +vn -0.00180555 0.161691 -0.98684 +vn 0.00203087 0.014555 -0.999892 +vn 0.00921499 0.0600698 -0.998152 +vn -0.0593333 0.113865 -0.991723 +vn -0.0868992 0.0122903 -0.996141 +vn 0.00641779 -0.812379 -0.583094 +vn 0.0337833 -0.837512 -0.545373 +vn 0.157112 -0.811947 -0.56219 +vn 0.484407 -0.589365 -0.646528 +vn 0.73887 -0.10132 -0.666187 +vn 0.946512 0.32265 -0.0033571 +vn 0.82583 0.56387 -0.00745213 +vn 0.650011 0.759893 -0.00693681 +vn 0.532429 0.846458 -0.00524544 +vn 0.725608 0.259351 0.637362 +vn 0.645945 0.461988 0.607719 +vn 0.531614 0.63666 0.558615 +vn 0.424964 0.681717 0.59554 +vn -0.0495616 -0.019755 0.998576 +vn -0.0378162 -0.0356243 0.99865 +vn -0.0379139 -0.0365122 0.998614 +vn -0.168854 -0.297946 0.93953 +vn -0.742342 -0.299166 0.599523 +vn -0.619602 -0.529406 0.579503 +vn -0.483708 -0.685761 0.543837 +vn -0.445293 -0.794355 0.413176 +vn -0.926513 -0.376257 0.00199587 +vn -0.75392 -0.656952 0.00431723 +vn -0.566224 -0.824244 0.00346105 +vn -0.481804 -0.876277 0.00185047 +vn -0.744675 -0.294424 -0.598977 +vn -0.621949 -0.528114 -0.578165 +vn -0.481171 -0.68834 -0.542828 +vn -0.438055 -0.797035 -0.415744 +vn -0.0443368 -0.0170558 -0.998871 +vn -0.0261761 -0.0281665 -0.99926 +vn -0.0252939 -0.0283323 -0.999278 +vn -0.157482 -0.289392 -0.944167 +vn 0.728244 0.25241 -0.637142 +vn 0.647055 0.459725 -0.608254 +vn 0.522994 0.640657 -0.562171 +vn 0.409978 0.682857 -0.604669 +vn -0.230787 0.972982 -0.00652338 +vn -0.548936 0.835863 -0.00151111 +vn -0.875671 0.482807 0.00989278 +vn -0.877554 0.479097 0.0190923 +vn -0.69619 0.717439 0.024497 +vn -0.152878 0.687211 0.71019 +vn -0.316721 0.63775 0.702113 +vn -0.601067 0.471452 0.64533 +vn -0.635889 0.44609 0.6298 +vn -0.435746 0.601008 0.670011 +vn 0.111112 -0.0850694 0.99016 +vn 0.22331 0.00654036 0.974726 +vn 0.190097 0.154964 0.969458 +vn 0.00527077 0.189482 0.98187 +vn -0.0117518 0.246688 0.969024 +vn 0.343906 -0.722796 0.599412 +vn 0.572489 -0.567656 0.591627 +vn 0.787436 -0.256459 0.560512 +vn 0.647097 -0.306374 0.698141 +vn 0.427528 -0.499343 0.753576 +vn 0.410926 -0.911668 0.00128446 +vn 0.67152 -0.740986 -0.000899122 +vn 0.922026 -0.38706 -0.00725269 +vn 0.84691 -0.531556 -0.0138542 +vn 0.535925 -0.8442 -0.0105045 +vn 0.341188 -0.722822 -0.600931 +vn 0.578664 -0.561139 -0.591838 +vn 0.784869 -0.25102 -0.566542 +vn 0.642681 -0.302257 -0.70399 +vn 0.418589 -0.500042 -0.758117 +vn 0.115806 -0.0791394 -0.990114 +vn 0.232811 0.0125652 -0.972441 +vn 0.206662 0.153601 -0.96628 +vn 0.0244996 0.161443 -0.986578 +vn 0.00338193 0.211115 -0.977455 +vn -0.134912 0.687491 -0.713551 +vn -0.31954 0.633073 -0.705062 +vn -0.603902 0.461442 -0.649903 +vn -0.631816 0.437169 -0.640072 +vn -0.424306 0.612706 -0.66675 +vn -0.4258 0.904753 0.0108049 +vn 0.0220472 0.999756 0.00162273 +vn 0.999599 0.0258705 0.0115556 +vn 0.709585 -0.704553 0.00967183 +vn -0.259858 0.791936 0.552549 +vn 0.00953916 0.99972 -0.0216718 +vn 0.410156 0.332912 -0.849083 +vn 0.541523 -0.54862 -0.637 +vn 0.0463104 0.455224 0.889172 +vn -0.0106883 0.988794 0.148901 +vn -0.0443756 0.682947 -0.729118 +vn 0.122825 0.00923214 -0.992385 +vn 0.481839 -0.180439 0.85748 +vn 0.455272 0.736752 0.499925 +vn -0.220542 0.907193 -0.358276 +vn -0.23592 0.657249 -0.715797 +vn 0.728092 -0.685302 -0.0155853 +vn 0.888739 0.45811 -0.0166791 +vn -0.260097 0.965582 0.000800195 +vn -0.371612 0.928378 -0.00441745 +vn 0.480166 -0.17836 -0.858853 +vn 0.488103 0.716801 -0.497947 +vn -0.222004 0.905399 0.361893 +vn -0.235405 0.66318 0.710477 +vn 0.0587203 0.437704 -0.8972 +vn 0.00132612 0.986459 -0.164003 +vn -0.0441901 0.681677 0.730317 +vn 0.138801 -0.0341896 0.98973 +vn -0.25889 0.797206 -0.54538 +vn 0.0122703 0.999739 0.0192865 +vn 0.39863 0.35489 0.845663 +vn 0.537564 -0.5814 0.610737 +vn -7.79193e-10 1 6.50944e-09 +vn 0.82454 0.565804 1.72913e-05 +vn 0.917701 -0.397272 3.35502e-05 +vn 0.935269 -0.353939 0.000112842 +vn 0.780712 0.624891 7.51916e-05 +vn 0.762641 0.565035 0.314825 +vn 0.847982 -0.397998 0.350034 +vn 0.864141 -0.355261 0.356441 +vn 0.720991 0.625625 0.297933 +vn 0.583357 0.565165 0.583338 +vn 0.648485 -0.398726 0.648448 +vn 0.660872 -0.355894 0.660748 +vn 0.551862 0.62529 0.55178 +vn 0.314824 0.565051 0.762629 +vn 0.350045 -0.397976 0.847988 +vn 0.356474 -0.3552 0.864153 +vn 0.297983 0.625515 0.721067 +vn -1.7299e-05 0.565804 0.82454 +vn -3.35448e-05 -0.397272 0.917701 +vn -0.000112839 -0.353939 0.935269 +vn -7.51869e-05 0.624891 0.780712 +vn -0.314825 0.565035 0.762641 +vn -0.350034 -0.397998 0.847982 +vn -0.356441 -0.355261 0.864141 +vn -0.297933 0.625625 0.720991 +vn -0.583338 0.565165 0.583357 +vn -0.648448 -0.398726 0.648485 +vn -0.660748 -0.355894 0.660872 +vn -0.55178 0.62529 0.551862 +vn -0.762629 0.565051 0.314824 +vn -0.847988 -0.397976 0.350045 +vn -0.864153 -0.3552 0.356474 +vn -0.721067 0.625515 0.297983 +vn -0.82454 0.565804 -1.72877e-05 +vn -0.917701 -0.397272 -3.35262e-05 +vn -0.935269 -0.353939 -0.000112839 +vn -0.780712 0.624891 -7.51882e-05 +vn -0.76264 0.565035 -0.314825 +vn -0.847982 -0.397998 -0.350034 +vn -0.864141 -0.355261 -0.356441 +vn -0.720991 0.625625 -0.297933 +vn -0.583357 0.565165 -0.583338 +vn -0.648485 -0.398726 -0.648448 +vn -0.660872 -0.355894 -0.660748 +vn -0.551862 0.62529 -0.55178 +vn -0.314824 0.565051 -0.762629 +vn -0.350045 -0.397976 -0.847988 +vn -0.356474 -0.3552 -0.864153 +vn -0.297983 0.625515 -0.721067 +vn 1.72918e-05 0.565804 -0.82454 +vn 3.35344e-05 -0.397272 -0.917701 +vn 0.000112839 -0.353939 -0.935269 +vn 7.51869e-05 0.624891 -0.780712 +vn 0.314825 0.565035 -0.762641 +vn 0.350034 -0.397998 -0.847982 +vn 0.356441 -0.355261 -0.864141 +vn 0.297933 0.625625 -0.720991 +vn 0.583338 0.565165 -0.583357 +vn 0.648448 -0.398726 -0.648485 +vn 0.660748 -0.355894 -0.660872 +vn 0.55178 0.62529 -0.551862 +vn 0.762629 0.565051 -0.314824 +vn 0.847988 -0.397976 -0.350045 +vn 0.864153 -0.3552 -0.356474 +vn 0.721067 0.625515 -0.297983 +vn 0.236584 0.971611 8.31862e-09 +vn 0.173084 0.984907 -1.18677e-09 +vn 0.379703 0.925108 2.44118e-09 +vn 0.526673 0.850068 2.66504e-09 +vn 0.217978 0.971775 0.0902162 +vn 0.15959 0.984977 0.0659615 +vn 0.350498 0.925312 0.14474 +vn 0.48559 0.850653 0.201474 +vn 0.166631 0.971838 0.166631 +vn 0.121908 0.985026 0.121908 +vn 0.267668 0.925585 0.267668 +vn 0.371315 0.851029 0.371315 +vn 0.0902162 0.971775 0.217978 +vn 0.0659615 0.984977 0.15959 +vn 0.14474 0.925312 0.350498 +vn 0.201474 0.850653 0.48559 +vn -8.2649e-09 0.971611 0.236584 +vn 1.37744e-09 0.984907 0.173084 +vn 2.79781e-10 0.925108 0.379703 +vn 2.55497e-09 0.850068 0.526673 +vn -0.0902162 0.971775 0.217978 +vn -0.0659615 0.984977 0.15959 +vn -0.14474 0.925312 0.350498 +vn -0.201474 0.850653 0.48559 +vn -0.166631 0.971838 0.166631 +vn -0.121908 0.985026 0.121908 +vn -0.267668 0.925585 0.267668 +vn -0.371315 0.851029 0.371315 +vn -0.217978 0.971775 0.0902162 +vn -0.15959 0.984977 0.0659615 +vn -0.350498 0.925312 0.14474 +vn -0.48559 0.850653 0.201474 +vn -0.236583 0.971611 -6.23897e-09 +vn -0.173084 0.984907 2.37354e-09 +vn -0.379703 0.925108 -2.44118e-09 +vn -0.526673 0.850068 0 +vn -0.217978 0.971775 -0.0902162 +vn -0.15959 0.984977 -0.0659615 +vn -0.350498 0.925312 -0.14474 +vn -0.48559 0.850653 -0.201474 +vn -0.166631 0.971838 -0.166631 +vn -0.121908 0.985026 -0.121908 +vn -0.267668 0.925585 -0.267668 +vn -0.371315 0.851029 -0.371315 +vn -0.0902162 0.971775 -0.217978 +vn -0.0659615 0.984977 -0.15959 +vn -0.14474 0.925312 -0.350498 +vn -0.201474 0.850653 -0.485589 +vn 6.16189e-09 0.971611 -0.236584 +vn -1.37744e-09 0.984907 -0.173084 +vn -2.79781e-10 0.925108 -0.379703 +vn -2.55497e-09 0.850068 -0.526673 +vn 0.0902162 0.971775 -0.217978 +vn 0.0659615 0.984977 -0.15959 +vn 0.14474 0.925312 -0.350498 +vn 0.201474 0.850653 -0.48559 +vn 0.166631 0.971838 -0.166631 +vn 0.121908 0.985026 -0.121908 +vn 0.267668 0.925585 -0.267668 +vn 0.371315 0.851029 -0.371315 +vn 0.217978 0.971775 -0.0902162 +vn 0.15959 0.984977 -0.0659615 +vn 0.350498 0.925312 -0.14474 +vn 0.48559 0.850653 -0.201474 + +f 7 6 1 +f 1 2 7 +f 8 7 2 +f 2 3 8 +f 9 8 3 +f 3 4 9 +f 10 9 4 +f 4 5 10 +f 12 11 6 +f 6 7 12 +f 13 12 7 +f 7 8 13 +f 14 13 8 +f 8 9 14 +f 15 14 9 +f 9 10 15 +f 17 16 11 +f 11 12 17 +f 18 17 12 +f 12 13 18 +f 19 18 13 +f 13 14 19 +f 20 19 14 +f 14 15 20 +f 22 21 16 +f 16 17 22 +f 23 22 17 +f 17 18 23 +f 24 23 18 +f 18 19 24 +f 25 24 19 +f 19 20 25 +f 27 26 21 +f 21 22 27 +f 28 27 22 +f 22 23 28 +f 29 28 23 +f 23 24 29 +f 30 29 24 +f 24 25 30 +f 32 31 26 +f 26 27 32 +f 33 32 27 +f 27 28 33 +f 34 33 28 +f 28 29 34 +f 35 34 29 +f 29 30 35 +f 37 36 31 +f 31 32 37 +f 38 37 32 +f 32 33 38 +f 39 38 33 +f 33 34 39 +f 40 39 34 +f 34 35 40 +f 42 41 36 +f 36 37 42 +f 43 42 37 +f 37 38 43 +f 44 43 38 +f 38 39 44 +f 45 44 39 +f 39 40 45 +f 47 46 41 +f 41 42 47 +f 48 47 42 +f 42 43 48 +f 49 48 43 +f 43 44 49 +f 50 49 44 +f 44 45 50 +f 52 51 46 +f 46 47 52 +f 53 52 47 +f 47 48 53 +f 54 53 48 +f 48 49 54 +f 55 54 49 +f 49 50 55 +f 57 56 51 +f 51 52 57 +f 58 57 52 +f 52 53 58 +f 59 58 53 +f 53 54 59 +f 60 59 54 +f 54 55 60 +f 62 61 56 +f 56 57 62 +f 63 62 57 +f 57 58 63 +f 64 63 58 +f 58 59 64 +f 65 64 59 +f 59 60 65 +f 67 66 61 +f 61 62 67 +f 68 67 62 +f 62 63 68 +f 69 68 63 +f 63 64 69 +f 70 69 64 +f 64 65 70 +f 72 71 66 +f 66 67 72 +f 73 72 67 +f 67 68 73 +f 74 73 68 +f 68 69 74 +f 75 74 69 +f 69 70 75 +f 77 76 71 +f 71 72 77 +f 78 77 72 +f 72 73 78 +f 79 78 73 +f 73 74 79 +f 80 79 74 +f 74 75 80 +f 2 1 76 +f 76 77 2 +f 3 2 77 +f 77 78 3 +f 4 3 78 +f 78 79 4 +f 5 4 79 +f 79 80 5 +f 85 10 5 +f 5 81 85 +f 86 85 81 +f 81 82 86 +f 87 86 82 +f 82 83 87 +f 88 87 83 +f 83 84 88 +f 89 15 10 +f 10 85 89 +f 90 89 85 +f 85 86 90 +f 91 90 86 +f 86 87 91 +f 92 91 87 +f 87 88 92 +f 93 20 15 +f 15 89 93 +f 94 93 89 +f 89 90 94 +f 95 94 90 +f 90 91 95 +f 96 95 91 +f 91 92 96 +f 97 25 20 +f 20 93 97 +f 98 97 93 +f 93 94 98 +f 99 98 94 +f 94 95 99 +f 100 99 95 +f 95 96 100 +f 101 30 25 +f 25 97 101 +f 102 101 97 +f 97 98 102 +f 103 102 98 +f 98 99 103 +f 104 103 99 +f 99 100 104 +f 105 35 30 +f 30 101 105 +f 106 105 101 +f 101 102 106 +f 107 106 102 +f 102 103 107 +f 108 107 103 +f 103 104 108 +f 109 40 35 +f 35 105 109 +f 110 109 105 +f 105 106 110 +f 111 110 106 +f 106 107 111 +f 112 111 107 +f 107 108 112 +f 113 45 40 +f 40 109 113 +f 114 113 109 +f 109 110 114 +f 115 114 110 +f 110 111 115 +f 116 115 111 +f 111 112 116 +f 117 50 45 +f 45 113 117 +f 118 117 113 +f 113 114 118 +f 119 118 114 +f 114 115 119 +f 120 119 115 +f 115 116 120 +f 121 55 50 +f 50 117 121 +f 122 121 117 +f 117 118 122 +f 123 122 118 +f 118 119 123 +f 124 123 119 +f 119 120 124 +f 125 60 55 +f 55 121 125 +f 126 125 121 +f 121 122 126 +f 127 126 122 +f 122 123 127 +f 128 127 123 +f 123 124 128 +f 129 65 60 +f 60 125 129 +f 130 129 125 +f 125 126 130 +f 131 130 126 +f 126 127 131 +f 132 131 127 +f 127 128 132 +f 133 70 65 +f 65 129 133 +f 134 133 129 +f 129 130 134 +f 135 134 130 +f 130 131 135 +f 136 135 131 +f 131 132 136 +f 137 75 70 +f 70 133 137 +f 138 137 133 +f 133 134 138 +f 139 138 134 +f 134 135 139 +f 140 139 135 +f 135 136 140 +f 141 80 75 +f 75 137 141 +f 142 141 137 +f 137 138 142 +f 143 142 138 +f 138 139 143 +f 144 143 139 +f 139 140 144 +f 81 5 80 +f 80 141 81 +f 82 81 141 +f 141 142 82 +f 83 82 142 +f 142 143 83 +f 84 83 143 +f 143 144 84 +f 149 88 84 +f 84 145 149 +f 150 149 145 +f 145 146 150 +f 151 150 146 +f 146 147 151 +f 152 151 147 +f 147 148 152 +f 153 92 88 +f 88 149 153 +f 154 153 149 +f 149 150 154 +f 155 154 150 +f 150 151 155 +f 156 155 151 +f 151 152 156 +f 157 96 92 +f 92 153 157 +f 158 157 153 +f 153 154 158 +f 159 158 154 +f 154 155 159 +f 160 159 155 +f 155 156 160 +f 161 100 96 +f 96 157 161 +f 162 161 157 +f 157 158 162 +f 163 162 158 +f 158 159 163 +f 164 163 159 +f 159 160 164 +f 165 104 100 +f 100 161 165 +f 166 165 161 +f 161 162 166 +f 167 166 162 +f 162 163 167 +f 168 167 163 +f 163 164 168 +f 169 108 104 +f 104 165 169 +f 170 169 165 +f 165 166 170 +f 171 170 166 +f 166 167 171 +f 172 171 167 +f 167 168 172 +f 173 112 108 +f 108 169 173 +f 174 173 169 +f 169 170 174 +f 175 174 170 +f 170 171 175 +f 176 175 171 +f 171 172 176 +f 177 116 112 +f 112 173 177 +f 178 177 173 +f 173 174 178 +f 179 178 174 +f 174 175 179 +f 180 179 175 +f 175 176 180 +f 181 120 116 +f 116 177 181 +f 182 181 177 +f 177 178 182 +f 183 182 178 +f 178 179 183 +f 184 183 179 +f 179 180 184 +f 185 124 120 +f 120 181 185 +f 186 185 181 +f 181 182 186 +f 187 186 182 +f 182 183 187 +f 188 187 183 +f 183 184 188 +f 189 128 124 +f 124 185 189 +f 190 189 185 +f 185 186 190 +f 191 190 186 +f 186 187 191 +f 192 191 187 +f 187 188 192 +f 193 132 128 +f 128 189 193 +f 194 193 189 +f 189 190 194 +f 195 194 190 +f 190 191 195 +f 196 195 191 +f 191 192 196 +f 197 136 132 +f 132 193 197 +f 198 197 193 +f 193 194 198 +f 199 198 194 +f 194 195 199 +f 200 199 195 +f 195 196 200 +f 201 140 136 +f 136 197 201 +f 202 201 197 +f 197 198 202 +f 203 202 198 +f 198 199 203 +f 204 203 199 +f 199 200 204 +f 205 144 140 +f 140 201 205 +f 206 205 201 +f 201 202 206 +f 207 206 202 +f 202 203 207 +f 208 207 203 +f 203 204 208 +f 145 84 144 +f 144 205 145 +f 146 145 205 +f 205 206 146 +f 147 146 206 +f 206 207 147 +f 148 147 207 +f 207 208 148 +f 213 152 148 +f 148 209 213 +f 214 213 209 +f 209 210 214 +f 215 214 210 +f 210 211 215 +f 212 215 211 +f 211 212 212 +f 216 156 152 +f 152 213 216 +f 217 216 213 +f 213 214 217 +f 218 217 214 +f 214 215 218 +f 212 218 215 +f 215 212 212 +f 219 160 156 +f 156 216 219 +f 220 219 216 +f 216 217 220 +f 221 220 217 +f 217 218 221 +f 212 221 218 +f 218 212 212 +f 222 164 160 +f 160 219 222 +f 223 222 219 +f 219 220 223 +f 224 223 220 +f 220 221 224 +f 212 224 221 +f 221 212 212 +f 225 168 164 +f 164 222 225 +f 226 225 222 +f 222 223 226 +f 227 226 223 +f 223 224 227 +f 212 227 224 +f 224 212 212 +f 228 172 168 +f 168 225 228 +f 229 228 225 +f 225 226 229 +f 230 229 226 +f 226 227 230 +f 212 230 227 +f 227 212 212 +f 231 176 172 +f 172 228 231 +f 232 231 228 +f 228 229 232 +f 233 232 229 +f 229 230 233 +f 212 233 230 +f 230 212 212 +f 234 180 176 +f 176 231 234 +f 235 234 231 +f 231 232 235 +f 236 235 232 +f 232 233 236 +f 212 236 233 +f 233 212 212 +f 237 184 180 +f 180 234 237 +f 238 237 234 +f 234 235 238 +f 239 238 235 +f 235 236 239 +f 212 239 236 +f 236 212 212 +f 240 188 184 +f 184 237 240 +f 241 240 237 +f 237 238 241 +f 242 241 238 +f 238 239 242 +f 212 242 239 +f 239 212 212 +f 243 192 188 +f 188 240 243 +f 244 243 240 +f 240 241 244 +f 245 244 241 +f 241 242 245 +f 212 245 242 +f 242 212 212 +f 246 196 192 +f 192 243 246 +f 247 246 243 +f 243 244 247 +f 248 247 244 +f 244 245 248 +f 212 248 245 +f 245 212 212 +f 249 200 196 +f 196 246 249 +f 250 249 246 +f 246 247 250 +f 251 250 247 +f 247 248 251 +f 212 251 248 +f 248 212 212 +f 252 204 200 +f 200 249 252 +f 253 252 249 +f 249 250 253 +f 254 253 250 +f 250 251 254 +f 212 254 251 +f 251 212 212 +f 255 208 204 +f 204 252 255 +f 256 255 252 +f 252 253 256 +f 257 256 253 +f 253 254 257 +f 212 257 254 +f 254 212 212 +f 209 148 208 +f 208 255 209 +f 210 209 255 +f 255 256 210 +f 211 210 256 +f 256 257 211 +f 212 211 257 +f 257 212 212 +f 264 263 258 +f 258 259 264 +f 265 264 259 +f 259 260 265 +f 266 265 260 +f 260 261 266 +f 267 266 261 +f 261 262 267 +f 269 268 263 +f 263 264 269 +f 270 269 264 +f 264 265 270 +f 271 270 265 +f 265 266 271 +f 272 271 266 +f 266 267 272 +f 274 273 268 +f 268 269 274 +f 275 274 269 +f 269 270 275 +f 276 275 270 +f 270 271 276 +f 277 276 271 +f 271 272 277 +f 279 278 273 +f 273 274 279 +f 280 279 274 +f 274 275 280 +f 281 280 275 +f 275 276 281 +f 282 281 276 +f 276 277 282 +f 284 283 278 +f 278 279 284 +f 285 284 279 +f 279 280 285 +f 286 285 280 +f 280 281 286 +f 287 286 281 +f 281 282 287 +f 289 288 283 +f 283 284 289 +f 290 289 284 +f 284 285 290 +f 291 290 285 +f 285 286 291 +f 292 291 286 +f 286 287 292 +f 294 293 288 +f 288 289 294 +f 295 294 289 +f 289 290 295 +f 296 295 290 +f 290 291 296 +f 297 296 291 +f 291 292 297 +f 259 258 293 +f 293 294 259 +f 260 259 294 +f 294 295 260 +f 261 260 295 +f 295 296 261 +f 262 261 296 +f 296 297 262 +f 302 267 262 +f 262 298 302 +f 303 302 298 +f 298 299 303 +f 304 303 299 +f 299 300 304 +f 305 304 300 +f 300 301 305 +f 306 272 267 +f 267 302 306 +f 307 306 302 +f 302 303 307 +f 308 307 303 +f 303 304 308 +f 309 308 304 +f 304 305 309 +f 310 277 272 +f 272 306 310 +f 311 310 306 +f 306 307 311 +f 312 311 307 +f 307 308 312 +f 313 312 308 +f 308 309 313 +f 314 282 277 +f 277 310 314 +f 315 314 310 +f 310 311 315 +f 316 315 311 +f 311 312 316 +f 317 316 312 +f 312 313 317 +f 318 287 282 +f 282 314 318 +f 319 318 314 +f 314 315 319 +f 320 319 315 +f 315 316 320 +f 321 320 316 +f 316 317 321 +f 322 292 287 +f 287 318 322 +f 323 322 318 +f 318 319 323 +f 324 323 319 +f 319 320 324 +f 325 324 320 +f 320 321 325 +f 326 297 292 +f 292 322 326 +f 327 326 322 +f 322 323 327 +f 328 327 323 +f 323 324 328 +f 329 328 324 +f 324 325 329 +f 298 262 297 +f 297 326 298 +f 299 298 326 +f 326 327 299 +f 300 299 327 +f 327 328 300 +f 301 300 328 +f 328 329 301 +f 336 335 330 +f 330 331 336 +f 337 336 331 +f 331 332 337 +f 338 337 332 +f 332 333 338 +f 339 338 333 +f 333 334 339 +f 341 340 335 +f 335 336 341 +f 342 341 336 +f 336 337 342 +f 343 342 337 +f 337 338 343 +f 344 343 338 +f 338 339 344 +f 346 345 340 +f 340 341 346 +f 347 346 341 +f 341 342 347 +f 348 347 342 +f 342 343 348 +f 349 348 343 +f 343 344 349 +f 351 350 345 +f 345 346 351 +f 352 351 346 +f 346 347 352 +f 353 352 347 +f 347 348 353 +f 354 353 348 +f 348 349 354 +f 356 355 350 +f 350 351 356 +f 357 356 351 +f 351 352 357 +f 358 357 352 +f 352 353 358 +f 359 358 353 +f 353 354 359 +f 361 360 355 +f 355 356 361 +f 362 361 356 +f 356 357 362 +f 363 362 357 +f 357 358 363 +f 364 363 358 +f 358 359 364 +f 366 365 360 +f 360 361 366 +f 367 366 361 +f 361 362 367 +f 368 367 362 +f 362 363 368 +f 369 368 363 +f 363 364 369 +f 331 330 365 +f 365 366 331 +f 332 331 366 +f 366 367 332 +f 333 332 367 +f 367 368 333 +f 334 333 368 +f 368 369 334 +f 374 339 334 +f 334 370 374 +f 375 374 370 +f 370 371 375 +f 376 375 371 +f 371 372 376 +f 377 376 372 +f 372 373 377 +f 378 344 339 +f 339 374 378 +f 379 378 374 +f 374 375 379 +f 380 379 375 +f 375 376 380 +f 381 380 376 +f 376 377 381 +f 382 349 344 +f 344 378 382 +f 383 382 378 +f 378 379 383 +f 384 383 379 +f 379 380 384 +f 385 384 380 +f 380 381 385 +f 386 354 349 +f 349 382 386 +f 387 386 382 +f 382 383 387 +f 388 387 383 +f 383 384 388 +f 389 388 384 +f 384 385 389 +f 390 359 354 +f 354 386 390 +f 391 390 386 +f 386 387 391 +f 392 391 387 +f 387 388 392 +f 393 392 388 +f 388 389 393 +f 394 364 359 +f 359 390 394 +f 395 394 390 +f 390 391 395 +f 396 395 391 +f 391 392 396 +f 397 396 392 +f 392 393 397 +f 398 369 364 +f 364 394 398 +f 399 398 394 +f 394 395 399 +f 400 399 395 +f 395 396 400 +f 401 400 396 +f 396 397 401 +f 370 334 369 +f 369 398 370 +f 371 370 398 +f 398 399 371 +f 372 371 399 +f 399 400 372 +f 373 372 400 +f 400 401 373 +f 407 402 402 +f 402 403 407 +f 408 407 403 +f 403 404 408 +f 409 408 404 +f 404 405 409 +f 410 409 405 +f 405 406 410 +f 411 402 402 +f 402 407 411 +f 412 411 407 +f 407 408 412 +f 413 412 408 +f 408 409 413 +f 414 413 409 +f 409 410 414 +f 415 402 402 +f 402 411 415 +f 416 415 411 +f 411 412 416 +f 417 416 412 +f 412 413 417 +f 418 417 413 +f 413 414 418 +f 419 402 402 +f 402 415 419 +f 420 419 415 +f 415 416 420 +f 421 420 416 +f 416 417 421 +f 422 421 417 +f 417 418 422 +f 423 402 402 +f 402 419 423 +f 424 423 419 +f 419 420 424 +f 425 424 420 +f 420 421 425 +f 426 425 421 +f 421 422 426 +f 427 402 402 +f 402 423 427 +f 428 427 423 +f 423 424 428 +f 429 428 424 +f 424 425 429 +f 430 429 425 +f 425 426 430 +f 431 402 402 +f 402 427 431 +f 432 431 427 +f 427 428 432 +f 433 432 428 +f 428 429 433 +f 434 433 429 +f 429 430 434 +f 435 402 402 +f 402 431 435 +f 436 435 431 +f 431 432 436 +f 437 436 432 +f 432 433 437 +f 438 437 433 +f 433 434 438 +f 439 402 402 +f 402 435 439 +f 440 439 435 +f 435 436 440 +f 441 440 436 +f 436 437 441 +f 442 441 437 +f 437 438 442 +f 443 402 402 +f 402 439 443 +f 444 443 439 +f 439 440 444 +f 445 444 440 +f 440 441 445 +f 446 445 441 +f 441 442 446 +f 447 402 402 +f 402 443 447 +f 448 447 443 +f 443 444 448 +f 449 448 444 +f 444 445 449 +f 450 449 445 +f 445 446 450 +f 451 402 402 +f 402 447 451 +f 452 451 447 +f 447 448 452 +f 453 452 448 +f 448 449 453 +f 454 453 449 +f 449 450 454 +f 455 402 402 +f 402 451 455 +f 456 455 451 +f 451 452 456 +f 457 456 452 +f 452 453 457 +f 458 457 453 +f 453 454 458 +f 459 402 402 +f 402 455 459 +f 460 459 455 +f 455 456 460 +f 461 460 456 +f 456 457 461 +f 462 461 457 +f 457 458 462 +f 463 402 402 +f 402 459 463 +f 464 463 459 +f 459 460 464 +f 465 464 460 +f 460 461 465 +f 466 465 461 +f 461 462 466 +f 403 402 402 +f 402 463 403 +f 404 403 463 +f 463 464 404 +f 405 404 464 +f 464 465 405 +f 406 405 465 +f 465 466 406 +f 471 410 406 +f 406 467 471 +f 472 471 467 +f 467 468 472 +f 473 472 468 +f 468 469 473 +f 474 473 469 +f 469 470 474 +f 475 414 410 +f 410 471 475 +f 476 475 471 +f 471 472 476 +f 477 476 472 +f 472 473 477 +f 478 477 473 +f 473 474 478 +f 479 418 414 +f 414 475 479 +f 480 479 475 +f 475 476 480 +f 481 480 476 +f 476 477 481 +f 482 481 477 +f 477 478 482 +f 483 422 418 +f 418 479 483 +f 484 483 479 +f 479 480 484 +f 485 484 480 +f 480 481 485 +f 486 485 481 +f 481 482 486 +f 487 426 422 +f 422 483 487 +f 488 487 483 +f 483 484 488 +f 489 488 484 +f 484 485 489 +f 490 489 485 +f 485 486 490 +f 491 430 426 +f 426 487 491 +f 492 491 487 +f 487 488 492 +f 493 492 488 +f 488 489 493 +f 494 493 489 +f 489 490 494 +f 495 434 430 +f 430 491 495 +f 496 495 491 +f 491 492 496 +f 497 496 492 +f 492 493 497 +f 498 497 493 +f 493 494 498 +f 499 438 434 +f 434 495 499 +f 500 499 495 +f 495 496 500 +f 501 500 496 +f 496 497 501 +f 502 501 497 +f 497 498 502 +f 503 442 438 +f 438 499 503 +f 504 503 499 +f 499 500 504 +f 505 504 500 +f 500 501 505 +f 506 505 501 +f 501 502 506 +f 507 446 442 +f 442 503 507 +f 508 507 503 +f 503 504 508 +f 509 508 504 +f 504 505 509 +f 510 509 505 +f 505 506 510 +f 511 450 446 +f 446 507 511 +f 512 511 507 +f 507 508 512 +f 513 512 508 +f 508 509 513 +f 514 513 509 +f 509 510 514 +f 515 454 450 +f 450 511 515 +f 516 515 511 +f 511 512 516 +f 517 516 512 +f 512 513 517 +f 518 517 513 +f 513 514 518 +f 519 458 454 +f 454 515 519 +f 520 519 515 +f 515 516 520 +f 521 520 516 +f 516 517 521 +f 522 521 517 +f 517 518 522 +f 523 462 458 +f 458 519 523 +f 524 523 519 +f 519 520 524 +f 525 524 520 +f 520 521 525 +f 526 525 521 +f 521 522 526 +f 527 466 462 +f 462 523 527 +f 528 527 523 +f 523 524 528 +f 529 528 524 +f 524 525 529 +f 530 529 525 +f 525 526 530 +f 467 406 466 +f 466 527 467 +f 468 467 527 +f 527 528 468 +f 469 468 528 +f 528 529 469 +f 470 469 529 +f 529 530 470 diff --git a/obj/two_boxes.obj b/obj/two_boxes.obj new file mode 100644 index 0000000..fc5eef2 --- /dev/null +++ b/obj/two_boxes.obj @@ -0,0 +1,57 @@ +# This file uses centimeters as units for non-parametric coordinates. + +v -0.500000 0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v -0.500000 1.500000 0.500000 +v 0.500000 1.500000 0.500000 +v -0.500000 1.500000 -0.500000 +v 0.500000 1.500000 -0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 1.500000 +v 1.500000 -0.500000 1.500000 +v 0.500000 0.500000 1.500000 +v 1.500000 0.500000 1.500000 +v 1.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 1.500000 -0.500000 0.500000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vt 0.875000 0.000000 +vt 0.875000 0.250000 +vt 0.125000 0.000000 +vt 0.125000 0.250000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.875000 0.000000 +vt 0.875000 0.250000 +vt 0.125000 0.000000 +vt 0.125000 0.250000 +f 1/1 2/2 4/4 3/3 +f 3/3 4/4 6/6 5/5 +f 5/5 6/6 8/8 7/7 +f 7/7 8/8 2/10 1/9 +f 2/2 8/11 6/12 4/4 +f 7/13 1/1 3/3 5/14 +f 9/15 10/16 12/17 11/18 +f 11/18 12/17 13/19 2/20 +f 2/20 13/19 15/21 14/22 +f 14/22 15/21 10/23 9/24 +f 10/16 15/25 13/26 12/17 +f 14/27 9/15 11/18 2/28 diff --git a/obj/two_boxes_bad_form.obj b/obj/two_boxes_bad_form.obj new file mode 100644 index 0000000..0593c9d --- /dev/null +++ b/obj/two_boxes_bad_form.obj @@ -0,0 +1,57 @@ +# This file uses centimeters as units for non-parametric coordinates. + +v -0.500000 0.500000 0.500000 +v -0.126683 1.189065 0.767661 +v -0.500000 1.500000 0.500000 +v 0.500000 1.500000 0.500000 +v -0.500000 1.500000 -0.500000 +v 0.500000 1.500000 -0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 1.500000 +v 1.500000 -0.500000 1.500000 +v 0.500000 0.500000 1.500000 +v 1.500000 0.500000 1.500000 +v 1.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 1.500000 -0.500000 0.500000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vt 0.875000 0.000000 +vt 0.875000 0.250000 +vt 0.125000 0.000000 +vt 0.125000 0.250000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.875000 0.000000 +vt 0.875000 0.250000 +vt 0.125000 0.000000 +vt 0.125000 0.250000 +f 1/1 2/2 4/4 3/3 +f 3/3 4/4 6/6 5/5 +f 5/5 6/6 8/8 7/7 +f 7/7 8/8 2/10 1/9 +f 2/2 8/11 6/12 4/4 +f 7/13 1/1 3/3 5/14 +f 9/15 10/16 12/17 11/18 +f 11/18 12/17 13/19 2/20 +f 2/20 13/19 15/21 14/22 +f 14/22 15/21 10/23 9/24 +f 10/16 15/25 13/26 12/17 +f 14/27 9/15 11/18 2/28 diff --git a/obj/two_boxes_bad_form_2.obj b/obj/two_boxes_bad_form_2.obj new file mode 100644 index 0000000..3319887 --- /dev/null +++ b/obj/two_boxes_bad_form_2.obj @@ -0,0 +1,57 @@ +# This file uses centimeters as units for non-parametric coordinates. + +v -0.500000 0.500000 1.410815 +v -0.126683 1.189065 0.767661 +v -0.500000 1.500000 0.500000 +v 0.500000 1.500000 1.646091 +v -0.500000 1.500000 -0.500000 +v 1.684732 1.500000 -0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 0.042936 -0.500000 +v 0.500000 -0.500000 1.500000 +v 1.500000 -0.500000 1.500000 +v -1.185403 0.500000 1.500000 +v 1.500000 0.500000 1.500000 +v 1.500000 0.500000 0.500000 +v -0.908913 -0.500000 0.500000 +v 1.500000 -1.425600 0.500000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vt 0.875000 0.000000 +vt 0.875000 0.250000 +vt 0.125000 0.000000 +vt 0.125000 0.250000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.875000 0.000000 +vt 0.875000 0.250000 +vt 0.125000 0.000000 +vt 0.125000 0.250000 +f 1/1 2/2 4/4 3/3 +f 3/3 4/4 6/6 5/5 +f 5/5 6/6 8/8 7/7 +f 7/7 8/8 2/10 1/9 +f 2/2 8/11 6/12 4/4 +f 7/13 1/1 3/3 5/14 +f 9/15 10/16 12/17 11/18 +f 11/18 12/17 13/19 2/20 +f 2/20 13/19 15/21 14/22 +f 14/22 15/21 10/23 9/24 +f 10/16 15/25 13/26 12/17 +f 14/27 9/15 11/18 2/28 From 8ec744867c478bb298cd2107a5cf8b731becb38a Mon Sep 17 00:00:00 2001 From: hasufell Date: Fri, 16 May 2014 15:09:27 +0200 Subject: [PATCH 3/5] Remove obsolete usleep call in gl_draw.c --- src/gl_draw.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gl_draw.c b/src/gl_draw.c index 27758f2..91b27de 100644 --- a/src/gl_draw.c +++ b/src/gl_draw.c @@ -482,7 +482,6 @@ void animate() day = 0; } - usleep(30000); /* some very basic VScny to see the movement better */ glutPostRedisplay(); } From 29f06e91f4b099a817d2cf47aec21a55a69b022c Mon Sep 17 00:00:00 2001 From: hasufell Date: Fri, 16 May 2014 19:04:22 +0200 Subject: [PATCH 4/5] Add testcube .obj for non-trivial normals --- obj/testcube2_mitSpitze_offen.obj | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 obj/testcube2_mitSpitze_offen.obj diff --git a/obj/testcube2_mitSpitze_offen.obj b/obj/testcube2_mitSpitze_offen.obj new file mode 100644 index 0000000..713d686 --- /dev/null +++ b/obj/testcube2_mitSpitze_offen.obj @@ -0,0 +1,22 @@ +v -1.0 0.000000 1.0 +v 1.0 0.000000 1.0 +v -1.0 1.0 1.0 +v 1.0 1.0 1.0 +v -1.0 1.0 -1.0 +v 1.0 1.0 -1.0 +v -1.0 0.000000 -1.0 +v 1.0 0.000000 -1.0 +v -1.0 -2.000000 1.0 +v -1.0 -2.000000 -1.0 +v 1.0 -2.000000 -1.0 +v 1.0 -2.000000 1.0 +v 0.0 2.0 0.0 +f 1 2 4 3 +f 5 6 8 7 +f 2 8 6 4 +f 7 1 3 5 +f 4 6 13 +f 6 5 13 +f 12 11 8 2 +f 1 7 10 9 +f 7 8 11 10 From f62e280ceace157b57003ec2112630a54b9fed18 Mon Sep 17 00:00:00 2001 From: hasufell Date: Fri, 16 May 2014 19:04:38 +0200 Subject: [PATCH 5/5] Reimplement dummy-edge logic This will also work for more complex structures such as testscube2_mitSpitze_offen.obj. --- src/half_edge.c | 71 ++++++++++++++++++++++++++++++++----------------- src/half_edge.h | 12 +++++++++ 2 files changed, 59 insertions(+), 24 deletions(-) diff --git a/src/half_edge.c b/src/half_edge.c index f464537..3d7ff7b 100644 --- a/src/half_edge.c +++ b/src/half_edge.c @@ -155,8 +155,10 @@ bool vec_normal(HE_vert const * const vert, vector *vec) for (uint32_t i = 0; i < ec; i++) { vector new_vec; - FACE_NORMAL(edge_array[i], &new_vec); - ADD_VECTORS(vec, &new_vec, vec); + if (edge_array[i]->face) { + FACE_NORMAL(edge_array[i], &new_vec); + ADD_VECTORS(vec, &new_vec, vec); + } } /* normalize the result */ @@ -272,7 +274,8 @@ HE_obj *parse_obj(char const * const obj_string) { uint32_t vc = 0, /* vertices count */ fc = 0, /* face count */ - ec = 0; /* edge count */ + ec = 0, /* edge count */ + dec = 0; /* dummy edge count */ char *string, *str_ptr_space = NULL, /* for strtok */ *str_ptr_newline = NULL, /* for strtok */ @@ -324,6 +327,7 @@ HE_obj *parse_obj(char const * const obj_string) vertices[vc].edge = NULL; vertices[vc].edge_array = NULL; vertices[vc].eac = 0; + vertices[vc].dc = 0; /* allocate color struct and set preliminary colors */ vertices[vc].col = malloc(sizeof(color)); @@ -379,6 +383,7 @@ HE_obj *parse_obj(char const * const obj_string) edges[ec].face = &(faces[i]); edges[ec].pair = NULL; /* preliminary */ vertices[fv_arr_id].edge = &(edges[ec]); /* last one wins */ + vertices[fv_arr_id].dummys = NULL; /* preliminary */ /* Skip j == 0 here, so we don't underrun the arrays, * since we always look one edge back. The first edge @@ -430,34 +435,48 @@ HE_obj *parse_obj(char const * const obj_string) edges[i].pair = edges[i].vert->edge_array[j]; edges[i].vert->edge_array[j] = NULL; - /* this is a trick to make sure the - * edge member of HE_vert is never - * a border-edge (unless there are only - * border edges), otherwise - * get_all_emanating_edges() would break - * for vertices that are at the edge - * of an open object */ - edges[i].vert->edge = &(edges[i]); - pair_found = true; break; } } - if (!pair_found) { /* we have a border edge */ - /* add dummy edge, so get_all_emanating_edges() - * does not break */ - edges[ec + i].face = NULL; - edges[ec + i].next = NULL; - edges[ec + i].pair = &(edges[i]); - edges[ec + i].vert = edges[i].next->vert; - edges[i].pair = &(edges[ec + i]); + /* create dummy pair edge if we have a border edge */ + if (!pair_found) { + uint32_t *vert_dc = &(edges[i].next->vert->dc); + + REALLOC(edges[i].next->vert->dummys, + sizeof(HE_edge*) * (*vert_dc + 1)); + + /* NULL-face indicates border-edge */ + edges[ec + dec].face = NULL; + /* we don't know this one yet */ + edges[ec + dec].next = NULL; + /* set both pairs */ + edges[ec + dec].pair = &(edges[i]); + edges[i].pair = &(edges[ec + dec]); + /* set vertex */ + edges[ec + dec].vert = edges[i].next->vert; + /* add the dummy edge to the dummys array of the vertex */ + edges[ec + dec].vert->dummys[*vert_dc] = &(edges[ec + dec]); + (*vert_dc)++; + + dec++; + } + } + + /* now we have to connect the dummy edges together */ + for (uint32_t i = 0; i < dec; i++) { /* for all dummy edges */ + /* vertex the dummy edge points to */ + HE_vert *vert = edges[ec + i].pair->vert; + + /* iterate over the dummy array */ + for (uint32_t j = 0; j < vert->dc; j++) { + if (vert == vert->dummys[j]->vert) + edges[ec + i].next = vert->dummys[j]; + j++; } } - /* don't need the edge array anymore */ - for (uint32_t i = 0; i < vc; i++) - free(vertices[i].edge_array); obj = (HE_obj*) malloc(sizeof(HE_obj)); CHECK_PTR_VAL(obj); @@ -469,10 +488,14 @@ HE_obj *parse_obj(char const * const obj_string) obj->vc = vc; obj->fc = fc; - free(string); for (uint32_t i = 0; i < fc; i++) free(face_v[i]); free(face_v); + for (uint32_t i = 0; i < vc; i++) { + free(vertices[i].dummys); + free(vertices[i].edge_array); + } + free(string); return obj; } diff --git a/src/half_edge.h b/src/half_edge.h index aa9530f..13ef50c 100644 --- a/src/half_edge.h +++ b/src/half_edge.h @@ -149,11 +149,23 @@ struct HE_vert { */ HE_edge **edge_array; + /** + * Similar as the edge_array acceleration structure, + * except that it is used for connecting the + * dummy edges. + */ + HE_edge **dummys; + /** * Element count of the edge_array. */ uint32_t eac; + /** + * Element count of dummys. + */ + uint32_t dc; + /** * Color of the vertex. */