Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Vladimir Hmelyoff                    2:5055/115.61  27 Dec 2001  11:00:28
 To : Aleksey Kuhtenkov
 Subject : <none>
 -------------------------------------------------------------------------------- 
 
  Пойдем-ка из RU.ALGORITHMS с этой темой в эту эху...
 
        ________Hi,_Aleksey
 
  AK>>> Помогите решить задачу: нужно определить, пренадлежит ли точка
  AK>>> тетраэдру?
  KZ>> В книжке Е.В.Шикин, А.В.Боресков "Полигональные модели", стр. 201
  KZ>> описана процедура принадлежности точки многоугольнику.
  AK> Многоугольник я знаю. Мне надо многогранник.
 
 Все просто. Составляем уравнение каждой грани.
 A(x-x0)+B(y-y0)+C(z-z0)=0
 x0,y0,z0 - одна из вершин грани.
 (A,B,C) - вектор нормали к грани, вычисляется векторным умножением любых 2
 векторов, лежащих в грани. Hапример, грань - треугольник с вершинами E,F,G,
 составляем вектора, например, EF и FG и умножаем векторно EFxFG.
 Итак, получаем уравнение грани. Затем, имеем функцию:
 p=A(x-x0)+B(y-y0)+C(z-z0)
 
 Подставляем любую точку в параметры (x,y,z) и получаем p>0, если точка лежит по
 одну сторону грани, p<0, если по другую сторону, p=0, если лежит на самой грани.
 
 Все! Тетраэдр - выпуклая фигура, так что надо подставить любую из остальных
 точек тетраэдра (в смысле, не нежащих на обрабатываемой грани) и подставить
 искомую точку. Они должны лежать по одну и ту же сторону.
 
 Вот так мы и проверяем ВСЕ грани перебором. Если условие всегда выполняется,
 значит, точка лежит внутри.
 
 --- Всех в таз, залить цементом и в море!
  * Origin: 100 байт в 0 файлах. (2:5055/115.61)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 <без заголовка>   Aleksey Kuhtenkov   26 Dec 2001 09:20:18 
 <none>   Ksenia Zaytseva   26 Dec 2001 12:49:44 
 <none>   Aleksey Kuhtenkov   26 Dec 2001 23:28:23 
 <none>   Alex Astafiev   28 Dec 2001 00:43:10 
 <none>   Vladimir Hmelyoff   27 Dec 2001 11:00:28 
 <none>   Ksenia Zaytseva   27 Dec 2001 12:12:15 
 Re: <none>   Sergey Politov   28 Dec 2001 06:08:18 
 <none>   Ivan Bessarabov   07 Jan 2002 17:18:02 
 Re: <none>   Sergey Politov   09 Jan 2002 06:12:39 
 <none>   Ivan Bessarabov   10 Jan 2002 01:37:57 
 Re: <none>   Sergey Politov   11 Jan 2002 05:29:43 
Архивное /ru.algorithms/39213c2af2f3.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional