18.10.2018, 11:38 [+3 UTC]
в нашей команде: 3 015 чел. | участники онлайн: 5 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.51 (29.09.2018)

Общие новости:
24.09.2018, 16:49

Форум:
14.10.2018, 19:20

Последний вопрос:
18.10.2018, 02:57

Последний ответ:
18.10.2018, 08:14

Последняя рассылка:
17.10.2018, 23:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
26.11.2009, 10:12 »
Sertok
Здравствуйте vvl! Спасибо за помощь. Буду брать Phenom II X4 925 2.8 GHz. А чем плох Phenom II X4 810? [вопрос № 174489, ответ № 256904]
16.01.2016, 21:22 »
galet06
Спасибо, узнала кое-что новое, из ГК РФ особенно. Меня удивляет, что все цитируют Постановление №745. А я высмотрела в ЗОЗПППравилах торговли кону о Защите прав потребителей, в котором четко сказано, что цена товара и полная стоимость являются обязательными в информации о товаре. [вопрос № 188646, ответ № 273232]
22.10.2009, 21:43 »
Яна
Большое спасибо за оперативность, а то завтра позарез нужно сдать. [вопрос № 173572, ответ № 255723]

РАЗДЕЛ • Математика

Консультации и решение задач по алгебре, геометрии, анализу, дискретной математике.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Лангваген Сергей Евгеньевич
Статус: Академик
Рейтинг: 154
epimkin
Статус: Практикант
Рейтинг: 130
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 124

Перейти к консультации №:
 

Консультация онлайн # 67288
Раздел: • Математика
Автор вопроса: Лука
Отправлена: 16.12.2006, 20:31
Поступило ответов: 1

Мир вам, уважаемые эксперты!
Быть может, вы, со свежим взглядом, подскажете мне решение данной проблемы...
Имеется произвольный треугольник в пространстве, заданный координатами своих вершин. Имеется также куб со стороной dx, расположенный вдоль осей координат.
Необходимо определить пересекаются они, или нет.
Беда в том, что сделать это нужно быстро, так как много треугольников и много кубов (это программа - генератор сеток).
Проверять наличие пересечения треугольника с каждым из 16 ребер - слишком долго. Перебирать точки, лежащие в треугольнике с мелким шагом - тоже. А больше мне ничего на ум не идет.
Может есть какое неравенство, определяющее точки, лежащие в треугольнике ?
Короче, буду благодарен любой информации по теме.
С уважением, Лука.

Состояние: Консультация закрыта

Ответ # 132222 от ADSota

Здравствуйте, Лука!

А зачем именно кубы нужны? Можно проверять точки пересечения сторон треугольников с плоскостями, перпендикулярными осям координат. Что очень легко спроецировав сторону треугольника (получится отрезок): например для оси X: координата X одного конца будет меньше координаты х поверхности, а другая больше... Если очень хочется, можно при нахождении точки пересечения с плоскостью, определить, гранью какого куба является данная плоскость: Если отрезок пересекаеться с тремя плоскостями (по всем осям Х,У,Z) то он и будет пересекаться с кубом, у которого большее расстояние от центра осей координат. Тут опять идет перебор, но рассчетов значительно меньше.


Консультировал: ADSota
Дата отправки: 18.12.2006, 11:08

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 67288

Посетитель

ID: 17049

# 1

= общий = | 21.12.2006, 00:26 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Долго добирался до вопросов... Пожалуй, наиболее быстрый способ такой: По вершинам треугольника вычисляются коэффициенты уравнния плоскости, в которой он лежит: Ax+By+Cz+D=0 Далее используете простую функцию f(x,y,z) = Ax+By+Cz+D Если все вершины куба лежат по одну сторону плосоксти треугольника, то и значение она будет принимать для всех — одного знака. Если принимает значения разных знаков, то — пересекает.


Посетитель

ID: 11062

# 2

= общий = | 21.12.2006, 11:39 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Плоскость - да пересекает. А треугольник может и не пересекать. Повторюсь: речь о ЧАСТИ плоскости, заключенной в пределах треугольника.


Посетитель

ID: 17049

# 3

= общий = | 21.12.2006, 12:03 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Ок. Делаете преобразование 3-хмерных координат в 2-мерные (на плоскости, в которой лежит треугольник). И делаете проверку (одного/разного знака) только для тех точек, чьи проекции на плоскость лежат внутри треугольника. Это уже не совсем точно, могут быть ошибки. Зато быстро. Как проверить, что точка лежит внутри треугльника: Либо также смотреть на знак векторных произведений: AB*AD, BC*BD, CA*CD, где ABC — вершины треугольника, D — проверяемая точка. Либо считать площади треугольников: SABC = SABD + SADC + SDBC <=> точка лежит внутри треугольника SABC = [1/2]*|(XB-XA)(YC-YA)-(XC-XA)(YB-YA)|


Посетитель

ID: 17049

# 4

= общий = | 21.12.2006, 12:07 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Итого:

  1. Если не все проекции точек лежат внутри треуглоьника, то можно просчитывать для всех ребер (которых, кстати, у куба 12, а не 16).
  2. Если у всех проекции лежат вне треуглоьника — не пересекает.
  3. Если у всех — внутри треугольника, смотрим с какой стороны от плоскости они лежат.


Посетитель

ID: 11062

# 5

= общий = | 21.12.2006, 14:44 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Боюсь, преобразование координат - не самая удачная мысль. Там ведь, как я помню, идут уже тригонометрические функции... а это очень плохо, так как долго. Да и узкие треугольники будут проскакивать "на раз". Тем не менее, спасибо за идеи.

 

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

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14825 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.51 от 29.09.2018