playing around

This commit is contained in:
Willem Haffmans 2024-12-07 20:37:11 +01:00
parent 39efc486e1
commit be46b3ccf9

View File

@ -29,7 +29,7 @@ int get_map_sizes(char *filename, t_map *map)
width = ft_count_words(line, ' '); width = ft_count_words(line, ' ');
free(line); free(line);
if (map->width != 0 && map->width != width) if (map->width != 0 && map->width != width)
return (ft_printf(WRONG_LINE_LENGTH, map->width, width), 0); return (ft_printf(WRONG_LINE_LENGTH, map->width, width, map->height), 0);
else if (map->width == 0) else if (map->width == 0)
map->width = width; map->width = width;
map->height++; map->height++;
@ -78,7 +78,7 @@ int read_map(char *filename, t_map *map)
{ {
map->points[y * map->width + x].x = x - map->width / 2; map->points[y * map->width + x].x = x - map->width / 2;
map->points[y * map->width + x].y = map->height / 2 - y; map->points[y * map->width + x].y = map->height / 2 - y;
map->points[y * map->width + x].z = ft_atoi(split[x]); map->points[y * map->width + x].z = ft_atoi(split[x]) * 0.05;
x++; x++;
} }
free_line_and_split(&line, &split); free_line_and_split(&line, &split);
@ -158,11 +158,11 @@ int draw_map(t_map *map)
while (i < map->width * map->height) while (i < map->width * map->height)
{ {
x = WIDTH / 2 + map->points[i].x * WIDTH / 2.0 / map->width; x = WIDTH / 2 + map->points[i].x * WIDTH / 2.0 / map->height;
y = HEIGHT / 2 + map->points[i].y * HEIGHT / 2.0 / map->height; y = HEIGHT / 2 + map->points[i].z * HEIGHT / 2.0 / map->height;
printf("x: %.2f, y: %.2f\n", x, y); //printf("x: %.2f, y: %.2f\n", x, y);
if (x >= 0 && x < WIDTH && y >= 0 && y < HEIGHT) if (x >= 0 && x < WIDTH && y >= 0 && y < HEIGHT)
mlx_put_pixel(img, WIDTH - x, HEIGHT - y, 0xFFFFFFFF); mlx_put_pixel(img,x + WIDTH , HEIGHT- y, 0xFFFFFFFF);
i++; i++;
} }
mlx_loop(mlx); mlx_loop(mlx);
@ -170,6 +170,10 @@ int draw_map(t_map *map)
return (EXIT_SUCCESS); return (EXIT_SUCCESS);
} }
double deg2rad(double deg)
{
return (deg / 180.0 * M_PI);
}
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
@ -183,9 +187,8 @@ int main(int argc, char *argv[])
map = parse_map(argv[1]); map = parse_map(argv[1]);
if (!map) if (!map)
return (EXIT_FAILURE); return (EXIT_FAILURE);
rotate_z(&map->points, deg2rad(30) , map->width * map->height);
rotate_z(&map->points, M_PI / 4, map->width * map->height); rotate_x(&map->points, deg2rad(70), map->width * map->height);
rotate_x(&map->points, M_PI / 8, map->width * map->height);
draw_map(map); draw_map(map);
return (EXIT_SUCCESS); return (EXIT_SUCCESS);
} }