From 2c087a6a1ce8cb7ebc48f2a41ef1d99d276879ea Mon Sep 17 00:00:00 2001 From: Florian Stecker Date: Mon, 23 Dec 2019 12:29:50 +0100 Subject: [PATCH] draw arcs --- hyperbolic.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/hyperbolic.c b/hyperbolic.c index 53c2450..1c0ee19 100644 --- a/hyperbolic.c +++ b/hyperbolic.c @@ -191,7 +191,7 @@ int main() gsl_matrix *coxeter_eigenvectors[3]; gsl_matrix *frame; workspace_t *ws; - int elements = 5000; + int elements = 100; int p = 5, q = 5, r = 5; group = malloc(elements*sizeof(groupelement_t)); @@ -229,13 +229,18 @@ int main() point coxeter_attracting[3]; point coxeter_repelling[3]; + point coxeter_axes[3]; + point edge_midpoints[3]; point reflection_lines[3]; point triangle_points[3]; point transformed[3]; point transformed2[3]; + point transformed3[3]; LOOP(i) coxeter_attracting[i] = column(coxeter_eigenvectors[i], 0); LOOP(i) coxeter_repelling[i] = column(coxeter_eigenvectors[i], 2); + LOOP(i) coxeter_axes[i] = incidence(coxeter_attracting[i], coxeter_repelling[i]); + LOOP(i) edge_midpoints[i] = incidence(coxeter_axes[(i+1)%3], coxeter_axes[(i+2)%3]); LOOP(i) reflection_lines[i] = row(cartan, i); LOOP(i) triangle_points[i] = incidence(reflection_lines[(i+1)%3], reflection_lines[(i+2)%3]); @@ -252,13 +257,15 @@ int main() draw_triangle(transformed, frame, "black,fill=black!10,line width=0pt"); } - for(int k = 0; k < elements; k++) { + for(int k = 0; k < 10; k++) { if(group[k].length % 2) continue; - LOOP(i) transformed[i] = apply(matrices[k], coxeter_attracting[i]); + LOOP(i) transformed[i] = apply(matrices[k], edge_midpoints[(i+2)%3]); LOOP(i) transformed2[i] = apply(matrices[k], coxeter_repelling[i]); - LOOP(i) draw_line(transformed[i], transformed2[i], frame, "red"); + LOOP(i) transformed3[i] = apply(matrices[k], coxeter_repelling[(i+1)%3]); + draw_line(transformed[1], transformed2[1], frame, "red"); + draw_line(transformed[1], transformed3[1], frame, "red"); } print_tex_footer();