Re: простая геометрия / погрешности вычислений
- From
- Rustam Ramazanov ()
- To
- Alexander M. Serkov
- Date
- 2002-12-10T16:33:06Z
- Area
- RU.ALGORITHMS
From: Rustam Ramazanov <ramazanoff@univer.kharkov.ua>
AM>> (Четыре точки: A, B, C, D.)
AM>> Принадлежность этих точек одной плоскости
AM> равносильна компланарности
AM>> векторов AB, AC и AD (или любых других), что, в
AM> свою очередь, равносильно
AM>> равенству нулю определителя
AM>> | AB_x AC_x AD_x |
AM>> | AB_y AC_y AD_y |.
AM>> | AB_z AC_z AD_z |
AM>> В реализации, конечно же, надо проверять не
AM> строгое равенство нулю, а с
AM>> какой-нибудь погрешностью (желательно,
AM> зависящей от величины самих
AM> компонент
AM>> векторов).
AM> вот здесь-то собака и порылась:) зависит даже,
AM> блин, от порядка вычислений.
А с каких пор действия над вещественными числами стали некоммутативны?
Здесь имеются ввиду особенности машинной арифметики при работе с
числами с плавающей точкой. Если у тебя координаты точек целые, то
сравнивай спокойно с нулем.
AM> так что получается иногда, что точки 1-2-3-4
AM> лежат в одной плоскости, а
AM> точки 4-3-2-1 не лежат.
Если доктор сказал в морг - значит, в морг. А пример можно?
Рекомендую для этого почитать литературу по аналитической геометрии
(школьный курс геометрии лучше забыть сразу, мешает).
Рустам.
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.ru (2:5020/400)