Re: простая геометрия / погрешности вычислений

From
Michael Ryazanov (2:5030/1006.64)
To
Alexander M. Serkov
Date
2002-12-09T18:40Z
Area
RU.ALGORITHMS
Hello, Alexander!

08.12 18:03 Alexander M. Serkov -> Anton Kuznetsov

 AS>>> как определить принадлежность четырех точек одной плоскости?

   А почему вы спрашиваете? :-)

 >>  Я бы делал это так...
 >>  Плоскость задается формулой ax+by+cz=d.
 >>  Найдя хотя бы одну тройку таких a, b, c, d подставляешь в формулу
 >> координаты
 >> 4-й точки и если равенство выполняется, то лежит, если нет - то нет!
 AMS> это конечно прекрасно, но геометрию в объеме десятого класса я и сам
 AMS> знаю:)

   А русский язык?

 AMS> интересует решение проблем, связанных именно с реализацией. поэтому
 AMS> интересует мнение людей, кто на практике с этим сталкивался.

   (Четыре точки: A, B, C, D.)
   Принадлежность этих точек одной плоскости равносильна компланарности векторов AB, AC и AD (или любых других), что, в свою очередь, равносильно равенству нулю определителя

| AB_x AC_x AD_x |
| AB_y AC_y AD_y |.
| AB_z AC_z AD_z |

В реализации, конечно же, надо проверять не строгое равенство нулю, а с какой-нибудь погрешностью (желательно, зависящей от величины самих компонент векторов).

                                                                      |V|uxau/\
--- -- - ·
 * Origin:             Ф И З Ф А К - Ч Е М П И О H !           (2:5030/1006.64)