1 / 1 / 1
Регистрация: 02.05.2017
Сообщений: 23

Поворот объекта. Поставить ось вращения на заданное значение

30.08.2017, 22:51. Показов 2867. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Может, кто знает функцию для того, чтобы оси вращения(x, y, z) имели заданное мной значение.
А не glRotatef(1, 1, 1, 1), который просто поворачивает фигуру на определенное кол-во градусов.
А то придется высчитывать это и записывать в while True в новые координаты вершин объекта, очень будет долго.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.08.2017, 22:51
Ответы с готовыми решениями:

Ось вращения шестеренок
Всем привет. Нужна помощь с задачкой. В конусной зубчатой передаче оси вращения шестеренки неподвижны. Выразить омега 2 через омега1 и...

AutoLisp: Как программно задать выбрать ось вращения?
Здравствуйте! Хотелось бы узнать как программно можно выбрать ось вращения при команде 3Dповернуть(_3drotate)? Вот лог автокада: ...

Организация вращения объекта вокруг уже вращающегося объекта
Собственно необходимо организовать движение вокруг уже движущегося объекта. XNA изучаю недавно, мне удалось создать лишь вращение...

5
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
31.08.2017, 09:52
можно так сделать
x, y, z - точка относительно которой нужно повернуть

a - угол поворота

C++
1
2
3
glTranslate(-x, -y, -z);
glRotate(a, 0, 0, 1);
glTranslate(x, y, z);
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
31.08.2017, 11:22
Неправильно используете glRotate.
https://www.khronos.org/regist... Rotate.xml
Нужно задать вектор вокруг которого поворот а не заполнить единицами отбалды не понимая что это и зачем...
“Specify the x, y, and z coordinates of a vector,”
0
1 / 1 / 1
Регистрация: 02.05.2017
Сообщений: 23
31.08.2017, 11:39  [ТС]
Я как раз это понимаю. Ввёл как пример написания. Я хочу сделать так, чтобы я записал в функции 15 градусов (может быть в радианах) и объект повернулся на 15 градусов относительно начального положения. Ввёл дальше 32, он бы повернулся на 32 относительно тоже НАЧАЛЬНОГО ПОЛОЖЕНИЯ, а НЕ повернулся бы дальше еще на 32 градуса, в итоге был бы 15 + 32 = 47 градусов. Вот такая функция мне нужна. Что-то вроде сеттинга поворота объекта относительно начального положения. А так приъодится напрямую с координатами связываться, что у меня кое-как получается, но довольно муторно и сложно.
0
 Аватар для snake32
3472 / 1656 / 236
Регистрация: 26.02.2009
Сообщений: 8,122
Записей в блоге: 6
31.08.2017, 12:09
Лучший ответ Сообщение было отмечено МихаилЯров как решение

Решение

МихаилЯров, так не нужно просто сохранять предыдущий поворот:
C++
1
2
3
4
glPushMatrix();// запоминаем матрицу в стеке
glRotate(a, 0, 0, 1);
// рисуем объект
glPopMatrix();// восстанавливаем матрицу из стека
1
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
31.08.2017, 12:18
Так не накапливайте поворот.
Можно сбрасывать трансформации вызывая перед поворотом glLoadIdentity();
http://www.firststeps.ru/mfc/opengl/r.php?11
Можно хранить в стеке glPushMatrix() повернули и снова glPopMatrix()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.08.2017, 12:18
Помогаю со студенческими работами здесь

Проекция с фигурой Тетраэдр - Ось вращения не должна совпадать с собственной вертикальной осью фигуры
Написать программу для изображения многогранника, вращающегося вокруг оси ОY. Ось вращения не должна совпадать с собственной вертикальной...

QCustomPlot поставить основной Y-ось
Всем привет! Такая проблема, есть два массива, по ним надо построить график. Все бы хорошо, но проблема в том что нужно поменять оси...

Как правильно выбрать ось вращения и какой градус брать для построения натуральной величины треугольника с координатами
Объясните пожалуйста, как правильно выбрать ось вращения и как ой градус нужно брать для построения натуральной величины треугольник с...

Поставить вторую ось не сгубив первую
Не знаю, в какую тему надо точно писать, так что, если что, извините) У меня на винте 4 раздела, 1 системный, 2 основных, один скрытый с...

Раритет - какую ось туда поставить
Есть комп оригинальной ibm сборки pc 300gl. с 450 мгц пень 2, 256 мб рам(заменено, в сборке было 64), встроенная видео карта какая-то трио...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru