#include "prototype.h" /****** Function g_snell */ void g_snell(int *flag_R, double *x, double *y, double *angle_rad, double *phi_out, double *phi_prim, double angle_rad_in, double phi_in, double n1, double n2, double r1, double r2) { double alpha; *flag_R = 1; *phi_prim = asin((n1/n2)*sin(phi_in)); *phi_out = asin((r1/r2)*sin(phi_prim)); if(*phi_out == 0) { if(r1 == r2) alpha=PI-*phi_prim-*phi_out; else alpha=*phi_out-*phi_prim; *angle_rad=angle_rad_in+alpha; *x=r2*cos(*angle_rad); *y=r2*sin(*angle_rad); } else { flag_R=0; *angle_rad=angle_rad_in; *x=r2*cos(*angle_rad_in); *y=r2*sin(*angle_rad-in); } }