Ejemplo n.º 1
0
void	medusa(t_struct *s)
{
	s->image_x = HGT;
	s->image_y = WDT;
	s->x = 0;
	while (s->x < s->image_x)
	{
		s->y = 0;
		while (s->y < s->image_y)
		{
		s->c_r = s->x / s->zoom + s->x1;
		s->c_i = s->y / s->zoom + s->y1;
		s->z_r = 0;
		s->z_i = 0;
		s->i = 0;
		while (s->z_r * s->z_r + s->z_i * s->z_i < 4 && s->i < s->iter_max)
		{
			s->tmp = s->z_r;
			s->z_r = fabs(s->z_r * s->z_r - s->z_i * s->z_i) + s->c_r;
			s->z_i = 3 * s->z_i * s->tmp + s->c_i;
			s->i++;
		}
		put_pixel_to_image(s);
		s->y++;
		}
		s->x++;
	}
}
Ejemplo n.º 2
0
Archivo: draw.c Proyecto: Rirax/wolf3d
void	draw_column(t_env *e, int x)
{
	int	y;

	y = 0;
	get_color(e, y);
	while (y < e->drstart)
	{
		put_pixel_to_image(e, &e->color, x, y);
		y++;
	}
	get_color(e, y);
	while (y < e->drend)
	{
		put_pixel_to_image(e, &e->color, x, y);
		y++;
	}
	get_color(e, y);
	while (y <= WIN_HEIGHT)
	{
		put_pixel_to_image(e, &e->color, x, y);
		y++;
	}
}
Ejemplo n.º 3
0
Archivo: trace.c Proyecto: 1lynx/fdf
void		print_trace(t_point p1, t_point p2, t_info *i)
{
	i->dx = abs((p2.x - p1.x));
	i->sx = p1.x < p2.x ? 1 : -1;
	i->dy = abs((p2.y - p1.y));
	i->sy = p1.y < p2.y ? 1 : -1;
	i->err = (i->dx > i->dy ? i->dx : -i->dy) / 2;
	while (!(p1.x == p2.x && p1.y == p2.y))
	{
		put_pixel_to_image(p1.x, p1.y, i);
		i->err2 = i->err;
		if (i->err2 > -i->dx)
		{
			i->err -= i->dy;
			p1.x += i->sx;
		}
		if (i->err2 < i->dy)
		{
			i->err += i->dx;
			p1.y += i->sy;
		}
	}
}