Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.06.2010, 15:31
Новичок

Отправить личное сообщение для d.dragon.n76 Посмотреть профиль Найти все сообщения от d.dragon.n76
 
Регистрация: 26.12.2008
Сообщений: 24

местоположение точки
Имеется поверхность заданная четырех- или трех- угольными площадками. Для определенности пусть поверхность разомкнута . Каждой площадке сопоставляется нормаль. Нужно установить с какой стороны поверхности находится точка. Область в которую направлена нормаль можно назвать D+, а с другой стороны D-.

Другими словами нужна такая функция isAgainstNormal(точка, сслыка на вектор площадок), которая возвращает true в случае нахождения в области D+.


Не пойму даже за что зацепиться. В случае замкнутой выпуклой поверхности можно посчитать число пересечений луча из точки в сторону поверхности. А для разомкнутой идей нет.
  #2  
Старый 08.06.2010, 16:30
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

Если поверхность не бесконечная, то не всегда можно однозначно сказать, с какой ее стороны находится точка. Например, точка вблизи края, к которому подходят две разнонаправленные складки.
Однако, если возможно определить, какая ячейка поверхности ближайшая к точке, либо каким-то образом соотнести пространственные области с ячейками, то, как я понимаю, достаточно будет знака скалярного произведения вкуторов нормали и точка-любая точка ячейки
  #3  
Старый 08.06.2010, 16:38
Новичок

Отправить личное сообщение для d.dragon.n76 Посмотреть профиль Найти все сообщения от d.dragon.n76
 
Регистрация: 26.12.2008
Сообщений: 24

Сообщение от MBo Посмотреть сообщение
Если поверхность не бесконечная, то не всегда можно однозначно сказать, с какой ее стороны находится точка. Например, точка вблизи края, к которому подходят две разнонаправленные складки.
Однако, если возможно определить, какая ячейка поверхности ближайшая к точке, либо каким-то образом соотнести пространственные области с ячейками, то, как я понимаю, достаточно будет знака скалярного произведения вкуторов нормали и точка-любая точка ячейки
1. поверхность достаточно большая.

2. рисую картинки, и понимаю что внутри складки знак проекции вектора точка-точка_ячейки не определяет однозначно местоположение

что-то мне кажеться, что нужно так действовать для определения местоположения M: взять точку M* заведомо в D+ и строить отрезок MM* и определять пересекает он четырехугольники или нет! Подскажите алгоритм, наверняка это велосипед, пересечения отрезка и трех- или четырех- угольника.
  #4  
Старый 08.06.2010, 16:58
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

Пересечение отрезка (луча) и трегольника можно найти у Eberly www.geometrictools.com
Принцип такой - две стороны треугольника задают базис в плоскости треугольника. C помощью параметрического уравнения луча (P0+t*d) находим точку пересечения луча и плоскости, раскладываем ее координаты по базису (P = a*V+b*U). Точка пересечения внутри треугольника, если коэффициенты a, b, и их сумма в пределах 0..1
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Точки на костях гость Задачи 5 21.03.2011 18:35
точки ilyitch Вычислительная геометрия 1 03.09.2009 15:18
Точки и отрезки Miss K Сортировка и поиск 4 03.09.2009 01:41
Конус - принадлежность точки geoinform Вычислительная геометрия 11 20.09.2008 12:38
Точки на плоскости. Wasya Вычислительная геометрия 4 20.02.2008 14:15