Skip to content
Snippets Groups Projects
Commit ced5490b authored by JM's avatar JM
Browse files

Utilisation de draw_everything

parent 787ca098
Branches
Tags untagged-82bd404cbb7da09ef714
No related merge requests found
...@@ -40,7 +40,7 @@ bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, doub ...@@ -40,7 +40,7 @@ bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, doub
// starting from pos0. // starting from pos0.
// Returns false if pos0 is not a valid position // Returns false if pos0 is not a valid position
// (for example if pos0 is too close to a charge). // (for example if pos0 is 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) { static 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) {
vec2 pos = vec2_create(pos0.x, pos0.y); vec2 pos = vec2_create(pos0.x, pos0.y);
vec2 pos_sum; vec2 pos_sum;
for (int i = 0; i < num_charges; i++) for (int i = 0; i < num_charges; i++)
...@@ -55,7 +55,7 @@ bool draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, int num_char ...@@ -55,7 +55,7 @@ bool draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, int num_char
// Draw all the charges // Draw all the charges
// A circle with minus sign for negative charges // A circle with minus sign for negative charges
// A circle with a plus sign for positive charges // A circle with a plus sign for positive charges
void draw_charges(struct gfx_context_t *context, charge_t *charges, int num_charges, double x0, double x1, double y0, double y1) { static void draw_charges(struct gfx_context_t *context, charge_t *charges, int num_charges, double x0, double x1, double y0, double y1) {
for (int i = 0; i < num_charges; i++) for (int i = 0; i < num_charges; i++)
{ {
coordinates_t charge_center = position_to_coordinates(WID, HEI, x0, x1, y0, y1, charges[i].pos); coordinates_t charge_center = position_to_coordinates(WID, HEI, x0, x1, y0, y1, charges[i].pos);
......
...@@ -22,12 +22,12 @@ bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, doub ...@@ -22,12 +22,12 @@ bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, doub
// starting from pos0. // starting from pos0.
// Returns false if pos0 is not a valid position // Returns false if pos0 is not a valid position
// (for example if pos0 is too close to a charge). // (for example if pos0 is 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); static 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);
// Draw all the charges // Draw all the charges
// A circle with minus sign for negative charges // A circle with minus sign for negative charges
// A circle with a plus sign for positive charges // A circle with a plus sign for positive charges
void draw_charges(struct gfx_context_t *context, charge_t *charges, int num_charges, double x0, double x1, double y0, double y1); static void draw_charges(struct gfx_context_t *context, charge_t *charges, int num_charges, double x0, double x1, double y0, double y1);
void draw_everything( void draw_everything(
struct gfx_context_t *ctxt, struct gfx_context_t *ctxt,
......
...@@ -18,13 +18,8 @@ int main() { ...@@ -18,13 +18,8 @@ int main() {
{.q=0.25, .pos=vec2_create(0.75, 0.5)}, {.q=0.25, .pos=vec2_create(0.75, 0.5)},
}; };
struct gfx_context_t *ctxt = gfx_create("elec", WID, HEI); struct gfx_context_t *ctxt = gfx_create("elec", WID, HEI);
draw_charges(ctxt, charges, NCHARGES, 0.0, 1.0, 0.0, 1.0);
for (int i = 0; i < NCHARGES; ++i) { draw_everything(ctxt, charges, NCHARGES, NLINES, DX, 0.0, 1.0, 0.0, 1.0);
vec2 start = vec2_normalize(vec2_create(rand(), rand()));
draw_field_line(ctxt, charges, NCHARGES, DX, start, 0.0, 1.0, 0.0, 1.0);
}
while (gfx_keypressed() != SDLK_ESCAPE) gfx_present(ctxt); while (gfx_keypressed() != SDLK_ESCAPE) gfx_present(ctxt);
gfx_destroy(ctxt); gfx_destroy(ctxt);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment