/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* 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; } }