IBAH (14.09.2017 18:05, просмотров: 211) ответил AU08 на ССЗБ - Супер, Супер, The Best ведь означает, правильно? KISS 2U !
Вы будите смеяться, но ВОТ ТАК все работает... или я накосячил с получением формулы, или язык Си отстой! в этом текущем случае я тупо развернул детерминант в Маткаде, в прошлый раз я разворачивал ручками
но как можно так накосячить с уравнением плоскости???!!! любой косяк выплывет просто изменением знака
//решение уравнения плоскости
signed long ReshUrPlsk(Treug_t* s)
{
return (signed long)(
(
(float)(s->x2)*(s->y0)*(s->z3) -
(float)(s->x2)*(s->y0)*(s->z1) -
(float)(s->x2)*(s->y1)*(s->z3) +
(float)(s->x2)*(s->z1)*(s->y3) -
(float)(s->x1)*(s->y0)*(s->z3) -
(float)(s->x3)*(s->y0)*(s->z2) +
(float)(s->x3)*(s->y0)*(s->z1) -
(float)(s->x3)*(s->y2)*(s->z1) +
(float)(s->x3)*(s->z2)*(s->y1) +
(float)(s->x0)*(s->y2)*(s->z1) +
(float)(s->x0)*(s->y1)*(s->z3) +
(float)(s->x0)*(s->z2)*(s->y3) -
(float)(s->x0)*(s->z2)*(s->y1) -
(float)(s->x0)*(s->z1)*(s->y3) +
(float)(s->x1)*(s->y2)*(s->z3) -
(float)(s->x1)*(s->z2)*(s->y3) +
(float)(s->x1)*(s->y0)*(s->z2) -
(float)(s->x0)*(s->y2)*(s->z3))
/
(
(float)(s->x2)*(s->y3) -
(float)(s->x2)*(s->y1) -
(float)(s->x1)*(s->y3) -
(float)(s->x3)*(s->y2) +
(float)(s->x3)*(s->y1) +
(float)(s->x1)*(s->y2))
);
}