#include #include "vertex.h" #include "math.h" void chapter1() { // Initialize our chapter 1 polygon struct Vertex *v0 = new_vertex(0, 0, 0); struct Vertex *v1 = new_vertex(1, 10, 7); struct Vertex *v2 = new_vertex(2, 12, 3); struct Vertex *v3 = new_vertex(3, 20, 8); struct Vertex *v4 = new_vertex(4, 13, 17); struct Vertex *v5 = new_vertex(5, 10, 12); struct Vertex *v6 = new_vertex(6, 12, 14); struct Vertex *v7 = new_vertex(7, 14, 9); struct Vertex *v8 = new_vertex(8, 8, 10); struct Vertex *v9 = new_vertex(9, 6, 14); struct Vertex *v10 = new_vertex(10, 10, 15); struct Vertex *v11 = new_vertex(11, 7, 18); struct Vertex *v12 = new_vertex(12, 0, 16); struct Vertex *v13 = new_vertex(13, 1, 13); struct Vertex *v14 = new_vertex(14, 3, 15); struct Vertex *v15 = new_vertex(15, 5, 8); struct Vertex *v16 = new_vertex(16, -2, 9); struct Vertex *v17 = new_vertex(17, 5, 5); add_vertex(v0, v0, v1); add_vertex(v0, v1, v2); add_vertex(v0, v2, v3); add_vertex(v0, v3, v4); add_vertex(v0, v4, v5); add_vertex(v0, v5, v6); add_vertex(v0, v6, v7); add_vertex(v0, v7, v8); add_vertex(v0, v8, v9); add_vertex(v0, v9, v10); add_vertex(v0, v10, v11); add_vertex(v0, v11, v12); add_vertex(v0, v12, v13); add_vertex(v0, v13, v14); add_vertex(v0, v14, v15); add_vertex(v0, v15, v16); add_vertex(v0, v16, v17); init_ear(v0); print_polygon(v0); triangulate(v0); free_polygon(&v0); } int main() { chapter1(); return 0; }