Skip to content
Snippets Groups Projects
Commit fa12e98e authored by Michaël El Kharroubi's avatar Michaël El Kharroubi :satellite: Committed by orestis.malaspin
Browse files

Add pseudo codes

parent e3454313
No related branches found
No related tags found
1 merge request!27Add pseudo codes
......@@ -80,7 +80,7 @@ deploy: all
make -C practical_work/electric_fl
cp practical_work/electric_fl/*.pdf phys/field_lines/
cp practical_work/electric_fl/*.html phys/field_lines/
cd practical_work/electric_fl && tar czvf utils.tar.gz utils && cp *.gz ../../phys/field_lines
cd practical_work/electric_fl && tar czvf utils_jour.tar.gz utils Jour && tar czvf utils_soir.tar.gz utils Soir && cp *.gz ../../phys/field_lines
clean:
......
```
dessiner_cercle(xc, yc, r)
x = 0
y = r
d = r - 1 // r^2 + r - 0^2 - r^2 - 1
tant que y >= x
// On dessine les autres octants par symétrie
dessiner_pixel(xc + x, yc + y) // Deuxième octant
dessiner_pixel(xc + y, yc + x) // Premier octant
dessiner_pixel(xc +- ?, yc +- ?) // Troisième octant
dessiner_pixel(xc +- ?, yc +- ?) // Quatrième octant
dessiner_pixel(xc +- ?, yc +- ?) // Septième octant
dessiner_pixel(xc +- ?, yc +- ?) // Huitième octant
dessiner_pixel(xc +- ?, yc +- ?) // Sixième octant
dessiner_pixel(xc +- ?, yc +- ?) // Cinquième octant
si 2x <= d // On passe au point A
d -= 2x + 1
x += 1
sinon si d < 2(r-y) // On passe au point B
d += 2y - 1
y -= 1
sinon // On passe au point C
d -= 2(x - y + 1)
y -= 1
x += 1
```
```
dessiner_droite(x0, y0, x1, y1)
dy = y1 - y0
dx = x1 - x0
m_dx = x0 - x1
si dy >= 0 //Octants supérieurs
si dy <= dx //1er octant
a = 2*dy
e = 0
y = y0
pour x allant de x0 à x1 avec un pas de 1
dessiner_pixel(x,y)
e += a
si e >= dx:
y += 1
e -= 2*dx
sinon si ? et ? // 2ème octant
a = 2*dx
e = 0
x = x0
pour y allant de y0 à y1 avec un pas de 1
dessiner_pixel(x,y)
e += a
si e >= dy:
x += 1
e -= 2*dy
sinon si dy >= m_dx // 3ème octant
a = ?
e = 0
m_dy = y0-y1
x = x0
pour y allant de y0 à y1 avec un pas de 1
dessiner_pixel(x,y)
e += a
si e <= m_dy:
x -= 1
e += ?
sinon // 4ème octant
dessiner_droite(?, ?, ?, ?)
sinon
si ? <= ? // 8ème octant
a = 2*dy
e = 0
y = y0
pour x allant de x0 à x1 avec un pas de 1
dessiner_pixel(x,y)
e += a
si e <= m_dx:
y -= 1
e += 2*dx
sinon // Tous les autres octants
dessiner_droite(x1, y1, x0, y0)
```
\ No newline at end of file
```
dessiner_cercle(xc, yc, r)
x = 0
y = r
d = r - 1 // r^2 + r - 0^2 - r^2 - 1
tant que y >= x
// On dessine les autres octants par symétrie
dessiner_pixel(xc + x, yc + y) // Deuxième octant
dessiner_pixel(xc + y, yc + x) // Premier octant
dessiner_pixel(xc - x, yc + y) // Troisième octant
dessiner_pixel(xc - y, yc + x) // Quatrième octant
dessiner_pixel(xc + x, yc - y) // Septième octant
dessiner_pixel(xc + y, yc - x) // Huitième octant
dessiner_pixel(xc - x, yc - y) // Sixième octant
dessiner_pixel(xc - y, yc - x) // Cinquième octant
si 2x <= d // On passe au point A
d -= 2x + 1
x += 1
sinon si d < 2(r-y) // On passe au point B
d += 2y - 1
y -= 1
sinon // On passe au point C
d -= 2(x - y + 1)
y -= 1
x += 1
```
\ No newline at end of file
```
dessiner_droite(x0, y0, x1, y1)
dy = y1 - y0
dx = x1 - x0
m_dx = x0 - x1
si dy >= 0 //Octants supérieurs
si dy <= dx //1er octant
a = 2*dy
e = 0
y = y0
pour x allant de x0 à x1 avec un pas de 1
dessiner_pixel(x,y)
e += a
si e >= dx:
y += 1
e -= 2*dx
sinon si (0<=dx) et (dx < dy) // 2ème octant
a = 2*dx
e = 0
x = x0
pour y allant de y0 à y1 avec un pas de 1
dessiner_pixel(x,y)
e += a
si e >= dy:
x += 1
e -= 2*dy
sinon si dy >= m_dx // 3ème octant
a = 2*dx
e = 0
m_dy = y0-y1
x = x0
pour y allant de y0 à y1 avec un pas de 1
dessiner_pixel(x,y)
e += a
si e <= m_dy:
x -= 1
e += 2*dy
sinon // 4ème octant
dessiner_droite(x1, y1, x0, y0)
sinon
si m_dx <= dy // 8ème octant
a = 2*dy
e = 0
y = y0
pour x allant de x0 à x1 avec un pas de 1
dessiner_pixel(x,y)
e += a
si e <= m_dx:
y -= 1
e += 2*dx
sinon // Tous les autres octants
dessiner_droite(x1, y1, x0, y0)
```
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment