4 #include "./triangle.h"
6 triangle_t triangle(point_t p1, point_t p2, point_t p3)
8 const triangle_t result = {
17 triangle_t equilateral_triangle(point_t position, float radius, float angle)
19 const float d = PI_2 / 3.0f;
21 const triangle_t result = {
22 .p1 = vec_sum(position, vec(cosf(0.0f + angle) * radius, sinf(0.0f + angle) * radius)),
23 .p2 = vec_sum(position, vec(cosf(d + angle) * radius, sinf(d + angle) * radius)),
24 .p3 = vec_sum(position, vec(cosf(2.0f * d + angle) * radius, sinf(2.0f * d + angle) * radius))
30 static void swap_points(point_t *p1, point_t *p2)
37 triangle_t triangle_sorted_by_y(triangle_t t)
39 if (t.p1.y > t.p2.y) { swap_points(&t.p1, &t.p2); }
40 if (t.p2.y > t.p3.y) { swap_points(&t.p2, &t.p3); }
41 if (t.p1.y > t.p2.y) { swap_points(&t.p1, &t.p2); }