Расстояние от точки до многогранника в пространстве | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 26 октября, печатный экземпляр отправим 30 октября.

Опубликовать статью в журнале

Автор:

Научный руководитель:

Рубрика: Математика

Опубликовано в Молодой учёный №30 (320) июль 2020 г.

Дата публикации: 26.07.2020

Статья просмотрена: 508 раз

Библиографическое описание:

Ворончихин, Е. К. Расстояние от точки до многогранника в пространстве / Е. К. Ворончихин. — Текст : непосредственный // Молодой ученый. — 2020. — № 30 (320). — С. 13-17. — URL: https://moluch.ru/archive/320/72811/ (дата обращения: 17.10.2024).



В данной работе рассмотрена задача поиска минимального расстояния между многогранником и точкой, не лежащей внутри него. Предложен алгоритм решения этой задачи и способ его применения в 3D-моделировании.

Ключевые слова: многогранник, расстояние, алгоритм .

Введение

При реализации метода 3D-моделирования Ray Marching необходимым является определение минимального расстояния от некоторой точки до трехмерного объекта [1]. В данной статье предлагается алгоритм поиска такого расстояния от точки до выпуклого многогранника.

Математическая постановка задачи

Определение 1. Пусть дан выпуклый многогранник и точка вне его. Минимальным расстоянием от этой точки до данного многогранника назовем длину отрезка между указанной точкой и ближайшей к ней точкой, принадлежащей многограннику.

Задача. Втрехмерном евклидовом пространстве найти минимальное расстояние от точки с известными координатами до выпуклого многогранника с известными координатами вершин.

Обозначения, используемые в статье

и — точка вне многогранника и многогранник соответственно, между которыми определяется минимальное расстояние;

— плоскость, содержащая произвольные точки , не лежащие на одной прямой;

— расстояние между объектами и , каждый из которых может быть точкой, прямой или плоскостью;

— минимальное расстояние между точкой и выпуклым многогранником ;

, , — координаты точки по осям , , соответственно.

Алгоритм решения

Определим, какие из вершин многогранника являются тремя ближайшими к и назовем их так, что

Проверим выполнение следующего условия:

  1. Проекция точки на находится внутри треугольника или на его границе

.

Рис. 1.

Пусть

— проекция на плоскость (рис. 1). Если она находится внутри треугольника или на его границе, то выполнено равенство: (см. доказательство Теоремы 1). Для того, чтобы проверить выполнение этого условия, находим координаты точки .

Зная координаты точек , составляем уравнение плоскости и определяем координаты вектора нормали к ней. Используя координаты точки и координаты направляющего вектора прямой (являющегося вектором нормали

) составляем каноническое уравнение прямой . Зная его и уравнение плоскости определяем координаты точки , которая является точкой пересечения прямой и . Далее проверяем принадлежность точки треугольнику . Метод проверки описан в статье [2]. При выполнении данного условия . Находим его как расстояние между двумя точками в пространстве.

В случае невыполнения условия пункта 1, переходим к проверке следующего условия.

  1. Проекция точки на прямую принадлежит отрезку

.

Рис. 2.

Пусть — проекция на прямую (рис. 2). Если принадлежит отрезку , то выполнено равенство: (см. доказательство Теоремы 2). Для проверки выполнения этого условия находим координаты точки .

Для этого определяем координаты вектора

, являющегося направляющим вектором прямой , и подставляем их в каноническое уравнение прямой . Далее составляем уравнение плоскости , проходящей через точку перпендикулярно прямой и находим координаты точки пересечения плоскости с прямой , являющиеся координатами точки .

Если выполнена система неравенств: , то

принадлежит отрезку .

При выполнении данного условия . Находим его как расстояние между двумя точками в пространстве.

При невыполнении пунктов 1 и 2 (рис. 3) задача сводится к поиску расстояния между и , поскольку расстояние от до не является ни расстоянием от до ближайшей грани , ни расстоянием от

до ближайшего ребра .

.

Рис. 3.

Для проверки корректности данного алгоритма рассмотрим следующие теоремы.

Теорема 1. Минимальное расстояние от некоторой точки , лежащей вне выпуклого многогранника, до этого многогранника равно расстоянию от до ближайшей к ней грани этого многогранника тогда и только тогда, когда проекция точки на плоскость, содержащую эту грань, принадлежит треугольнику, образованному тремя ближайшими к вершинами многогранника.

Доказательство . Пусть — ближайшие к вершины многогранника , при этом . Пусть — проекция точки на .

Пусть лежит принадлежит треугольнику . Тогда

— ближайшая к точка треугольника , поскольку — высота пирамиды . Поскольку треугольник принадлежит ближайшей к грани многогранника, то расстоянием от до этой грани является длина отрезка . Расстояние до ближайшей к грани многогранника меньше, чем расстояние от до любой другой грани многогранника, следовательно, длина отрезка
и есть минимальное расстояние от до многогранника.

Пусть находится вне треугольника . Следовательно, находится вне грани, которой принадлежит этот треугольник. Эта грань — единственная, принадлежащая плоскости , поскольку многогранник выпуклый. Поэтому не принадлежит многограннику, следовательно, отрезок не является минимальным расстоянием от до многогранника.

Теорема 2. Минимальное расстояние от некоторой точки

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

Доказательство. Пусть — ближайшие к вершины многогранника , при этом

