Ексепшн EInvalidOp "Invalid floating point operation"
Цитата:
double D = -(N.x * p1.x + N.y * p1.y + N.z * p1.z);
где p1 - одна из точек треугольника, а N - нормаль к нему. Так вот для одной из нормалей выкидывается сабжевый ексепшен. При разбивании выражения на части оказалось что он выкидывается для первой части (N.x * p1.x), при значениях N.x = -0.965925791667478 и p1.x = 0.867025375366211. Так вот собственно вопрос - а почему???? Чем ему эти значения не нравятся?
PS. В Watch листе все нормально вычисляется, как для всего выражения, так и для куска.