diff --git a/charge.c b/charge/charge.c similarity index 76% rename from charge.c rename to charge/charge.c index 927499006c5c8e5616b02720d5a35872b9e9ef73..3be7c4b750e7c355d56f126dabeb1ff1eb061e12 100644 --- a/charge.c +++ b/charge/charge.c @@ -8,21 +8,25 @@ * @copyright Copyright (c) 2021 * */ -#include "draw/draw.h" -#include "vector/vector.h" -#include "utils.h" +#include "../draw/draw.h" +#include "../vector/vector.h" +#include "../utilities/utils.h" #include "charge.h" -bool compute_e(charge_t c, vec2 p, double eps, vec2 *e) { +bool compute_e(charge_t c, vec2 p, double eps, vec2 *e) +{ } -bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, double eps, vec2 *e) { +bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, double eps, vec2 *e) +{ } -bool draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, int num_charges, double dx, vec2 pos0, double x0, double x1, double y0, double y1) { +bool draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, int num_charges, double dx, vec2 pos0, double x0, double x1, double y0, double y1) +{ } -void draw_charges(struct gfx_context_t *ctxt, charge_t *charges, int num_charges, double x0, double x1, double y0, double y1) { +void draw_charges(struct gfx_context_t *ctxt, charge_t *charges, int num_charges, double x0, double x1, double y0, double y1) +{ // Center coordinates coordinates_t c; @@ -34,13 +38,17 @@ void draw_charges(struct gfx_context_t *ctxt, charge_t *charges, int num_charges int chargePadding = 10; // Draw charges - for (int i = 0; i < num_charges; i++) { + for (int i = 0; i < num_charges; i++) + { coordinates_t chCoord = position_to_coordinates(ctxt->width, ctxt->height, x0, x1, y0, y1, charges[i].pos); // Draw sign according to charge value - if (charges[i].q < 0) { + if (charges[i].q < 0) + { gfx_draw_line(ctxt, coordinates_create(chCoord.row, chCoord.column - chargePadding), coordinates_create(chCoord.row, chCoord.column + chargePadding), COLOR_BLUE); - } else { + } + else + { gfx_draw_line(ctxt, coordinates_create(chCoord.row, chCoord.column - chargePadding), coordinates_create(chCoord.row, chCoord.column + chargePadding), COLOR_RED); gfx_draw_line(ctxt, coordinates_create(chCoord.row - chargePadding, chCoord.column), coordinates_create(chCoord.row + chargePadding, chCoord.column), COLOR_RED); } @@ -49,11 +57,13 @@ void draw_charges(struct gfx_context_t *ctxt, charge_t *charges, int num_charges } } -void generate_points(vec2 points[], int nb_points) { +void generate_points(vec2 points[], int nb_points) +{ double x = 0; double y = 0; - for (int i = 0; i < nb_points; i++) { + for (int i = 0; i < nb_points; i++) + { x = rand_one(); y = rand_one(); diff --git a/charge.h b/charge/charge.h similarity index 88% rename from charge.h rename to charge/charge.h index a0bef2946d80ee5d7331f02a4503fcebf2b42bb1..2e4e651c6aa1640201f9f068ef974eae9da36600 100644 --- a/charge.h +++ b/charge/charge.h @@ -13,9 +13,9 @@ #include <stdlib.h> #include <stdbool.h> -#include "utils.h" -#include "vector/vector.h" -#include "gfx/gfx.h" +#include "../utilities/utils.h" +#include "../vector/vector.h" +#include "../gfx/gfx.h" /** * @brief Compute E*qP/norm(qP) @@ -38,7 +38,7 @@ bool compute_e(charge_t c, vec2 p, double eps, vec2 *e); * @param e Electric field * @return bool false for some qiP, norm(qiP) < eps */ -bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, +bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, double eps, vec2 *e); /** @@ -56,9 +56,9 @@ bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, * @param y1 Maximal y of the universe * @return bool false if pos0 not a valid pos (e.g. too close to a charge) */ -bool draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, - int num_charges, double dx, vec2 pos0, double x0, - double x1, double y0, double y1); +bool draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, + int num_charges, double dx, vec2 pos0, double x0, + double x1, double y0, double y1); /** * @brief Draw all charges @@ -74,7 +74,7 @@ bool draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, * @param y1 Maximal y of the universe */ void draw_charges(struct gfx_context_t *ctxt, charge_t *charges, - int num_charges, double x0, double x1, double y0, double y1); + int num_charges, double x0, double x1, double y0, double y1); /** * @brief Generate a given amount of points diff --git a/main.c b/main.c index 25ce0a11596769cce900bbf9c4b9cb4c189de5cb..afbf648e46f6fda8adb88094e21225ac6c407c76 100644 --- a/main.c +++ b/main.c @@ -13,7 +13,7 @@ #include <time.h> #include <math.h> #include "gfx/gfx.h" -#include "charge.h" +#include "charge/charge.h" #define WINDOW_WIDTH 500 #define WINDOW_HEIGHT 500 @@ -24,12 +24,14 @@ #define NB_CHARGES 2 #define NB_POINTS 100 -int main(void) { +int main(void) +{ srand(time(NULL)); // GFX initialization struct gfx_context_t *ctxt = gfx_create("draw", WINDOW_WIDTH, WINDOW_HEIGHT); - if (!ctxt) { + if (!ctxt) + { fprintf(stderr, "Graphics initialization failed !\n"); return EXIT_FAILURE; } @@ -41,13 +43,15 @@ int main(void) { vec2 points[NB_POINTS]; generate_points(points, NB_POINTS); - for (int i = 0; i < NB_POINTS; i++) { + for (int i = 0; i < NB_POINTS; i++) + { coordinates_t c = position_to_coordinates(WINDOW_WIDTH, WINDOW_HEIGHT, x0, x1, y0, y1, points[i]); gfx_putpixel(ctxt, c.column, c.row, COLOR_WHITE); - } + } // GFX Draw loop - while (gfx_keypressed() != SDLK_ESCAPE){ + while (gfx_keypressed() != SDLK_ESCAPE) + { gfx_present(ctxt); } diff --git a/utils.c b/utilities/utils.c similarity index 95% rename from utils.c rename to utilities/utils.c index 86e1a7cb2c6642b8fcddc888bd25a226b473fab3..cd7d604717b1200c3911cab9a6176bc6e011609c 100644 --- a/utils.c +++ b/utilities/utils.c @@ -1,6 +1,6 @@ #include <math.h> #include <stdlib.h> -#include "vector/vector.h" +#include "../vector/vector.h" #include "utils.h" // Transform a position in the univers [x0,y0]x[x1,y1] to a screen position diff --git a/utils.h b/utilities/utils.h similarity index 88% rename from utils.h rename to utilities/utils.h index 54d49d0276659eae9467156495a03ff50f6db966..29b6372babf8c57c443852669d78d23f53455a02 100644 --- a/utils.h +++ b/utilities/utils.h @@ -5,8 +5,8 @@ #define E 1.602e-19; #include <stdint.h> -#include "vector/vector.h" -#include "draw/draw.h" +#include "../vector/vector.h" +#include "../draw/draw.h" typedef struct _charge_t {