|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#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;
|
|
|
|
}
|