/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* center_vertices.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: gbrochar +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/12/26 06:11:21 by gbrochar #+# #+# */ /* Updated: 2020/12/26 06:25:59 by gbrochar ### ########.fr */ /* */ /* ************************************************************************** */ #include "scop.h" #include "vec3.h" void center_vertices(t_buf_d *vertices) { t_vec3 average; for (size_t i = 0; i < vertices->ptr; i++) { if (i % 3 == 0) average.x += vertices->data[i]; else if (i % 3 == 1) average.y += vertices->data[i]; else if (i % 3 == 2) average.z += vertices->data[i]; } average.x /= (vertices->ptr / 3); average.y /= (vertices->ptr / 3); average.z /= (vertices->ptr / 3); for (size_t i = 0; i < vertices->ptr; i++) { if (i % 3 == 0) vertices->data[i] -= average.x; else if (i % 3 == 1) vertices->data[i] -= average.y; else if (i % 3 == 2) vertices->data[i] -= average.z; } }