#include #include void fe_view_set(const fe_camera * cam) { fe_view_set_param(cam->dh, cam->dv, cam->roll, &cam->pos); } void fe_view_set_param(const double dh, const double dv, const double roulis, const fe_ipoint * camera) { const double A=fe_cos(dv); const double B=fe_sin(dv); const double C=fe_cos(roulis); const double D=fe_sin(roulis); const double E=fe_cos(dh); const double F=fe_sin(dh); // raccourcis const double AD=A*D, BD=B*D; fe_matrix[0][0]=C*E; fe_matrix[0][1]=-C*F; fe_matrix[0][2]=D; fe_matrix[1][0]=BD*E+A*F; fe_matrix[1][1]=-BD*F+A*E; fe_matrix[1][2]=-B*C; fe_matrix[2][0]=-AD*E+B*F; fe_matrix[2][1]=AD*F+B*E; fe_matrix[2][2]=A*C; // assigner delta memcpy(&fe_translate_delta, camera, sizeof(fe_ipoint)); }