Изменение вращения куба оси от центра к правому углу куба в открытых окнах - PullRequest
1 голос
/ 13 апреля 2011

У меня проблемы с вращением куба, мои требования - повернуть куб так, чтобы его новая позиция начиналась с конца одной грани. Я попытался повернуть куб, используя команду opengl es glrotatef (90,0,1), здесьвращение происходит в центре куба. Я хочу сместить правый угол куба.Если я не уверен, пожалуйста, дайте мне знать

1 Ответ

2 голосов
/ 15 апреля 2011

rotatef вращается вокруг начала координат. Таким образом, вы можете настроить геометрию куба так, чтобы его координаты располагались с началом координат на грани, вокруг которой вы хотите вращаться, или вы можете сделать это самостоятельно во время выполнения с помощью быстрого вызова translatef.

Итак, если предположить, что ваш куб равен 2 единицам в каждом направлении (то есть простирается на одну единицу от центра как положительно, так и отрицательно), то тогда, где у вас, вероятно, есть что-то вроде:

glRotatef(90, 0, 1, 0);
somehowDrawCube();

Вы бы положили:

glRotatef(90, 0, 1, 0);
glTranslatef(-1, 0, 0); // to align the right face onto the local origin
somehowDrawCube();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...