; — прямая, содержащая отрезок ; — проекция точки на ; — проекция точки на .

Пусть принадлежит отрезку

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

Пусть принадлежит отрезку , совпадает с

. В этом случае по теореме 1 минимальное расстояние от до многогранника есть . Поскольку совпадает с , является минимальным расстоянием от до многогранника.

Пусть не принадлежит отрезку . Отрезок — единственное ребро многогранника, принадлежащее

, поскольку многогранник выпуклый, следовательно, не принадлежит многограннику, и поэтому отрезок не является минимальным расстоянием от до многогранника.

Применение данного алгоритма

Ray Marching — одна из относительно новых технологий, используемых для рендеринга трехмерных сцен. При ее реализации для рендеринга непрозрачных объектов можно использовать поля расстояний со знаком, что позволит оптимизировать вычислительный процесс. Поле расстояния — это функция, определяющая расстояние от точки до поверхности объекта [3]. Вышеописанный метод может быть использован для определения минимальных расстояний до любых выпуклых многогранников.

Литература:

  1. Ray Marching Distance Fields in Real-time on WebGL. — Текст: электронный // semanticscholar: [сайт]. — URL: https://pdfs.semanticscholar.org/a964/750aa212bd490d258221bc9756e7e58c5317.pdf (дата обращения: 18.07.2020).
  2. Weisstein, Eric W. Triangle Interior. — Текст: электронный // mathworld: [сайт]. — URL: https://mathworld.wolfram.com/TriangleInterior.html (дата обращения: 18.07.2020).
  3. GPU Ray Marching of Distance Fields / J. T. Lukasz. — Текст: электронный // DTU.compute: [сайт]. — URL: http://www2.imm.dtu.dk/pubdb/edoc/imm6392.pdf (дата обращения: 19.07.2020).
Основные термины (генерируются автоматически): минимальное расстояние, многогранник, вершина многогранника, выпуклый многогранник, расстояние, длина отрезка, проекция, треугольник, грань, уравнение плоскости.


Похожие статьи

Поиск пути в трехмерном пространстве

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

Численные методы для решения задачи о нахождении выпуклой пространственной фигуры вращения максимальной площади поверхности при заданных ограничениях на ее ширину

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

Разбиение многосвязного ортогонального полигона с минимизацией протяженности стыков на основе линейного программирования

Рассматривается задача разбиения многосвязного ортогонального полигона на прямоугольные области. Критерием оптимизации является минимизация протяженности стыков между прямоугольниками, образующими разбиение. Предложена модификация модели Бизли для ре...

Создание новых метрик в метрических пространствах при решении задач математического моделирования

В статье сформированы примеры функций со специальными свойствами для синтеза новых метрик в метрических пространствах.

Комбинированный алгоритм линейной оптимизации с поиском максимального потока на графе

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

Алгоритм построения простых чисел

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

О точном решении задачи движения вязкой сжимаемой жидкости в канале прямоугольной формы

Найдено точное решение одной модели движения жидкости в канале прямоугольной формы. Это решение может быть использовано для проверки работоспособности численных алгоритмов.

Решение геометрических задач методом «Золотого сечения»

Данная статья посвящена обзору различных способов решения геометрических задач с помощью метода «золотого сечения». Рассмотрен математический термин «золотое сечение», его основные свойства.

Моделирование поворотов в пространстве, оптимальный метод

В статье автор определяет оптимальный метод для моделирования поворотов в пространстве.

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

Работа посвящена исследованию обратной задачи для одного параболического уравнения, возникающего при моделировании процесса денежного моделирования. Дополнительная информация для решения обратной задачи задается в некоторой точке. Доказательство суще...

Похожие статьи

Поиск пути в трехмерном пространстве

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

Численные методы для решения задачи о нахождении выпуклой пространственной фигуры вращения максимальной площади поверхности при заданных ограничениях на ее ширину

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

Разбиение многосвязного ортогонального полигона с минимизацией протяженности стыков на основе линейного программирования

Рассматривается задача разбиения многосвязного ортогонального полигона на прямоугольные области. Критерием оптимизации является минимизация протяженности стыков между прямоугольниками, образующими разбиение. Предложена модификация модели Бизли для ре...

Создание новых метрик в метрических пространствах при решении задач математического моделирования

В статье сформированы примеры функций со специальными свойствами для синтеза новых метрик в метрических пространствах.

Комбинированный алгоритм линейной оптимизации с поиском максимального потока на графе

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

Алгоритм построения простых чисел

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

О точном решении задачи движения вязкой сжимаемой жидкости в канале прямоугольной формы

Найдено точное решение одной модели движения жидкости в канале прямоугольной формы. Это решение может быть использовано для проверки работоспособности численных алгоритмов.

Решение геометрических задач методом «Золотого сечения»

Данная статья посвящена обзору различных способов решения геометрических задач с помощью метода «золотого сечения». Рассмотрен математический термин «золотое сечение», его основные свойства.

Моделирование поворотов в пространстве, оптимальный метод

В статье автор определяет оптимальный метод для моделирования поворотов в пространстве.

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

Работа посвящена исследованию обратной задачи для одного параболического уравнения, возникающего при моделировании процесса денежного моделирования. Дополнительная информация для решения обратной задачи задается в некоторой точке. Доказательство суще...

Задать вопрос