diff --git a/src/graphics/arrows.c b/src/graphics/arrows.c index c46c9da..1a89c6f 100644 --- a/src/graphics/arrows.c +++ b/src/graphics/arrows.c @@ -165,49 +165,22 @@ void arrows_write_basis(long offset) } -static void show_one_arrow_data_1(int offset_vertex, int offset_colors, - int space_X, int space_Y, int space_Z, - int weight, int site, int x, int y, int z) -{ - printf("offset_vertex = %d offset_colors = %d weight = %d site = %d x,y,z = (%d,%d,%d)\n",\ - offset_vertex, offset_colors, weight, site, x, y, z); -} - -static void show_one_arrow_data_2(int offset_vertex, int max, int uxi, int uyi, int uzi, - int ux, int uy, int uz, float vx, float vy, float vz) -{ - printf("offset_vertex = %d (x3 = %d) max = %d\n\ - xi = %d yi = %d zi = %d\n\ - ux = %d uy = %d uz = %d\n\ - vx = %6.3f vy = %6.3f vz = %6.3f\n",\ - offset_vertex, offset_vertex * 3, max, ux, uy, uz, vx, vy, vz); -} - - /******************************************************************************/ void write_one_arrow(int offset_vertex, int offset_colors, int offset_lines, int space_X_int, int space_Y_int, int space_Z_int, - int weight, int site, int x, int y, int z) + int weight, int site, int arrow_x, int arrow_y, int arrow_z) { - // show_one_arrow_data_1 (offset_vertex, offset_colors, space_X, space_Y, space_Z, weight, site, x, y, z); - float space_X = space_X_int, space_Y = space_Y_int, space_Z = space_Z_int; + float max = fmax(space_X, space_Y); max = fmax(max, space_Z); - int uxi = (2 * x) / space_X_int, - uyi = (2 * y) / space_Y_int, - uzi = (2 * z) / space_Z_int; + float i = arrow_x, j = arrow_y, k = arrow_z; - int ux = uxi, uy = uyi, uz = uzi; - - float vx = (ux - 1) * (space_X / max) + (1.0f / max), - vy = (uy - 1) * (space_Y / max) + (1.0f / max), - vz = (uz - 1) * (space_Z / max) + (1.0f / max); - - show_one_arrow_data_2 (offset_vertex, max, - uxi, uyi, uzi, ux, uy, uz, vx, vy, vz); + float vx = (2 * i / space_X - 1) * space_X / max + (1 / max), + vy = (2 * j / space_Y - 1) * space_Y / max + (1 / max), + vz = (2 * k / space_Z - 1) * space_Z / max + (1 / max); // arrow_basis_width donne la dimension de l'étoile centrale GLfloat arrow_basis_width = 0.3f * (1 / max), @@ -263,7 +236,7 @@ void write_one_arrow(int offset_vertex, int offset_colors, int offset_lines, graphics_write_vertex (vx, vy, vz + (1 / max) - arrow_tip_padding); graphics_write_vertex (vx, vy, vz - (1 / max) + arrow_tip_padding); graphics_write_color(0.0f + nuance, 0.0f + nuance, 1.0f - nuance / 4); - graphics_write_color(1.0f - nuance / 3, 1.0f - nuance / 3, 0.0f + nuance); + graphics_write_color(1.0f - nuance / 4, 1.0f - nuance / 4, 0.0f + nuance); /* offset_vertex += 6; */ /* offset_colors += 6; */