Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
 Аватар для Desire7
3 / 3 / 2
Регистрация: 03.09.2013
Сообщений: 37

Формула поворота объекта

29.07.2015, 00:17. Показов 4051. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Подскажите, пожалуйста, формулу, по которой можно рассчитать угол ( в радианах ) поворота объекта так, чтобы он смотрел на другой объект. Что-то не получается объяснить на словах, по этому я прикрепил картинку.
Нужно просто синенькую фигуру повернуть на красную.

Спасибо.
Миниатюры
Формула поворота объекта  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.07.2015, 00:17
Ответы с готовыми решениями:

Вращение объекта вокруг оси. Матрицы поворота.
добрый день, нужно сделать программу вращение куба вокруг оси z. Применил матрицу поворота к точкам и они далеко отошли От заданных. Не...

Формула поворота
Можно ли как решить такую задачу: Есть например точка в середине формы и нужно нарисовать, провести линию от центра формы по заданному...

Как выглядит формула поворота в пространстве?
есть такая формула - x=x0+cos(a)*L y=y0+sin(a)*L где x0 и y0-координата точки ,a -градус поворота ,l-длина отрезка А какая формула...

7
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
29.07.2015, 02:12
alpha = std::arg( compl(100, -20) - compl(30, -60) ) - Angle,
где compl - это std::complex<double>
3
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
29.07.2015, 06:21
Лучший ответ Сообщение было отмечено Desire7 как решение

Решение

C++
1
2
3
4
vector V1 ;// позиция синего объекта
vector V2 ;// позиция красного объекта
vector V3 = V2 - V1; // Направление от V1 к V2
float rad = std::atan2( V3.y , V3.x ) - angle ;
2
1 / 1 / 0
Регистрация: 06.05.2021
Сообщений: 242
21.04.2024, 00:01
Цитата Сообщение от Croessmah Посмотреть сообщение
float rad = std::atan2( V3.y , V3.x ) - angle ;
А как быть, если повернуть нужно будет на 90 градусов? Тангенса 90 градусов не существует, а значит и арктангенс для 90 градусов не может быть посчитан.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
21.04.2024, 00:57
Цитата Сообщение от Ballantrae Посмотреть сообщение
А как быть
Посмотреть описание функции atan2.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,998
21.04.2024, 12:40
Цитата Сообщение от Ballantrae Посмотреть сообщение
арктангенс
atan2 это не арктангенс
0
place status here
 Аватар для gunslinger
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,026
21.04.2024, 13:02
Royal_X,
Prototype

double atan2(double y, double x);

long double atan2l(long double y, long double x);

Description

Calculates the arc tangent of y/x.

atan2 returns the arc tangent of y/x; it produces correct results even when the resulting angle is near pi/2 or -pi/2 (x near 0). If both x and y are set to 0, the function sets the global variable errno to EDOM, indicating a domain error.

atan2l is the long double version; it takes long double arguments and returns a long double result.

Return Value

atan2 and atan2l return a value in the range -pi to pi. Error handling for these functions can be modified through the functions _matherr and _matherrl.

Example

C++
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <math.h>
int main(void)
{
   double result;
   double x = 90.0, y = 45.0;
   result = atan2(y, x);
   printf("The arc tangent ratio of %lf is %lf\n", (y / x), result);
   return 0;
}
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,998
21.04.2024, 15:15
gunslinger, atan2 не арктангенс. Но вот для его вычисления используется арктангенс, поэтому его иногда называют двухаргументным арктангенсом.
См. https://en.wikipedia.org/wiki/Atan2
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2024, 15:15
Помогаю со студенческими работами здесь

Нужна формула поворота вокруг точки
пусть точка X=32.0; Y=16.0; и центральная точка Xo=0; Yo=0; и надо повернуть X,Y Вокруг Xo,Yo на 10 градусов по часовой (если можно...

Матрица поворота , поворот объёмной фигуры , формула
...Взял из вики формулу , всё чётко выполняется , но есть одна проблема при повороте не по базисным ортам (например при повороте вокруг оси...

Анимация поворота объекта.
Скажите пожалуйста, как сделать так, чтобы рыбка вот так поворачивалась? Как показано на рисунке.

Движение объекта в сторону поворота
Есть картинка (мувиклип), у неё рандомно задаётся угол поворота, как сделать как чтобы мувик двигался в ту сторону куда повернулся,...

Движение объекта в сторону поворота
Есть машинка. Она должна взаимодействовать с клавиатурой и при нажатие w\s\a\d должна совершать действие (вперед\назад\влево\вправо) при...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru