Я действительно задираю с математикой, которую мне нужны для этой математики, никогда не был моей сильной стороной, как только вы попадаете в «Исчисление и геометрию».DirectX 3D rotate eyePt вокруг lookAt
Так как я вращать Vector3 вокруг другого Vector3
D3DXVECTOR3 lookAt = this->cam->getLookAt();
D3DXVECTOR3 eyePt = this->cam->getEyePt();
мне нужно повернуть вокруг lookAt
eyePt
, как я это делаю, я знаю, что нужно Матрицу, но то, что я должен заполнить его и как я делаю поворот в нем, я просто не понимаю.
Так что, если кто-нибудь может предоставить код с объяснениями шагов, используемых, чтобы сделать это действительно поможет
Еще одно замечание, что я только хочу, чтобы перевести на X, ось Z, как я вращение вокруг оси Y так вот изображение того, что я пытаюсь сделать
Вы знаете, как умножить матрицу на вектор, чтобы получить новый вектор? – Beta
Не используйте обычный оператор '*'. –
Подумайте об этом как о переводе by -eyePt, так что точка, в которой вы вращаетесь, находится на (0,0,0), а затем на вращение (теперь легко вы находитесь в начале координат), а затем перевод назад + eyePt, чтобы вернуть точку туда, где вы хотите. Разумеется, все они могут быть объединены в одну матрицу. – Alan