aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_draw_circle.c
diff options
context:
space:
mode:
authorRudy Bousset <rbousset@z2r5p2.le-101.fr>2020-02-19 19:57:10 +0100
committerRudy Bousset <rbousset@z2r5p2.le-101.fr>2020-02-19 19:57:10 +0100
commitb0c8144f6060e33f9e99788d36cf1a9d30f314b8 (patch)
tree5abff6fe51494c7bf6349ba007dd5cbe43f7f693 /src/ft_draw_circle.c
parentRemoved stdios (diff)
download42-cub3d-b0c8144f6060e33f9e99788d36cf1a9d30f314b8.tar.gz
42-cub3d-b0c8144f6060e33f9e99788d36cf1a9d30f314b8.tar.bz2
42-cub3d-b0c8144f6060e33f9e99788d36cf1a9d30f314b8.tar.xz
42-cub3d-b0c8144f6060e33f9e99788d36cf1a9d30f314b8.tar.zst
42-cub3d-b0c8144f6060e33f9e99788d36cf1a9d30f314b8.zip
Cool circle
Diffstat (limited to 'src/ft_draw_circle.c')
-rw-r--r--src/ft_draw_circle.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/ft_draw_circle.c b/src/ft_draw_circle.c
index 32a1612..3e17dfa 100644
--- a/src/ft_draw_circle.c
+++ b/src/ft_draw_circle.c
@@ -18,24 +18,26 @@
void
ft_draw_circle(int32_t a, int32_t b, int32_t color, t_cub *cl)
{
- const uint16_t scale = cl->mlist->scale / 2.5;
- int x;
- int y;
+ float scale;
float i;
float angle;
float x1;
float y1;
- x = a;
- y = b;
-
i = 0;
- while (i < 360)
+ scale = cl->mlist->scale / 2.5;
+ while (scale > 0)
{
- angle = i;
- x1 = scale * cos(angle * M_PI / 180);
- y1 = scale * sin(angle * M_PI / 180);
- *(int*)(cl->img.ptr + (x + (int)x1) * 4 + ((y + (int)y1) * cl->img.sizeline)) = color;
- i += 0.1;
+ while (i < 360)
+ {
+ angle = i;
+ x1 = scale * cos(angle * M_PI / 180);
+ y1 = scale * sin(angle * M_PI / 180);
+ *(int*)(cl->img.ptr + (a + (int)x1) * 4 +
+ ((b + (int)y1) * cl->img.sizeline)) = color;
+ i += 0.1;
+ }
+ i = 0;
+ scale--;
}
}