Example #1
0
int			ft_draw(t_mlx *mlx)
{
	int	x;
	int	y;
	int color;

	y = 0;
	while (y < WIN_H)
	{
		x = 0;
		while (x < WIN_W)
		{
			if (mlx->f->nb == 1)
				color = ft_color(ft_julia(mlx, x, y), mlx);
			else if (mlx->f->nb == 2)
				color = ft_color(ft_mandelbrot(mlx, x, y), mlx);
			else if (mlx->f->nb == 3)
				color = ft_color(ft_tricorn(mlx, x, y), mlx);
			put_pixel(mlx->f, x, y, color);
			x++;
		}
		y++;
	}
	mlx_put_image_to_window(mlx->mlx, mlx->win, mlx->f->img, 0, 0);
	return (0);
}
Example #2
0
int				ft_draw_fractal(t_var *v)
{
	int color;
	int x;
	int y;
	int	i;

	y = 0;
	while (y < v->win_h)
	{
		x = 0;
		while (x < v->win_w)
		{
			if (v->type == 1 || v->type == 3)
				i = ft_mandel(v, x, y);
			else if (v->type == 2)
				i = ft_julia(v, x, y);
			color = ft_hsv(i % 256, v->ftl, i);
			ft_pixel_put(v, x, y, color);
			x++;
		}
		y++;
	}
	mlx_put_image_to_window(v->mlx, v->win, v->img, 0, 0);
	return (0);
}
Example #3
0
int		expose_hook(int x, int y, t_data *val)
{
	if (val->stop != 1 && val->info == 1)
	{
		mlx_destroy_image(val->mlx, val->img);
		mlx_clear_window(val->mlx, val->win);
		val->img = mlx_new_image(val->mlx, 1000, 650);
		if (x < 1000 && x > 1)
			val->cre = (double)x / 1000;
		if (y < 1000 && y > 1)
			val->cim = (double)y / 1000;
		if (val->info == 1)
			ft_julia(val);
		mlx_put_image_to_window(val->mlx, val->win, val->img, 0, 0);
	}
	return (0);
}
Example #4
0
void	ft_fractal(t_env *env)
{
	env->image_x = (env->x2 - env->x1) * env->zoom;
	env->image_y = (env->y2 - env->y1) * env->zoom;
	if (env->image_x > env->win_h * 4)
		env->image_x = env->win_h;
	if (env->image_y > env->win_l)
		env->image_y = env->win_l;
	if (env->mandelbrot == 1)
		ft_mandelbrot(env);
	if (env->julia == 1)
		ft_julia(env);
	if (env->droit == 1)
		ft_droit(env);
	if (env->burnship == 1)
		ft_burnship(env);
	if (env->tricorne == 1)
		ft_tricorne(env);
}
Example #5
0
int	main(int ac, char **av)
{
	if (ac == 1)
	{
		ft_putstr("\nFractales disponibles:\nJulia\nMan\nMan2\n");
		return (0);
	}
	if (ac == 2)
	{
		if (ft_strcmp(av[1], "Julia") == 0)
			ft_julia();
		else if (ft_strcmp(av[1], "Man") == 0)
			ft_mandelbrot();
		else if (ft_strcmp(av[1], "Man2") == 0)
			ft_mandelbrot2();
		else
			ft_putstr("\nFractales disponibles:\nJulia\nMan\nMan2\n");
	}
	return (0);
}
Example #6
0
void		ft_draw(t_fractol *e)
{
	ft_bzero(e->data, e->s_l * HEIGHT);
	e->x = 0;
	while (e->x < WIDTH)
	{
		e->y = 0;
		while (e->y < HEIGHT)
		{
			if (e->fractal == 1)
				ft_mandelbrot(e);
			else if (e->fractal == 2)
				ft_julia(e);
			else if (e->fractal == 3)
				ft_burningship(e);
			else if (e->fractal == 4)
				ft_douady(e);
			e->y++;
		}
		e->x++;
	}
	mlx_put_image_to_window(e->mlx, e->win, e->img, 0, 0);
	ft_info(e);
}