From a726433a2e826377182adf9580686de779f5f795 Mon Sep 17 00:00:00 2001 From: ExtraDev <scott.birner@gmail.com> Date: Mon, 6 Dec 2021 17:28:17 +0100 Subject: [PATCH] refactor and calc gradient with groups --- .vscode/settings.json | 3 + readme.md | 6 +- src/A.vec | Bin 14 -> 0 bytes src/B.vec | Bin 14 -> 0 bytes src/C/Makefile | 2 +- src/C/descente_radiant | Bin 167608 -> 173184 bytes src/C/equation.c | 43 ++++---- src/C/equation.h | 17 +--- src/C/main.c | 176 +++++++++++++++++++++------------ src/Python/display.py | 13 ++- src/Python/plot_groups.py | 37 +++++++ src/X.vec | Bin 246 -> 0 bytes src/Y.vec | Bin 246 -> 0 bytes src/droite_nuage_0_1_A.vec | Bin 0 -> 14 bytes src/droite_nuage_0_1_B.vec | Bin 0 -> 14 bytes src/droite_nuage_0_2_A.vec | Bin 0 -> 14 bytes src/droite_nuage_0_2_B.vec | Bin 0 -> 14 bytes src/droite_nuage_1_2_A.vec | Bin 0 -> 14 bytes src/droite_nuage_1_2_B.vec | Bin 0 -> 14 bytes src/droite_nuage_complet_A.vec | Bin 0 -> 14 bytes src/droite_nuage_complet_B.vec | Bin 0 -> 14 bytes src/points_X.vec | Bin 0 -> 270 bytes src/points_Y.vec | Bin 0 -> 270 bytes 23 files changed, 186 insertions(+), 111 deletions(-) create mode 100644 .vscode/settings.json delete mode 100644 src/A.vec delete mode 100644 src/B.vec create mode 100644 src/Python/plot_groups.py delete mode 100644 src/X.vec delete mode 100644 src/Y.vec create mode 100644 src/droite_nuage_0_1_A.vec create mode 100644 src/droite_nuage_0_1_B.vec create mode 100644 src/droite_nuage_0_2_A.vec create mode 100644 src/droite_nuage_0_2_B.vec create mode 100644 src/droite_nuage_1_2_A.vec create mode 100644 src/droite_nuage_1_2_B.vec create mode 100644 src/droite_nuage_complet_A.vec create mode 100644 src/droite_nuage_complet_B.vec create mode 100644 src/points_X.vec create mode 100644 src/points_Y.vec diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..691a8f6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "C_Cpp.errorSquiggles": "Disabled" +} \ No newline at end of file diff --git a/readme.md b/readme.md index 5456a91..8649ee4 100644 --- a/readme.md +++ b/readme.md @@ -25,8 +25,12 @@ Ci-dessous un exemple du résultat attendu, à savoir, connaitre la meilleure dr {width=400px} # Méthodes employée -## Solution analytique - Merci le tableur +## Solution analytique +En premier lieux, nous avons cherchons à minimiser la fonction de coût: +E(a,b) = $\sum_{j=1}^n (a * x_{j} + b - y_{i})^2$ + +En résolvant le système de deux équations à deux inconnues. ## Solution numérique diff --git a/src/A.vec b/src/A.vec deleted file mode 100644 index a6a679093490675048789b4ccee8b71dcb191b83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14 VcmZSNU}RumIA`vBc>~uMdjJzR1QP%N diff --git a/src/B.vec b/src/B.vec deleted file mode 100644 index f97fff96ca1a8e1b554d609631f3e76f8fc5658d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14 VcmZSNU}RumsLgPi_xV4c0{{~j1P}lK diff --git a/src/C/Makefile b/src/C/Makefile index 2f86456..fc74fd1 100644 --- a/src/C/Makefile +++ b/src/C/Makefile @@ -2,7 +2,7 @@ CC=gcc CFLAGS=-Wall -Wextra -std=c11 -g -fsanitize=leak -fsanitize=undefined -fsanitize=address LDFLAGS=-lm -FOLDER = ./ +FOLDER = . SOURCES = $(wildcard $(FOLDER)/*.c) OBJECTS = $(SOURCES:.c=.o) diff --git a/src/C/descente_radiant b/src/C/descente_radiant index 5fed5929b323f03ff4e5525d4da7043206b9dbca..da6cbfd170b8013f32fe8b83e44adf542fd1eb38 100755 GIT binary patch literal 173184 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 literal 167608 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 Cw&$7v diff --git a/src/C/equation.c b/src/C/equation.c index 83bc9bd..2473604 100644 --- a/src/C/equation.c +++ b/src/C/equation.c @@ -1,6 +1,6 @@ #include "equation.h" -double get_random() { +double get_random_between_0_and_1() { return ((double)(rand() % (RND_MAX + 1 - RND_MIN) + RND_MIN))/1; // non rabatu entre 0 et 1 pour un meilleur résultat visuel } @@ -11,28 +11,17 @@ int get_random_int(int min, int max) { void generate_points(point_t* points, int N) { for(int i = 0; i < N; i++){ point_t pt; - pt.x = (i * GRAPH_X) / NB_POINTS; // -nan and inf, get_random() work - pt.y = EQUATION_PENTE * pt.x + EQUATION_ORDO + get_random(); + pt.x = (i * GRAPH_X) / NB_POINTS; // -nan and inf, get_random_between_0_and_1() work + pt.y = EQUATION_PENTE * pt.x + EQUATION_ORDO + get_random_between_0_and_1(); // printf("points[%d] = (point_t){.x=%f, .y=%f};\n", i, pt.x, pt.y); points[i] = pt; } } -void split_point_into_groups(point_t* points, point_t** groups, int n_points, int n_groups) { - int cpt = 0; - - for (int i = 0; i < n_points; i++) { - if(i % n_groups-1 == 0) { - cpt++; - } - - groups[cpt][i] = points[i]; - } -} - void create_group(group_t *group, point_t* points, int n_points, int n_groups) { group->n_points = n_points; group->n_groups = n_groups; + group->n_points_in_group = (int)(n_points/n_groups); group->points = malloc(sizeof(point_t*) * n_groups); for (int i = 0; i < group->n_groups; i++) { @@ -82,16 +71,17 @@ void create_group_random(group_t *group, point_t* points, int n_points, int n_gr // generate group group->n_points = n_points; group->n_groups = n_groups; + group->n_points_in_group = (int)(n_points/n_groups); group->points = malloc(sizeof(point_t*) * n_groups); for (int i = 0; i < group->n_groups; i++) { - group->points[i] = malloc(sizeof(point_t) * (int)(n_points/n_groups)); + group->points[i] = malloc(sizeof(point_t) * group->n_points_in_group); } int cpt = 0; int cpt2 = 0; for (int i = 0; i < n_points; i++) { - if(i % (int)(n_points/n_groups) == 0) { + if(i % group->n_points_in_group == 0) { cpt++; cpt2 = 0; } @@ -105,24 +95,27 @@ void create_group_random(group_t *group, point_t* points, int n_points, int n_gr free(tmp); } -point_t* group(group_t *group, int a, int b) { - int nb_points = (int)(group->n_points/group->n_groups) * 2; // 30 / 3 * 2 = 20 +point_t* regroup(group_t *group, int cadran_a, int cadran_b) { + int nb_points = group->n_points_in_group * 2; // 30 / 3 * 2 = 20 point_t* result = malloc(sizeof(point_t) * nb_points); for (int i = 0; i < nb_points/2; i++) { - result[i] = group->points[a][i]; - result[nb_points/2+i] = group->points[b][i]; + result[i] = group->points[cadran_a][i]; + result[nb_points/2+i] = group->points[cadran_b][i]; } return result; } void print_group(group_t *group){ + printf("nb points %d ", group->n_points); + printf("nb groups %d ", group->n_groups); + printf("points per group %d \n", group->n_points_in_group); for (int i = 0; i < group->n_groups; i++) { - for (int j = 0; j < (int)(group->n_points/group->n_groups); j++) + for (int j = 0; j < group->n_points_in_group; j++) { printf("[%d:%d] = %f,%f\n", i, j, group->points[i][j].x, group->points[i][j].y); } @@ -149,7 +142,7 @@ double erreur_quadratique(double a, double b, point_t* points, int nb_points) { return res; } -vector_t descente_radian(point_t* points, int N) +vector_t descente_gradient(point_t* points, int N) { double A = 0; double B = 0; @@ -163,7 +156,7 @@ vector_t descente_radian(point_t* points, int N) D += points[i].y; } - printf("A = %f, B = %f, C = %f, D = %f\n",A,B,C,D); + // printf("A = %f, B = %f, C = %f, D = %f\n",A,B,C,D); vector_t vold = {.x=1, .y=1}; vector_t vnew = {.x=2, .y=2}; //x = a , y = b @@ -182,7 +175,7 @@ vector_t descente_radian(point_t* points, int N) cpt++; } - printf("Iterations: %d\n",cpt); + // printf("Iterations: %d\n",cpt); return vnew; } diff --git a/src/C/equation.h b/src/C/equation.h index dfcf48a..464d4b6 100644 --- a/src/C/equation.h +++ b/src/C/equation.h @@ -21,7 +21,7 @@ typedef struct _point_t { } point_t; typedef struct _group_t { - int n_points, n_groups; + int n_points, n_groups, n_points_in_group; point_t **points; } group_t; @@ -31,26 +31,19 @@ typedef struct _vector_t { } vector_t; -double get_random(); +double get_random_between_0_and_1(); +int get_random_int(int min, int max); void generate_points(point_t* points, int N); -void split_point_into_groups(point_t* points, point_t** groups, int n_points, int n_groups); - -vector_t descente_radian(point_t* points, int N); - -vector_t direction_croissance(); +vector_t descente_gradient(point_t* points, int N); double erreur_quadratique(double a, double b, point_t* points, int nb_points); -double f(vector_t x); // test -double fd(vector_t x); // test - // Gestion des groupes void create_group(group_t *group, point_t* points, int n_points, int n_groups); void create_group_random(group_t *group, point_t* points, int n_points, int n_groups); -point_t* group(group_t *group, int a, int b); - +point_t* regroup(group_t *group, int cadran_a, int cadran_b); void print_group(group_t *group); void destroy_group(group_t *group); diff --git a/src/C/main.c b/src/C/main.c index 4657d7a..2e4f879 100644 --- a/src/C/main.c +++ b/src/C/main.c @@ -8,7 +8,7 @@ int main(int argc, char* argv[]) { srand( time( NULL ) ); - point_t* points; + point_t* nuage_points; int nb_points = NB_POINTS; @@ -19,76 +19,122 @@ int main(int argc, char* argv[]) { nb_points--; } - points = malloc(sizeof(point_t)*nb_points); - generate_points(points, nb_points); + nuage_points = malloc(sizeof(point_t)*nb_points); + generate_points(nuage_points, nb_points); } else { - points = malloc(sizeof(point_t)*NB_POINTS); - points[0] = (point_t){.x=0.000000, .y=0.600000}; - points[1] = (point_t){.x=0.000000, .y=1.000000}; - points[2] = (point_t){.x=0.000000, .y=0.600000}; - points[3] = (point_t){.x=1.000000, .y=1.200000}; - points[4] = (point_t){.x=1.000000, .y=1.100000}; - points[5] = (point_t){.x=1.000000, .y=1.400000}; - points[6] = (point_t){.x=2.000000, .y=2.000000}; - points[7] = (point_t){.x=2.000000, .y=2.600000}; - points[8] = (point_t){.x=2.000000, .y=2.300000}; - points[9] = (point_t){.x=3.000000, .y=3.100000}; - points[10] = (point_t){.x=3.000000, .y=3.800000}; - points[11] = (point_t){.x=3.000000, .y=3.700000}; - points[12] = (point_t){.x=4.000000, .y=4.500000}; - points[13] = (point_t){.x=4.000000, .y=4.300000}; - points[14] = (point_t){.x=4.000000, .y=4.700000}; - points[15] = (point_t){.x=5.000000, .y=5.400000}; - points[16] = (point_t){.x=5.000000, .y=5.900000}; - points[17] = (point_t){.x=5.000000, .y=6.000000}; - points[18] = (point_t){.x=6.000000, .y=6.200000}; - points[19] = (point_t){.x=6.000000, .y=6.000000}; - points[20] = (point_t){.x=6.000000, .y=7.000000}; - points[21] = (point_t){.x=7.000000, .y=7.800000}; - points[22] = (point_t){.x=7.000000, .y=7.500000}; - points[23] = (point_t){.x=7.000000, .y=7.000000}; - points[24] = (point_t){.x=8.000000, .y=8.400000}; - points[25] = (point_t){.x=8.000000, .y=8.600000}; - points[26] = (point_t){.x=8.000000, .y=8.000000}; - points[27] = (point_t){.x=9.000000, .y=10.000000}; - points[28] = (point_t){.x=9.000000, .y=9.300000}; - points[29] = (point_t){.x=9.000000, .y=10.000000}; + nuage_points = malloc(sizeof(point_t)*NB_POINTS); + nuage_points[0] = (point_t){.x=0.000000, .y=0.600000}; + nuage_points[1] = (point_t){.x=0.000000, .y=1.000000}; + nuage_points[2] = (point_t){.x=0.000000, .y=0.600000}; + nuage_points[3] = (point_t){.x=1.000000, .y=1.200000}; + nuage_points[4] = (point_t){.x=1.000000, .y=1.100000}; + nuage_points[5] = (point_t){.x=1.000000, .y=1.400000}; + nuage_points[6] = (point_t){.x=2.000000, .y=2.000000}; + nuage_points[7] = (point_t){.x=2.000000, .y=2.600000}; + nuage_points[8] = (point_t){.x=2.000000, .y=2.300000}; + nuage_points[9] = (point_t){.x=3.000000, .y=3.100000}; + nuage_points[10] = (point_t){.x=3.000000, .y=3.800000}; + nuage_points[11] = (point_t){.x=3.000000, .y=3.700000}; + nuage_points[12] = (point_t){.x=4.000000, .y=4.500000}; + nuage_points[13] = (point_t){.x=4.000000, .y=4.300000}; + nuage_points[14] = (point_t){.x=4.000000, .y=4.700000}; + nuage_points[15] = (point_t){.x=5.000000, .y=5.400000}; + nuage_points[16] = (point_t){.x=5.000000, .y=5.900000}; + nuage_points[17] = (point_t){.x=5.000000, .y=6.000000}; + nuage_points[18] = (point_t){.x=6.000000, .y=6.200000}; + nuage_points[19] = (point_t){.x=6.000000, .y=6.000000}; + nuage_points[20] = (point_t){.x=6.000000, .y=7.000000}; + nuage_points[21] = (point_t){.x=7.000000, .y=7.800000}; + nuage_points[22] = (point_t){.x=7.000000, .y=7.500000}; + nuage_points[23] = (point_t){.x=7.000000, .y=7.000000}; + nuage_points[24] = (point_t){.x=8.000000, .y=8.400000}; + nuage_points[25] = (point_t){.x=8.000000, .y=8.600000}; + nuage_points[26] = (point_t){.x=8.000000, .y=8.000000}; + nuage_points[27] = (point_t){.x=9.000000, .y=10.000000}; + nuage_points[28] = (point_t){.x=9.000000, .y=9.300000}; + nuage_points[29] = (point_t){.x=9.000000, .y=10.000000}; } group_t groups; - create_group_random(&groups, points, nb_points, 3); - print_group(&groups); + create_group_random(&groups, nuage_points, nb_points, 3); + point_t* groupe_0_1 = regroup(&groups, 0, 1); + point_t* groupe_0_2 = regroup(&groups, 0, 2); + point_t* groupe_1_2 = regroup(&groups, 1, 2); - // Exemple of grouping two groups - point_t* yes = group(&groups, 0, 1); + vector_t droite_nuage = descente_gradient(nuage_points, nb_points); + vector_t droite_0_1 = descente_gradient(groupe_0_1, groups.n_points_in_group); + vector_t droite_0_2 = descente_gradient(groupe_0_2, groups.n_points_in_group); + vector_t droite_1_2 = descente_gradient(groupe_1_2, groups.n_points_in_group); - for (int i = 0; i < 20; i++) - { - printf("%f, %f\n", yes[i].x, yes[i].y); - } - - vector_t resAB = descente_radian(points, nb_points); - point_t* AB = malloc(sizeof(point_t)); - *AB = (point_t){resAB.x, resAB.y}; - printf("gradient(%f,%f)\n", resAB.x, resAB.y); - - double_vector_t *X = create_vector_x(points, nb_points); - double_vector_t *Y = create_vector_y(points, nb_points); - double_vector_t *A = create_vector_x(AB, 1); - double_vector_t *B = create_vector_y(AB, 1); - - export_vector("../X.vec", X); - export_vector("../Y.vec", Y); - export_vector("../A.vec", A); - export_vector("../B.vec", B); - - free(points); - free(AB); - - destroy_vector(&X); - destroy_vector(&Y); - destroy_vector(&A); - destroy_vector(&B); + // Faire la comparaison des gradient + printf("Gradient nuage complet: %f;%f\n", droite_nuage.x, droite_nuage.y); + printf("Gradient ground 0-1: %f;%f\n", droite_0_1.x, droite_0_1.y); + printf("Gradient ground 0-2: %f;%f\n", droite_0_2.x, droite_0_2.y); + printf("Gradient ground 1-2: %f;%f\n", droite_1_2.x, droite_1_2.y); + + // Préparation à l'export + point_t* nuage_AB = malloc(sizeof(point_t)); + *nuage_AB = (point_t){droite_nuage.x, droite_nuage.y}; + + point_t* nuage_0_1 = malloc(sizeof(point_t)); + *nuage_0_1 = (point_t){droite_0_1.x, droite_0_1.y}; + + point_t* nuage_0_2 = malloc(sizeof(point_t)); + *nuage_0_2 = (point_t){droite_0_2.x, droite_0_2.y}; + + point_t* nuage_1_2 = malloc(sizeof(point_t)); + *nuage_1_2 = (point_t){droite_1_2.x, droite_1_2.y}; + + double_vector_t *points_X = create_vector_x(nuage_points, nb_points); + double_vector_t *points_Y = create_vector_y(nuage_points, nb_points); + + double_vector_t *droite_nuage_complet_A = create_vector_x(nuage_AB, 1); + double_vector_t *droite_nuage_complet_B = create_vector_y(nuage_AB, 1); + + double_vector_t *droite_nuage_0_1_A = create_vector_x(nuage_0_1, 1); + double_vector_t *droite_nuage_0_1_B = create_vector_y(nuage_0_1, 1); + double_vector_t *droite_nuage_0_2_A = create_vector_x(nuage_0_2, 1); + double_vector_t *droite_nuage_0_2_B = create_vector_y(nuage_0_2, 1); + double_vector_t *droite_nuage_1_2_A = create_vector_x(nuage_1_2, 1); + double_vector_t *droite_nuage_1_2_B = create_vector_y(nuage_1_2, 1); + + export_vector("../points_X.vec", points_X); + export_vector("../points_Y.vec", points_Y); + + export_vector("../droite_nuage_complet_A.vec", droite_nuage_complet_A); + export_vector("../droite_nuage_complet_B.vec", droite_nuage_complet_B); + + export_vector("../droite_nuage_0_1_A.vec", droite_nuage_0_1_A); + export_vector("../droite_nuage_0_1_B.vec", droite_nuage_0_1_B); + + export_vector("../droite_nuage_0_2_A.vec", droite_nuage_0_2_A); + export_vector("../droite_nuage_0_2_B.vec", droite_nuage_0_2_B); + + export_vector("../droite_nuage_1_2_A.vec", droite_nuage_1_2_A); + export_vector("../droite_nuage_1_2_B.vec", droite_nuage_1_2_B); + + + free(nuage_points); + free(nuage_AB); + free(nuage_0_1); + free(nuage_0_2); + free(nuage_1_2); + + free(groupe_0_1); + free(groupe_0_2); + free(groupe_1_2); + + destroy_vector(&points_X); + destroy_vector(&points_Y); + destroy_vector(&droite_nuage_complet_A); + destroy_vector(&droite_nuage_complet_B); + + destroy_vector(&droite_nuage_0_1_A); + destroy_vector(&droite_nuage_0_1_B); + destroy_vector(&droite_nuage_0_2_A); + destroy_vector(&droite_nuage_0_2_B); + destroy_vector(&droite_nuage_1_2_A); + destroy_vector(&droite_nuage_1_2_B); destroy_group(&groups); } \ No newline at end of file diff --git a/src/Python/display.py b/src/Python/display.py index e9a74c7..d549a9d 100644 --- a/src/Python/display.py +++ b/src/Python/display.py @@ -3,19 +3,18 @@ from numpy.lib.npyio import loadtxt from load_vec import load_vector import numpy as np -X_nuage_point = load_vector("../X.vec") -Y_nuage_point = load_vector("../Y.vec") +X_nuage_point = load_vector("../points_X.vec") +Y_nuage_point = load_vector("../points_Y.vec") -A = load_vector("../A.vec") # -B = load_vector("../B.vec") # +droite_nuage_complet_A = load_vector("../droite_nuage_complet_A.vec") +droite_nuage_complet_B = load_vector("../droite_nuage_complet_B.vec") # Nuage de points -plt.scatter(X_nuage_point, Y_nuage_point, marker='x', label="Points") - +plt.scatter(X_nuage_point, Y_nuage_point, marker='.', label="Points") # Meilleure droite x = np.array(range(int(max(X_nuage_point))+1)) -y = x * A + B +y = x * droite_nuage_complet_A + droite_nuage_complet_B plt.plot(x, y, label="Meilleure droite", color="red") diff --git a/src/Python/plot_groups.py b/src/Python/plot_groups.py new file mode 100644 index 0000000..b0fbf3a --- /dev/null +++ b/src/Python/plot_groups.py @@ -0,0 +1,37 @@ +from matplotlib import pyplot as plt +from numpy.lib.npyio import loadtxt +from load_vec import load_vector +import numpy as np + +fig, (ax1, ax2, ax3) = plt.subplots(3) +fig.suptitle('Vertically stacked subplots') + +X_nuage_point = load_vector("../points_X.vec") +Y_nuage_point = load_vector("../points_Y.vec") + +droite_nuage_0_1_A = load_vector("../droite_nuage_0_1_A.vec") +droite_nuage_0_1_B = load_vector("../droite_nuage_0_1_B.vec") + +droite_nuage_0_2_A = load_vector("../droite_nuage_0_2_A.vec") +droite_nuage_0_2_B = load_vector("../droite_nuage_0_2_B.vec") + +droite_nuage_1_2_A = load_vector("../droite_nuage_1_2_A.vec") +droite_nuage_1_2_B = load_vector("../droite_nuage_1_2_B.vec") + +x = np.array(range(int(max(X_nuage_point))+1)) +y = x * droite_nuage_0_1_A + droite_nuage_0_1_B +ax1.scatter(X_nuage_point, Y_nuage_point, marker='.', label="Points") +ax1.plot(x, y, label="Meilleure droite", color="red") + +x = np.array(range(int(max(X_nuage_point))+1)) +y = x * droite_nuage_0_2_A + droite_nuage_0_2_B +ax2.scatter(X_nuage_point, Y_nuage_point, marker='.', label="Points") +ax2.plot(x, y, label="Meilleure droite", color="red") + +x = np.array(range(int(max(X_nuage_point))+1)) +y = x * droite_nuage_1_2_A + droite_nuage_1_2_B +ax3.scatter(X_nuage_point, Y_nuage_point, marker='.', label="Points") +ax3.plot(x, y, label="Meilleure droite", color="red") + + +plt.show() diff --git a/src/X.vec b/src/X.vec deleted file mode 100644 index 54bc52036416ff8419aeb9743137fe6b5f2d446f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmZSNkYgYOKG;K4pwkQv5OH*x11gSA3qZxuX%VP6IxPVeN2g_=;^?#jR2-dFf{G(( E0GoIVn*aa+ diff --git a/src/Y.vec b/src/Y.vec deleted file mode 100644 index 751528d5a89c18ac0bb86bbd30891859a31bc200..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmZSNkYj)W4hINJ0ZI!%X%Q&>!5$*70_96UX(cEP)2{*L!}QBQ`7jzL4%4TGCa(wO b!_0^AVKmGf9jH2V8fL#CR31jd#El#Pxo!+o diff --git a/src/droite_nuage_0_1_A.vec b/src/droite_nuage_0_1_A.vec new file mode 100644 index 0000000000000000000000000000000000000000..633c9dede1dc05e81c2d97d9e07f278086b6852b GIT binary patch literal 14 VcmZSNU}RumaFySkdvN~?djJt+1U>)& literal 0 HcmV?d00001 diff --git a/src/droite_nuage_0_1_B.vec b/src/droite_nuage_0_1_B.vec new file mode 100644 index 0000000000000000000000000000000000000000..ffde9feab1659a3383dce10f9e96cfc341450c23 GIT binary patch literal 14 VcmZSNU}Rum*pVD<B%v$q000es0#g70 literal 0 HcmV?d00001 diff --git a/src/droite_nuage_0_2_A.vec b/src/droite_nuage_0_2_A.vec new file mode 100644 index 0000000000000000000000000000000000000000..633c9dede1dc05e81c2d97d9e07f278086b6852b GIT binary patch literal 14 VcmZSNU}RumaFySkdvN~?djJt+1U>)& literal 0 HcmV?d00001 diff --git a/src/droite_nuage_0_2_B.vec b/src/droite_nuage_0_2_B.vec new file mode 100644 index 0000000000000000000000000000000000000000..ffde9feab1659a3383dce10f9e96cfc341450c23 GIT binary patch literal 14 VcmZSNU}Rum*pVD<B%v$q000es0#g70 literal 0 HcmV?d00001 diff --git a/src/droite_nuage_1_2_A.vec b/src/droite_nuage_1_2_A.vec new file mode 100644 index 0000000000000000000000000000000000000000..df9acc25cb4281b3d7a94d30102b122e9e335f01 GIT binary patch literal 14 VcmZSNU}Rumct1T(-+kF9djJ%91Uvu$ literal 0 HcmV?d00001 diff --git a/src/droite_nuage_1_2_B.vec b/src/droite_nuage_1_2_B.vec new file mode 100644 index 0000000000000000000000000000000000000000..59a9014c6e8abca8f001faffe2517a8d0c8cd500 GIT binary patch literal 14 VcmZSNU}Rumh=_VxSU#W80RRzH18M*O literal 0 HcmV?d00001 diff --git a/src/droite_nuage_complet_A.vec b/src/droite_nuage_complet_A.vec new file mode 100644 index 0000000000000000000000000000000000000000..d8f49ece08a9eaa1b3792313d20759bbabc4a7e7 GIT binary patch literal 14 VcmZSNU}RumcwQ?a=P>hwJpd6a1E~N2 literal 0 HcmV?d00001 diff --git a/src/droite_nuage_complet_B.vec b/src/droite_nuage_complet_B.vec new file mode 100644 index 0000000000000000000000000000000000000000..6ef0b30b0bee7415acc2c087b7d8d7e8210f9edb GIT binary patch literal 14 VcmZSNU}RumxVEd{zCe+X0{|6E1HJ$N literal 0 HcmV?d00001 diff --git a/src/points_X.vec b/src/points_X.vec new file mode 100644 index 0000000000000000000000000000000000000000..52a86345c51e18e82764569f2a8243396b3060ac GIT binary patch literal 270 zcmZSNP-GwkKG;K4pwkQv5OH*x11gSA3qZxuX%VP6IxPVeN2g_=;^?#jR2-dFf{LTl JDo}9*4FJF^49Wli literal 0 HcmV?d00001 diff --git a/src/points_Y.vec b/src/points_Y.vec new file mode 100644 index 0000000000000000000000000000000000000000..399d6972f133ffc25dfb7d2686e2ff68586c3b1d GIT binary patch literal 270 zcmZSNP-K7s6$c1Q1dUdM@&%wY1C-`~(lBuuC|?6g!_0x{SAdG6(-Kf|7!5N=3o5P$ hrD6JDd?l#3A(V!RqpO42uLD&FGuHshhlv|I001jG46gtH literal 0 HcmV?d00001 -- GitLab