0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 6
|
|
Расчет угла наклона плоскости через углы наклона к осям координат и обратно13.12.2018, 19:08. Показов 12127. Ответов 12
Метки нет Все метки)
(
Добрый вечер уважаемые математики, возможно вам нетрудно будет подсказать ламеру пару формулок. Уже пару дней сижу над решением прикладной задачи.
Есть структура (плоскость) и углы наклона этой структуры к горизонту относительно осей Y (pitch) и X (roll). требуется найти общее наклонение (tilt) и его направление (tilt direction). Вроде-бы все просто, я нашел две разные формулы для tilt=atan(sqrt(tan(pitch)^2+tan(roll)^2) ) или acos*(cos(pitch)*cos(roll)), но дело в том, что обе формулы дают разные результаты при больших углах (15-25 и более градусов) и при обратном пересчете из общего наклона в наклон по осям ни в одном случае не получается начальных результатов. К примеру если углы по осям 15 и 25 градусов перевести туда-обратно, то в одном случае выходит 15 и 25.77, а со второй формулой 15,47 и 24,76. может у кого-нибудь есть проверенный калькулятов для перевода туда-обратно? или формулка? к сожалению в школе учился плохо и сам соображаю туго
0
|
13.12.2018, 19:08 | |
Ответы с готовыми решениями:
12
Изменение координат прямой при изменение угла наклона
Найдите угол наклона бокового ребра к плоскости основания |
![]() ![]() |
|
13.12.2018, 20:23 | |
Что это такое? Наклон данной плоскости к плоскости ХОY? "Его направление" что такое?
0
|
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 6
|
|
14.12.2018, 06:31 [ТС] | |
наклон плоскости это угол между плоскостью и горизонтом, или угол между вектором перпендикулярным плоскости и вертикалью. а направление это горизонтальный угол между осью Y и проекцией вектора перпендикулярного данной плоскости на горизонт XOY.
0
|
![]() ![]() |
|
14.12.2018, 07:52 | |
Для начала договоримся о величинах углов, как это принято в математике. В пространстве
- угол между двумя прямыми (или двумя плоскостями, или прямой и плоскостью) всегда от 0 до 90 градусов, то есть берётся меньший угол - угол между прямой (или плоскостью) и вектором тоже от 0 до 90 градусов. - угол между двумя векторами от 0 до 180 градусов Удобно выражать ваши углы через углы Эйлера - это три угла Теперь выразим ваши углы через углы Эйлера. Так как нет, то мне проще вывести. Если нарисовать горизонтальную плоскость и пересечь её какой-то прямой (осью ОХ, например) с направлением на этой прямой вверх, то если нормальный вектор плоскости направлен тоже вверх, то угол (1) Аналогично, рассмотрев ось ОY с теми же рассуждениями, получаем формулу (2) Теперь о наклоне данной плоскости к XOY. Найдём угол между нормалью данной плоскости и нормалью к XOY, то есть между (3) Для определения "направления проекции", как вы выразились (угол d), причём по отношению к направлению OY+ (а не OX+ почему-то, но не суть) найдём угол между проекцией нормали к вашей плоскости на XOY и направлением OY+, то есть между векторами (4) Получили систему из 4-х уравнений, в которой нужно исключить углы Эйлера, оставив только ваши углы r,p,t,d.
1
|
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 6
|
|
14.12.2018, 13:55 [ТС] | |
Уважаемый jogano, большое спасибо за подробный ответ.
Исходя из обозначений которые вы применили, мне даны углы r и p, между плоскостью и направлениями OX+, OY+, OZ+. таким образом легко найти углы Угол я попробовал расчитать его из формулы вот как считать Сильно подозреваю что что-то я делаю не так, может заметите?
0
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
14.12.2018, 14:25 | |
Красная стрелка X, зеленая Y, синяя Z.
Точку A(0,0,1) повернули вокруг OX на угол pitch затем повернули вокруг OY на угол roll получили A1. Угол между векторами A1,A это tilt? Проекция A1 на XOY точка A2. Задали точка B(0,1,0). Угол между векторами A2,B это tilt direction? Все что тут нужно "угол между векторами" http://www.webmath.ru/poleznoe/formules_13_9.php и координаты точки A(0,0,1) после всех поворотов назвал A1. Странные у вас формулы только углы играют...где вы их взяли хз. откуда тут система 4 уравенений хз… может возможно еще проще без векторов, есть 3 вершины треугольника, найти угол. Тут можно поискать https://ru.wikipedia.org/wiki/... угольников
1
|
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 6
|
|
14.12.2018, 16:29 [ТС] | |
Уважаемый Excalibur921, большое спасибо за ответ.
Вы совершенно правильно определили углы на схеме. Я взял точку с координатами 0,0,1 (А), развернул ее на углы 25 градусов вокруг OX и 35 вокруг ОУ, таким образом углы Эйлера получились ![]() Правильно-ли я понимаю, что для получения координат точки A2 надо взять А1 и заменить координату Z на ноль, дабы вычислить Tilt direction? И как провернуть обратный расчет из tilt (
0
|
![]() |
|
14.12.2018, 16:34 | |
По-моему, начинать надо с определений. Даже углы Эйлера в разных книгах определяются по-разному.
Если у вас разные формулы дают разные результаты, значит они выведены в разных предположениях, для разных типов координат. Системы крен-тангаж и крен-дифферент это РАЗНЫЕ системы. Объяснение "углы наклона этой структуры к горизонту относительно осей Y (pitch) и X (roll)" ничего не объясняет и даже затуманивает. pitch это вполне определенный термин. Скорее всего это тангаж. А может и дифферент. Посмотрите в учебниках, как он определяется. Как пример, я видел определение нескольких таких систем в учебнике Лойцянский, Лурье - Теоретическая механика 1 т. Если вы предпочитаете англоязычную литературу, то ищите определения и формулы в книгах по механике твердого тела, теории гироскопов и т. д.
1
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
14.12.2018, 18:47 | |
Нет. Начать нужно с изначальной задачи, зачем все это и почему так странно\сложно\заумно.
Каша из методов поворота точки в 3д есть на википедии https://ru.wikipedia.org/wiki/Матрица_поворота Да. Хз…они совсем другие. Зачем вам вообще все эти извращения с эйлером,pitch,roll,tilt,tilt direction? Зачем такие сложности? Там еще шарнирный замок… Берите “матрицу поворота вокруг произвольной оси в 3д” по ссылке выше. Задаете ось поворота и угол. Множите вектор на матрицу и вуаля…крутим что угодно и как угодно. Добавлено через 20 минут Как-то так: A повернули на pitch получили A1 A1 повернули на roll получили A2 tilt это угол между A и A2 tilt direct угол между (0,1,0) и (xA2,yA2,0) Есть точка повернутого тела A2. найти roll это угол между A и (xA2,0,zA2) pitch хитрый, нужно повернуть A2 на угол -roll получим A1 pitch это угол между A и A1. Извращение еще то...и непонятно зачем это надо.
0
|
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 6
|
|
15.12.2018, 06:57 [ТС] | |
Ну если уходить к истокам, то на морское дно ставится структура, что-то типа здорового ящика 20х10 метров. Датчиками измеряется ее наклон относительно горизонта. Датчики показывают именно наклон осей структуры - оси Y она-же зад/перед (pitch) и оси X лево/право (roll). кстати аглицкие термины именно от буржуйских датчиков.
Так как просто ради хохмы на дно ничего не ставят, структура имеет практическое назначение, для чего оборудована кучей разных фланцев, для подключения различных труб с газом, нефтью и прочими полезностями. Причем ось Y (перед) фланца совсем не обязательно паралельна оси Y структуры, а может быть и перпендикуляра. или под любым другим углом. (соответсвенно оси Х тоже расположены под углами, а Z считается условно паралельными) Собственно и требуется зная исходные данные в виде наклона всей конструкции по осям Y и Х, а также угол между осями Y структуры и Y1 фланца, определить углы наклона осей фланца над горизонтальной поверхностью. Ну и как делалось это прежде - это считался общий наклон структуры (tilt, он-же угол между нормалью к плоскости структуры и вертикалью Но я заметил что формулы которые используются не работают при больших углах наклона. к примеру если допустить что оси Y и Y1 совпадают, и начальные углы pitch и roll к примеру 15 и 25 градусов после перевода туда-обратно становятся 15 и 25.77. и мне стало интересно почему собственно. С практической точки зрения, старые формулы работают ОК, потому как углы обычно не превышают 2 градусов, и погрешность формул на при этих значениях меньше погрешности измерительного устройства. Здесь больше мой личный интерес, я когда начал копать не думал что так запарно все, а потом уже стало интересно.
0
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
15.12.2018, 12:58 | |
Вроде так пашет:
Повернуть на –pitch ось Y, затем повернуть ось Y в нужную сторону на угол между Y и Y1. Это задаст ориентацию Y1. Повернуть –roll ось X, затем повернуть эту ось X в нужную сторону снова на угол между Y и Y1. Это задаст ориентацию X1. Векторное произведение X1 на Y1 или Y1 на X1(зависит от того куда смотрит ось X) задаст ориентацию Z1. Зачем тут tilt и tilt direct хз…
0
|
15.12.2018, 12:58 | ||||||
Помогаю со студенческими работами здесь
13
Найти угол наклона бокового ребра к плоскости основания Найти угол наклона боковой грани до плоскости основания
Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
|
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
|
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
|
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
|
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
|
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
|
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
|
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
|
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
|
Реляционная модель и правила Кодда: фундамент современных баз данных
Codd 05.04.2025
Конец 1960-х — начало 1970-х годов был периодом глубоких трансформаций в области хранения и обработки данных. На фоне растущих потребностей бизнеса и правительственных структур существовавшие на тот. . .
|