Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/41: Рейтинг темы: голосов - 41, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 8

Расчет угла поворота

23.09.2010, 00:09. Показов 8101. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Требуется найти угол поворота моста(Мостом на картинке обозначена линия).Мост может двигаться по часовой стрелке на 190 градусов и против часовой на 190 градусов.С обоих сторон моста стоят датчики,они показывают координату данной стороны моста в мм ,т.е сколько мм проходит сторона моста от начала координат- 0 градусов.Радиус известен,т.о нам известен какой угол пройден стороной моста от начала координат.Но задача состоит найти реально пройденный угол.
Например,мост был в начальном положении (рис 1): х1 в положении 0 градусов,х2 в положении 180 градусов.Далее он повернулся на некий угол,что x2 стал в положение 10 градусов от начала координат -0 градусов,а x1 в положение 190 градусов.
рисунок1

Эти переменные показывают положение моста в мм:
Pascal
1
2
x1: REAL; //длина дуги 1 (мм)
x2: REAL; //длина дуги 2 (мм)

Известен радиус rad
Далее по 2 известным величинам вычисляем углы
Pascal
1
2
3
//вычисление углов
angle1 := x1 / rad;
angle2 := x2 / rad;
Если посмотреть по рисунку1,то сторона x2 повернулась совсем не на 10 градусов,а на 190,как и сторона x1.вот нужно и найти реальный угол поворота моста.
рисунок2

Еще есть условие,что когда сторона моста проходит ноль градусов срабатывает датчик(устанавливается в 1),при повторном прохождении стороной моста сбрасывается.
Необходимо найти реально пройденный угол моста.Спасибо.
Ниже привожу код,как я придумала это реализовать.
Но дело в том ,Что все у меня получается очень частно,а нужно в общем виде и для любого максимального угла поворота моста не обязательно 190 градусов,а может и 390.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
x1: REAL; //длина дуги 1 (мм)
x2: REAL; //длина дуги 2 (мм)
t:=pi/180;
//вычисление углов
angle1 := x1 / rad;
angle2 := x2 / rad;
////если датчик номера оборота активен
IF TurnDirection THEN
IF x2<x1 then
//x2 прошел 190 по часовой
angle1:=angle1;
angle2:=angle2+180*t;
END_IF;
IF x2>x1 then
//x2 прошел 190 против часовой
angle1:=-(360*t-angle1);
angle2:=angle2-540*t;//(angle2-180*t)-360*t;
END_IF;
ELSE//если датчик номера оборота не активен
IF x2<x1 THEN
//x2 против 190 по часовой
angle1:=-(360*t-angle1);
angle2:=-(180*t-angle2);
END_IF;
IF x2>x1 THEN
//x2 прошел 190 по часовой
angle1:=angle1;//110
angle2:=angle2-180*t;//290-180
END_IF;
END_IF;
//Вычисление угла моста
Bridge_Angle:= (angle1+ angle2)/2;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.09.2010, 00:09
Ответы с готовыми решениями:

Как рассчитать поворот угла, зная координаты трех точек до поворота и после поворота угла
Как рассчитать поворот угла (в градусах), зная только координаты трех точек до поворота и после поворота данного угла? Заранее спасибо.

измеритель угла поворота
Ребята кто может помочь сделать измеритель угла поворота на msp430? Буду благодарен за любую помощь!

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

4
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
23.09.2010, 08:42
Если датчик измеряет длину дуги, то угол по часовой стрелке=длина дуги*360/длина окружности.
Дальше формулы приведения.
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 8
23.09.2010, 22:36  [ТС]
Puporev,спасибо за ответ.
Но загвоздка вот в чем.
Приведу пример ниже:
Например,мост был в начальном положении (рис 1): х1 в положении 0 градусов,х2 в положении 180 градусов.Далее он повернулся на некий угол по часовой стрелке,что x2 стал в положение 10 градусов от начала координат -0 градусов,а x1 в положение 190 градусов.
Если посмотреть по картинке,то сторона x2 повернулась совсем не на 10 градусов,а на 190,как и сторона x1.вот нужно и найти реальные углы поворота сторон моста,т.е в данном случае этот угол равен 190.
Вся проблема в том,что датчик будет показывать длину дуги в мм с измерительной ленты ,равную 10 градусам,даже если сторона повернулась на 190 градусов.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
24.09.2010, 07:21
Цитата Сообщение от evgesha08 Посмотреть сообщение
датчик будет показывать длину дуги в мм с измерительной ленты ,равную 10 градусам
Не понятно что за датчик. Если он фиксирует путь в мм, то он и должен показывать пройденный путь, хоть на угол n*pi.

Добавлено через 1 минуту
Или когда сторона моста проходит через 0, датчик тоже обнуляется?

Добавлено через 1 минуту
В этом случае без дополнительного счетчика обнулений вы не решите, откуда вы узнаете, 10 или 190 градусов, если датчик покажет 10.
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 8
24.09.2010, 23:20  [ТС]
Или когда сторона моста проходит через 0, датчик тоже обнуляется?
Датчик -это не энкодер,а такая штука ,которая проходя по измерительной ленте,которая наложена на весь круг, тыкает в нее и получает значения в мм,каждый раз ,например при углах 10 и 190 градусах одинаковое.
Есть еще датчик в нуле,который меняет свое состояние (о или 1) при переходе стороны моста через него.
Меня интересует такой вопрос как бы так изловчиться,чтобы не использовать в расчетах углов такого типа вычисления:
Pascal
1
2
angle1:=-(360*t-angle1);
angle2:=-(180*t-angle2);
Т.е константы 360 градусов в радианах и т.п.
И еще сделать это универсальным для любого угла поворота,не обязательно для максимального 190 градусов,а может и больше,например для 390 градусов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.09.2010, 23:20
Помогаю со студенческими работами здесь

датчик угла поворота
из чего и как модно сделать абсолютный датчик угла поворота? причем такой который &quot;помнит/знает&quot; своё положение если нет питания....

Определение угла поворота изображения
Всем привет! Столкнулся с следующей проблемой: имеется сканированное изображение (после бинаризованное), на котором имеется таблица....

Помогите с датчиком угла поворота.
Доброго времени суток! имеется микросхема MLX90316 - цифровой, 14-ти битный датчик угла поворота на основе эффекта Холла. Интерфейс...

Контроль угла поворота цилиндра
Добрый день! Есть цилиндр который вращается, я через камеру с помощью EMGU(openCV) беру два соседних кадра и определяю контрольный точки...

Взаимозависимость угла поворота и угловой скорости
Здравствуйте, помогите пожалуйста разобраться. Взаимозависимости уголь \varphi поворота с угловой скорости \omega можно написать так: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru