|
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 20
|
|
Вычислить минимальное расстояние между точкой треугольника и точкой окружности14.05.2018, 09:05. Показов 3847. Ответов 17
Метки нет (Все метки)
Помогите,нужно вычислить минимальное расстояние между точкой треугольника и точкой окружности.Треугольник задаётся тремя точками,окружность-центром и радиусом.
0
|
|
| 14.05.2018, 09:05 | |
|
Ответы с готовыми решениями:
17
Найти разность потенциалов между точкой на оси цилиндра и точкой на его поверхности Найти кривую, для которой отрезок касательной между точкой касания и точкой пересечения с осью Х имеет длину а |
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 14.05.2018, 09:58 | |
|
S0kkadt, Берем 3 стороны, находим расстояния между этими сторонами (как отрезками) и кругом, выбираем из них минимальное.
Теперь, как найти расстояние между отрезком и кругом? Надо записать уравнение отрезка в параметрическом виде X = At + (1-t)B (0<=t <=1, X, A, B - векторы) и найти минимум при этих условиях. Отдельно рассмотреть вопрос о пересечении отрезка и окружности и пападании его целиком внутрь круга..
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 20
|
|
| 14.05.2018, 12:27 [ТС] | |
|
Байт, что-то я совсем не понимаю ,как это должно работать,не могли бы вы привести некоторый пример реализации данной идеи?
0
|
|
|
75 / 59 / 31
Регистрация: 20.03.2017
Сообщений: 351
|
|
| 14.05.2018, 13:03 | |
|
S0kkadt, точки треугольника и центр окружности координатами задаются?
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 20
|
|
| 14.05.2018, 13:07 [ТС] | |
|
qwe123qwea, да
0
|
|
|
75 / 59 / 31
Регистрация: 20.03.2017
Сообщений: 351
|
||||||||||||||||
| 14.05.2018, 14:14 | ||||||||||||||||
|
S0kkadt,
Вот это:
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 20
|
|
| 14.05.2018, 15:13 [ТС] | |
|
qwe123qwea, у вас тут рассчитывается минимальное расстояние от каждой из вершин до центра окружности,а мне нужно найти именно ближайшие точки.Вот дословно задание:Определите функцию,отыскивающую две ближайшие «точки соприкосновения» и соединяя их.
0
|
|
|
75 / 59 / 31
Регистрация: 20.03.2017
Сообщений: 351
|
|
| 14.05.2018, 15:33 | |
|
S0kkadt, у меня находится минимальное расстояние не до центра окружности, а до самой окружности. Если вы не заметили то в строках 48-50 от длин отрезков отнимается радиус.
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 20
|
|
| 14.05.2018, 15:44 [ТС] | |
|
qwe123qwea, прошу прощения,действительно не заметил,только суть-то всё равно не в этом,нужно найти ближайшую точку на сторонах треугольника,а у вас считается минимальное расстояние лишь от вершин,хотя ближайшая точка отнюдь не всегда будет являться вершиной.
0
|
|
|
75 / 59 / 31
Регистрация: 20.03.2017
Сообщений: 351
|
|
| 14.05.2018, 15:55 | |
|
S0kkadt, понял, сейчас доделаю.
0
|
|
|
2735 / 890 / 331
Регистрация: 10.02.2018
Сообщений: 2,111
|
||||||
| 14.05.2018, 16:10 | ||||||
|
Отрезок AB, окружность с центром O и радиусом R, dist - искомое расстояние
Кликните здесь для просмотра всего текста
0
|
||||||
|
75 / 59 / 31
Регистрация: 20.03.2017
Сообщений: 351
|
|||||||||||
| 14.05.2018, 16:23 | |||||||||||
|
S0kkadt,
Добавлено через 6 минут Если строку 141 изменить на
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 20
|
|
| 14.05.2018, 17:03 [ТС] | |
|
qwe123qwea,ваш код работает ,но опять же не хватает главной части,собственно того,что я как раз и не могу понять,у вас считается расстояние до прямой(т.е. в точку,куда опускается перпендикуляр),но нужно ещё проверять ,принадлежит ли эта точка отрезку...
0
|
|
|
75 / 59 / 31
Регистрация: 20.03.2017
Сообщений: 351
|
|
| 14.05.2018, 22:49 | |
|
S0kkadt, отрезку стороны треугольника?
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 14.05.2018, 23:19 | |
|
Вот тут Кот ученый - достает ли прямая до заданного отрезка на плоскости есть некоторые рассуждения на эту тему.
0
|
|
|
-1 / 25 / 4
Регистрация: 27.11.2017
Сообщений: 375
|
|
| 15.05.2018, 14:18 | |
|
Два или три дня висит тема, и хоть бы один задал вопрос, что понимать в этой задаче под треугольником, то есть всю его внутренность или только одну границу, зато все строчат какой-то стремный код и удивляются почему он не работает.
А он и не будет работать до тех пор, пока четко и внятно не будет сформулирована задача о взаимном расположении окружности и треугольника.
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 20
|
|
| 16.05.2018, 17:06 [ТС] | |
|
qwe123qwea, да
Добавлено через 4 минуты Просто Саша, я уже писал,что поставлена задача найти ближайшие "точки соприкосновения".И так же я писал,что нужно найти точку лежащую на одной из сторон треугольника(т.е. как вы написали на одной из "границ").
0
|
|
|
-1 / 25 / 4
Регистрация: 27.11.2017
Сообщений: 375
|
|
| 16.05.2018, 22:36 | |
|
Если это так, то тогда задача фактически сводится к выяснению взаимного расположения отрезка и окружности.
Прежде всего проверяется не принадлежит хотя бы одна вершина треугольника нашей окружности. Если да, ответ ноль. Далее проверяем нет ли среди трех вершин нашего треугольника двух таких, что одна лежит внутри него, а другая вне его. Если такие две вершины найдутся, то ответ ноль. Если мы дошли до этого места, то значит, наш треугольник, либо целиком лежит внутри нашей окружности, либо целиком вне ее. Допустим сперва, что наш треугольник целиком лежит внутри нашей окружности. Тогда находим ту вершину, которая максимально отстоит от цента окружности. Пусть это расстояние равно L В этом случае искомое расстояние равно R - L, где R - это радиус нашей окружности. Осталось лишь рассмотреть случай, когда треугольник целиком лежит вне нашей окружности. Этот случай немножечко похлопотливей будет, поскольку наряду с тремя вершинами нам придется рассматривать еще и прямые, проведенные через каждую пару этих вершин. Поэтому мы рассмотрим лишь одну сторону треугольника, поскольку две другие обрабатываются аналогичным образом. Проведем из центра окружности перепендикуляр к прямой, определяемой двумя нашими вершинами треугольника. Здесь возможны два случая. Первый случай реализуется когда основание этого перепендикуляра попадает в отрезок, задаваемый двумя данными вершинами нашего треугольника. В этом случае для данной стороны - это основание перпендикуляра и есть та точка, которая является кандидатом на возможный минимум. Пусть D0 - есть расстояние от этого основания перпендикуляра до центра окружности. Тогда искомый ЕДИНСТВЕННЫЙ кандидат по данной стороне есть D0 - R. Второй случай реализуется, когда основание этого перпендикуляра не попадает в отрезок, задаваемый двумя данными вершинами нашего треугольника. В этом случае ЕДИНСТВЕННЫМ кандидатом по данной стороне будет тот конец отрезка, который ближе всего расположен к центру окружности. И он опять же обрабатывается как и предыдущий случай. Осталось все это выразить в коде.
0
|
|
| 16.05.2018, 22:36 | |
|
Помогаю со студенческими работами здесь
18
Расстояние между точкой и прямой, построение базиса
Расстояние между точкой и отрезком, с абсолютной или относительной погрешностью не превышающей 0.0001 Составить программу, которая подсчитывает расстояние между точкой нажатия и отпускания кнопки мыши
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|