Nano Hash - криптовалюты, майнинг, программирование

Пересечение (возможно, неограниченного) выпуклого многоугольника с полуплоскостью

Это дополнительный вопрос к Как проверить, линия пересекает выпуклый многоугольник?

Допустим, я могу проверить, пересекает ли линия выпуклый многоугольник или нет (я до сих пор не уверен, какой метод лучше, и этот вопрос связан с моей трудностью). Я хочу сделать следующее: если я обнаружу, что линия пересекает многоугольник, я хочу сохранить созданный левый или правый многоугольник. Я не уверен, как поддерживать объект многоугольника, чтобы вышеизложенное было легко вычислить.

введите здесь описание изображения

Подводя итог, учитывая полигональный объект и линию, как мне найти новый многоугольник, созданный путем пересечения полуплоскости, созданной линией, с многоугольником? Есть ли в CGAL или любой другой библиотеке готовая к использованию функция для этого? Если мне нужно кодировать это с нуля, как я должен поддерживать полигональный объект?


  • Я не понимаю, как вы создаете здесь новый многогранник. Вы имеете в виду, что вы берете пересечение многогранника с плоскостью, а не с линией? Одна линия не разделит многогранник на две части. 23.04.2015
  • @MarkDickinson: ты прав, мой плохой. Я хочу взять пересечение многогранника либо с левым, либо с правым полупространством, созданным линией. 23.04.2015
  • Но как линия создает полупространство? Вы работаете в трех измерениях, верно? 23.04.2015
  • Нет. Я работаю в 2D. Под полупространством я подразумеваю полуплоскость. Извините, я не знаком со стандартной терминологией, используемой в компьютерной графике. 23.04.2015
  • Ах. Тогда вы, вероятно, захотите перефразировать свой вопрос, чтобы говорить о многоугольниках, а не о многогранниках. 23.04.2015
  • Может быть. Но один из ответивших на мой предыдущий вопрос сказал, что многоугольники относятся к ограниченным замкнутым многоугольникам. Неограниченные многоугольники называются многогранниками/многогранниками. И я хочу рассмотреть неограниченный случай. 23.04.2015
  • Я предлагаю вам игнорировать этот ответ: многогранник почти всегда означает трехмерный объект. (однако многогранник является более общим). Но не верьте мне на слово: поищите многогранник в любом месте и посмотрите, какое определение вы получите. :-) 23.04.2015

Ответы:


1

Я думаю, что одним из решений с использованием CGAL может быть использование 2D Boolean Operations on Nef Polygons. . Но для выпуклых многоугольников это может быть излишним. Что меня беспокоит, так это то, что вы упоминаете, что можете использовать неограниченные выпуклые многоугольники. Без полигонов Nef я не знаю, можно ли это представить в CGAL.

24.04.2015
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..