diff --git a/src/fdf.c b/src/fdf.c index d90e900..7efbef0 100644 --- a/src/fdf.c +++ b/src/fdf.c @@ -29,7 +29,7 @@ int get_map_sizes(char *filename, t_map *map) width = ft_count_words(line, ' '); free(line); 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) map->width = width; 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].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++; } free_line_and_split(&line, &split); @@ -158,11 +158,11 @@ int draw_map(t_map *map) while (i < map->width * map->height) { - x = WIDTH / 2 + map->points[i].x * WIDTH / 2.0 / map->width; - y = HEIGHT / 2 + map->points[i].y * HEIGHT / 2.0 / map->height; - printf("x: %.2f, y: %.2f\n", x, y); + x = WIDTH / 2 + map->points[i].x * WIDTH / 2.0 / map->height; + y = HEIGHT / 2 + map->points[i].z * HEIGHT / 2.0 / map->height; + //printf("x: %.2f, y: %.2f\n", x, y); 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++; } mlx_loop(mlx); @@ -170,6 +170,10 @@ int draw_map(t_map *map) return (EXIT_SUCCESS); } +double deg2rad(double deg) +{ + return (deg / 180.0 * M_PI); +} int main(int argc, char *argv[]) { @@ -183,9 +187,8 @@ int main(int argc, char *argv[]) map = parse_map(argv[1]); if (!map) return (EXIT_FAILURE); - - rotate_z(&map->points, M_PI / 4, map->width * map->height); - rotate_x(&map->points, M_PI / 8, map->width * map->height); + rotate_z(&map->points, deg2rad(30) , map->width * map->height); + rotate_x(&map->points, deg2rad(70), map->width * map->height); draw_map(map); return (EXIT_SUCCESS); }