vector_mag_norm.c
1 /* ************************************************************************** */ 2 /* */ 3 /* ::: :::::::: */ 4 /* vector_mag_norm.c :+: :+: :+: */ 5 /* +:+ +:+ +:+ */ 6 /* By: salee2 <salee2@student.42seoul.kr> +#+ +:+ +#+ */ 7 /* +#+#+#+#+#+ +#+ */ 8 /* Created: 2023/06/02 16:42:27 by salee2 #+# #+# */ 9 /* Updated: 2023/06/02 16:42:29 by salee2 ### ########.fr */ 10 /* */ 11 /* ************************************************************************** */ 12 13 #include "include/minirt.h" 14 15 double mag_sq(t_vec3 vec) 16 { 17 return (vec.ai * vec.ai + vec.bj * vec.bj + vec.ck * vec.ck); 18 } 19 20 double mag(t_vec3 vec) 21 { 22 return (sqrt(mag_sq(vec))); 23 } 24 25 t_vec3 norm(t_vec3 vector) 26 { 27 const double m = mag(vector); 28 29 return (scl_mul(1.0 / m, vector)); 30 }