From 38099c824be637878b7da34cbcd2da8ed7ad0a9a Mon Sep 17 00:00:00 2001 From: Rudy Bousset Date: Tue, 18 Feb 2020 16:16:53 +0100 Subject: Ready to merge circles --- src/ft_draw_circle.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/ft_draw_circle.c (limited to 'src/ft_draw_circle.c') diff --git a/src/ft_draw_circle.c b/src/ft_draw_circle.c new file mode 100644 index 0000000..32a1612 --- /dev/null +++ b/src/ft_draw_circle.c @@ -0,0 +1,41 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_draw_circle.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/18 15:22:51 by rbousset #+# #+# */ +/* Updated: 2020/02/18 15:22:53 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +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 i; + float angle; + float x1; + float y1; + + x = a; + y = b; + + i = 0; + while (i < 360) + { + 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; + } +} -- cgit v1.2.3