/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* maths_plane.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: gbrochar +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/02/08 19:57:48 by gbrochar #+# #+# */ /* Updated: 2019/02/08 20:47:52 by gbrochar ### ########.fr */ /* */ /* ************************************************************************** */ #include "rtv1.h" double intersect_plane(void *obj, t_ray r) { t_plane *p; p = (t_plane *)obj; if (dot_product(r.d, p->d) != 0) { return (-dot_product(vec_sub(r.o, p->o), p->d) / dot_product(r.d, p->d) - E); } return (FAILURE); } t_vec normal_plane(void *obj, t_ray r, double t) { t_plane *p; (void)r; (void)t; p = (t_plane *)obj; return (p->d); }