0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 6
|
|
1 | |
Расчет угла наклона плоскости через углы наклона к осям координат и обратно13.12.2018, 19:08. Показов 11288. Ответов 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
Изменение координат прямой при изменение угла наклона Вычисление угла наклона одной прямой относительно другой Найдите угол наклона бокового ребра к плоскости основания Найти угол наклона бокового ребра к плоскости основания |
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
13.12.2018, 19:47 | 2 |
пробуйте углы брать в радианах
0
|
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 6
|
|
13.12.2018, 19:59 [ТС] | 3 |
Не, это я не упустил. Все углы переводятся в радианы при вычислении в экселе, здесь просто не стал писать экселевские формулы, ибо выглядят громоздко.
0
|
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 6
|
|
14.12.2018, 06:31 [ТС] | 5 |
наклон плоскости это угол между плоскостью и горизонтом, или угол между вектором перпендикулярным плоскости и вертикалью. а направление это горизонтальный угол между осью Y и проекцией вектора перпендикулярного данной плоскости на горизонт XOY.
0
|
14.12.2018, 07:52 | 6 |
Для начала договоримся о величинах углов, как это принято в математике. В пространстве
- угол между двумя прямыми (или двумя плоскостями, или прямой и плоскостью) всегда от 0 до 90 градусов, то есть берётся меньший угол - угол между прямой (или плоскостью) и вектором тоже от 0 до 90 градусов. - угол между двумя векторами от 0 до 180 градусов Удобно выражать ваши углы через углы Эйлера - это три угла между нормалью к плоскости и направлениями OX+, OY+, OZ+ соответственно, то есть между двумя векторами. Т.о., эти три угла могут лежать от 0 до 180 каждый и выполняется соотношение , а само уравнение плоскости, проходящей через начало координат, имеет вид Теперь выразим ваши углы через углы Эйлера. Так как нет, то мне проще вывести. Если нарисовать горизонтальную плоскость и пересечь её какой-то прямой (осью ОХ, например) с направлением на этой прямой вверх, то если нормальный вектор плоскости направлен тоже вверх, то угол от острый, а ваш угол ... не понимаю ваших английских терминов... назовём его по первой букве r будет дополняющий к углу до 90 градусов, то есть . А если вектор нормали направлен вниз, то угол тупой, но угол r всё равно острый (как угол между прямой и плоскостью, вы так написали), тогда . Таким образом, получаем формулу (1) Аналогично, рассмотрев ось ОY с теми же рассуждениями, получаем формулу (2) Теперь о наклоне данной плоскости к XOY. Найдём угол между нормалью данной плоскости и нормалью к XOY, то есть между и . Это два орта (векторы единичной длины), поэтому косинус угла между ними равен . Но может быть тупым, а угол между плоскостями острый, поэтому будем сравнивать не косинусы, а синусы, и получаем формулу (3) Для определения "направления проекции", как вы выразились (угол d), причём по отношению к направлению OY+ (а не OX+ почему-то, но не суть) найдём угол между проекцией нормали к вашей плоскости на XOY и направлением OY+, то есть между векторами и . Косинус этого угла равен . Проекция нормали на XOY это уже не единичный вектор, поэтому в знаменателе его длина. Используя то, что сумма квадратов косинусов углов Эйлера равна 1, получаем, что (4) . ( как синус угла от 0 до 180, поэтому модуль синуса не пишем). Получили систему из 4-х уравнений, в которой нужно исключить углы Эйлера, оставив только ваши углы r,p,t,d.
1
|
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 6
|
|
14.12.2018, 13:55 [ТС] | 7 |
Уважаемый jogano, большое спасибо за подробный ответ.
Исходя из обозначений которые вы применили, мне даны углы r и p, между плоскостью и направлениями OX+, OY+, OZ+. таким образом легко найти углы =90+r и =90+p. полученные углы будут от 90 до 180 градусов если r/p>0 и от 0 до 90 в случае отрицательных r и p. Угол между нормалью к данной плоскости и осью OZ+(она-же нормаль к горизонту). в целом этот угол и нужно найти, (практически r и p варьируются в пределах +-90 градусов, то угол может быть только острый (или 90)). я попробовал расчитать его из формулы , перекинув ее в и взяв оттуда арккосинус получить угол, но похоже этот метод не работает, так как при определенных углах сумма квадратов косинусов будет больше единицы, да и при углах r и p равных 45 градусов,углы и будут по 135 градусов что даст =90градусов (но вектор нормали в этом случае не будет перпендикулярен оси OZ+) вот как считать через я, честно говоря не понял. Ведь и в левой и в правой частях уравнения надо знать считает направление, и (после небольших танцев со знаками) вроде даже правильно, но попытка расчитать гамма по формуле везет те-же проблемы что и через сумму квадратов углов. Сильно подозреваю что что-то я делаю не так, может заметите?
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
14.12.2018, 14:25 | 8 |
Красная стрелка 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 [ТС] | 9 |
Уважаемый Excalibur921, большое спасибо за ответ.
Вы совершенно правильно определили углы на схеме. Я взял точку с координатами 0,0,1 (А), развернул ее на углы 25 градусов вокруг OX и 35 вокруг ОУ, таким образом углы Эйлера получились . для разворота использовал формулы Эйлера, которые собезъяничал несколько месяцев назад для других расчетов). получил координаты А1 и по формуле из 1-й ссылки нашел угол межде вектором к точке А1 и вектором 0,0,1. В итоге у меня получился tilt (он-же ) 42.06340643 градуса. Это точно совпадает с одной из формул которые кем-то были составлены до меня ) - . но если сложить квадраты косинусов углов то выходит 1,0586 вместо 1. Что собственно и смущает. Правильно-ли я понимаю, что для получения координат точки A2 надо взять А1 и заменить координату Z на ноль, дабы вычислить Tilt direction? И как провернуть обратный расчет из tilt ()) и tilt direction в pitch/roll?
0
|
14.12.2018, 16:34 | 10 |
По-моему, начинать надо с определений. Даже углы Эйлера в разных книгах определяются по-разному.
Если у вас разные формулы дают разные результаты, значит они выведены в разных предположениях, для разных типов координат. Системы крен-тангаж и крен-дифферент это РАЗНЫЕ системы. Объяснение "углы наклона этой структуры к горизонту относительно осей Y (pitch) и X (roll)" ничего не объясняет и даже затуманивает. pitch это вполне определенный термин. Скорее всего это тангаж. А может и дифферент. Посмотрите в учебниках, как он определяется. Как пример, я видел определение нескольких таких систем в учебнике Лойцянский, Лурье - Теоретическая механика 1 т. Если вы предпочитаете англоязычную литературу, то ищите определения и формулы в книгах по механике твердого тела, теории гироскопов и т. д.
1
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
14.12.2018, 18:47 | 11 |
Нет. Начать нужно с изначальной задачи, зачем все это и почему так странно\сложно\заумно.
Каша из методов поворота точки в 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 [ТС] | 12 |
Ну если уходить к истокам, то на морское дно ставится структура, что-то типа здорового ящика 20х10 метров. Датчиками измеряется ее наклон относительно горизонта. Датчики показывают именно наклон осей структуры - оси Y она-же зад/перед (pitch) и оси X лево/право (roll). кстати аглицкие термины именно от буржуйских датчиков.
Так как просто ради хохмы на дно ничего не ставят, структура имеет практическое назначение, для чего оборудована кучей разных фланцев, для подключения различных труб с газом, нефтью и прочими полезностями. Причем ось Y (перед) фланца совсем не обязательно паралельна оси Y структуры, а может быть и перпендикуляра. или под любым другим углом. (соответсвенно оси Х тоже расположены под углами, а Z считается условно паралельными) Собственно и требуется зная исходные данные в виде наклона всей конструкции по осям Y и Х, а также угол между осями Y структуры и Y1 фланца, определить углы наклона осей фланца над горизонтальной поверхностью. Ну и как делалось это прежде - это считался общий наклон структуры (tilt, он-же угол между нормалью к плоскости структуры и вертикалью ) и угол между направлением наклона и осью Y (tilt direction ) потом этот tilt directiction разворачивался дополнительно на угол между осями Y и Y1, и подсчитанный ранее tilt и свежеполученный tilt direction2 разкладывался на углы наклона над горизонтом pitch1 и roll1. Но я заметил что формулы которые используются не работают при больших углах наклона. к примеру если допустить что оси Y и Y1 совпадают, и начальные углы pitch и roll к примеру 15 и 25 градусов после перевода туда-обратно становятся 15 и 25.77. и мне стало интересно почему собственно. С практической точки зрения, старые формулы работают ОК, потому как углы обычно не превышают 2 градусов, и погрешность формул на при этих значениях меньше погрешности измерительного устройства. Здесь больше мой личный интерес, я когда начал копать не думал что так запарно все, а потом уже стало интересно.
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
15.12.2018, 12:58 | 13 |
Вроде так пашет:
Повернуть на –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 | |
15.12.2018, 12:58 | |
Помогаю со студенческими работами здесь
13
Найти угол наклона боковой грани до плоскости основания Задан вектор с координатами (х, у, z); найти углы наклона этого вектора к координатным осям Задан вектор с координатами (х, у, z)- Найти углы наклона этого вектора к координатным осям Задан радиус-вектор с координатами (X, Y, Z). Найти углы его наклона к координатным осям Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |