Как заставить колесо двигаться по круговой траектории в зависимости от угла его поворота в OpenGL?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как заставить колесо двигаться по круговой траектории в зависимости от угла его поворота в OpenGL?

Сообщение Anonymous »

Я работаю над простым проектом OpenGL, в котором мне нужно имитировать движение колеса. Я хочу, чтобы колесо двигалось по круговой траектории в зависимости от угла его поворота. В настоящее время колесо движется вперед по прямой, когда я нажимаю клавишу «w». У меня есть функции для вращения колеса влево и вправо, но я изо всех сил пытаюсь заставить его двигаться по круговой траектории.
Вот соответствующая часть моего кода:

Код: Выделить всё

GLfloat deg = 0;
GLfloat xWheel = 0, yWheel = -1.2, zWheel = 2;
GLfloat wheelColor[3] = { 0, 0, 0 };

// Function to rotate the wheel to the left
static void rotateWheelLeft() {
if (deg > -45) {
deg -= 2.0f;
}
}

// Function to rotate the wheel to the right
static void rotateWheelRight() {
if (deg < 45) {
deg += 2.0f;
}
}

// Function to move the wheel forward based on its rotation angle
static void moveForward() {
GLfloat radianAngle = deg * 3.14 / 180;

GLfloat forwardX = 0.1f * cos(radianAngle);
GLfloat forwardZ = 0.1f * sin(radianAngle);

xWheel -= forwardX;
zWheel += forwardZ;
}

Текущее поведение:
Колесо движется вперед по прямой линии в зависимости от угла поворота, когда я вызываю moveForward().
Я могу вращать колесо влево и вправо используя функции RotateWheelLeft() и RotateWheelRight().
Желаемое поведение:
Я хочу, чтобы колесо двигалось по круговой траектории, сохраняя при этом угол поворота.
колесо должно двигаться по круговой траектории, а не по прямой.

Подробнее здесь: https://stackoverflow.com/questions/785 ... e-in-openg
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»