|
0 / 0 / 0
Регистрация: 15.05.2025
Сообщений: 6
|
|
Геодезическое расстояние на поверхности цилиндра15.05.2025, 12:13. Показов 1916. Ответов 21
Метки нет (Все метки)
Столкнулся со следующей, кажущейся несложной, на первый взгляд, задачей, которую так и не смог решить.
1) Дан тонкостенный полый цилиндр диаметром 1020 мм. Ось цилиндра совпадает с осью Z системы координат. В этом цилиндре выполнено 2 отверстия. Ось первого отверстия сонаправлено с осью Y а само отверстие смещено по оси Z на 200 мм (то есть центр отверстия имеет координаты 0, 510, 200). Второе смещено по оси Z на 600 мм, повернуто вокруг оси Z на 20 градусов, после чего смещено по нормали к оси отверстия на 200 мм (координаты центра данного отверстия 352.11, 137.35, 600). 2) Дан тот же цилиндр с тем же первым отверстием. Однако, второе отверстие расположено немного по-другому: само отверстие смещено также на 600 мм по оси Z и повернуто на 20 градусов вокруг оси Z. Затем, если представить, что в получившейся точке мы строим локальную систему координат с направлениями осей по же логике (то есть ось Z лск сонаправлена с осью Z цилиндра), отверстие "наклонено" на 30 градусов вокруг оси X ЛСК и повернуто на 45 градусов вокруг оси Z ЛСК (центр отверстия в координатах 174.43, 0, 600). Собственно суть задачи: нужно численно найти расстояние по дуге цилиндра (по сути, геодезическое расстояние) между точками на этих отверстиях, которые наиболее приближены друг к другу. Я смог найти расстояние между центрами отверстий, а дальше моих знаний катастрофически не хватает, чтобы пересчитать вторые отверстия на развертку цилиндра. У меня есть правильные ответы для этих случаев, полученные с помощью CAD системы: в первом ответ будет 330,68 мм, а во втором 195,17 мм По ссылкам приложил изображение и два stp файла с геометрией данных цилиндров. https://drive.google.com/file/... sp=sharing https://drive.google.com/file/... sp=sharing https://drive.google.com/file/... sp=sharing
0
|
|
| 15.05.2025, 12:13 | |
|
Ответы с готовыми решениями:
21
Параллельно оси цилиндра проведено плоскость, отсекает от окружности основания дугу (бета). Отрезок соединяющий центер основания цилиндра с точкой окр Построить линию пересечения наклонного цилиндра и цилиндра и определить видимость Найти площадь полной поверхности цилиндра |
|
Нарушитель
212 / 352 / 62
Регистрация: 09.06.2015
Сообщений: 1,436
|
|
| 15.05.2025, 13:07 | |
|
Непонятно, если ответы уже есть, то надо разобраться, как они получены, или для расстояний между точками на границах дырок ответа ещё нет?
0
|
|
|
0 / 0 / 0
Регистрация: 15.05.2025
Сообщений: 6
|
|||||||||||||
| 15.05.2025, 13:13 [ТС] | |||||||||||||
|
Ответ я получил, используя CAD систему. Мне же нужно понять, как найти эти расстояния численно, не используя средства моделирования. Приложенные мной ответы - это и есть необходимая величина между двумя наиболее близкими друг к другу точками на двух отверстиях.
Также прикладываю код на python, с помощью которого я нашел расстояния между центрами отверстий (здесь x1, y1, z1, x2, y2, z2 - координаты центров отверстий)
0
|
|||||||||||||
|
Нарушитель
212 / 352 / 62
Регистрация: 09.06.2015
Сообщений: 1,436
|
||
| 15.05.2025, 13:21 | ||
|
Каждое отверстие это линия пересечения двух цилиндров, правильно? Если через центры отверстий провести плоскость, перпендикулярную оси исходного цилиндра, то на линии её пересечения с этим цилиндром будет лежать отрезок кривой между точками на отверстиях. А не будет ли он той самой геодезической?
0
|
||
|
0 / 0 / 0
Регистрация: 15.05.2025
Сообщений: 6
|
|
| 15.05.2025, 13:38 [ТС] | |
|
Ну, во-первых, ответ я написал вполне себе числами, поэтому надобности куда-то лезть нет. Во-вторых, если кто-то захочет - может открыть приложенные файлы, я же, кажется, никого не принуждаю. Тем более, если есть софт - это вообще не проблема.
И по вашему вопросу: в моем случае, если я трактовал правильно ваш ответ, у меня физически не получится создать плоскость через точки в центрах отверстий, перпендикулярную оси исходного цилиндра. По первой ссылке прикреплено изображение, на котором показано, как примерно располагаются отверстия. Если вы на нее посмотрите, то увидите, что прямая, проходящая через эти две точки в плоскости XY не перпендикулярная оси цилиндра, поэтому и создать плоскость, которую вы предлагаете, не получится.
0
|
|
|
Нарушитель
212 / 352 / 62
Регистрация: 09.06.2015
Сообщений: 1,436
|
||
| 15.05.2025, 15:51 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 15.05.2025
Сообщений: 6
|
|
| 15.05.2025, 16:15 [ТС] | |
|
Я, кажется, все равно не до конца правильно понимаю. В таком случае у получится криволинейная поверхность. И даже если мы получим уравнение этой плоскости, то я не представляю, что делать дальше, т к. Координаты точек между которыми нужно найти расстояние все равно неизвестно.
0
|
|
|
Нарушитель
212 / 352 / 62
Регистрация: 09.06.2015
Сообщений: 1,436
|
||
| 15.05.2025, 17:08 | ||
|
Например, точки на периметре: два уравнение - точка принадлежит обоим цилиндрам, то же самое для второй точки. 4 уравнения. Ищем минимум расстояния с условием этих четырёх уравнений. То есть, задача на условный экстремум, решать можно через множители Лагранжа. Можно решать дискретным перебором точек на линиях пересечения. Найдя координаты точек, найдём расстояние между ними, но уже по цилиндру. Всё должно получиться, но лучше, мне кажется, пользоваться мат пакетом.
0
|
||
|
0 / 0 / 0
Регистрация: 15.05.2025
Сообщений: 6
|
|
| 15.05.2025, 19:09 [ТС] | |
|
Расстояние между точками, образованными пересечением "сверл" и цилиндра диаметром 1020 я нашел. Я выше прикреплял код на python, в котором это реализовано. Проблема в нахождении расстояния между двумя точками на поверхностях отверстий (то есть на их периметрах), которые наиболее приближены друг к другу. Я прикрепил иллюстрацию для лучшего понимания. Я пытался решить эту задачу в прямоугольных координатах, но, в данных случаях, я могу найти координаты точек центров получившихся отверстий, но не тех, которые на их периметрах. Скорее всего, эту задачу можно решить таким методом, но у меня не хватает знаний.
0
|
|
|
Нарушитель
212 / 352 / 62
Регистрация: 09.06.2015
Сообщений: 1,436
|
|||
| 15.05.2025, 20:59 | |||
|
4 уравнения это принадлежность каждой точки двум цилиндрам, и 2 уравнения это принадлежность точек общей плоскости. Плоскость проходит через центры отверстий и прямую, перпендикулярную оси основного цилиндра. То есть, отрезок b на чертеже принадлежит прямой, которая скрещивается с осью основного цилиндра. Это школьная геометрия.
0
|
|||
| 16.05.2025, 13:16 | |
|
9083, запишите уравнение винтовой линии на основном цилиндре (угол бета имеется согласно картинке).
Расположите на ней линии пересечения цилиндров сверления с основным цилиндром. Найдите длину винтовой винтовой линии между точками пересечения кривых сверления с винтовой линии.
0
|
|
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
|
|
| 16.05.2025, 13:33 | |
|
9083, я так понимаю, что геодезическая на цилиндре будет просто отрезком (минимальным) на его развертке.
0
|
|
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
|
|
| 16.05.2025, 14:48 | |
|
Nacuott, так винтовых линий можно сколько угодно провести. И точно не факт что геодезическая будет проходить через оси/центры отверстий.
0
|
|
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
|
|
| 16.05.2025, 15:11 | |
|
Nacuott, угол бета это угол между центрами. А геодезическая через центры не проходит.
По сути, надо отобразить отверстия на развертку и искать минимальное растояние между кривыми/отверстиями.
0
|
|
| 16.05.2025, 15:37 | ||
|
0
|
||
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
|
|
| 16.05.2025, 16:09 | |
|
Nacuott, нет, окружностей на развертке уже не будет, они превратятся в замкнутые кривые (жестянщики подтвердят)
. И надо искать минимальное растояние между этими кривыми. С центрами это растояние никак не связано.
0
|
|
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
|
||
| 16.05.2025, 16:58 | ||
|
Nacuott, это даже не эллипсы будут.
![]() Возьмите простой случай: два одинаковых по диаметру цилиндра, пересекающиеся под углом 90 градусов. На развертке линия их пересечения будет состоять из участков двух синусоид. Какой же это эллипс? Даже если (допустим) это эллипсы. Задача сведется к тому, чтобы найти минимальное расстояние между двумя эллипсами на плоскости. Она не решается аналитически, только численно. И этот отрезок минимальной длины не будет находиться на прямой между центрами эллипсов. Это понятно?
0
|
||
| 16.05.2025, 16:58 | |
|
Помогаю со студенческими работами здесь
20
Пересчет координат точек поверхности цилиндра Вычислить площадь боковой поверхности криволинейного цилиндра Найдите площадь боковой поверхности вписанного в параллелепипед цилиндра Найти высоту и площадь боковой поверхности цилиндра Найти высоту и радиус основания цилиндра с наибольшей площадью поверхности Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|