/ / Как да карам фотоапарата нагоре вектор от ролка, смола и издърпване? отворен, графичен, 3d, directx, xna

Как да накараме фотоапарата да се свали от вектора, да се спусне и да се върне? отворен, графичен, 3d, directx, xna

Трябва да получа вектор за камера (да се получиправилният вид) от ъглите на ролката, терена и ъгъла на завъртане (в градуси). Аз се опитвам различни неща за няколко часа и не са имали късмет Тъжен. Всяка помощ тук ще бъде оценена!

Отговори:

5 за отговор № 1

Roll, Pitch и Yaw дефинират ротация в 3 оси. от тези ъгли можете да конструирате 3x3 трансформационна матрица, която изразява тази ротация (вижте как)
След като имате тази матрица, вземете своя редовен вектор, кажете (0,1,0), ако "нагоре" е оста Y и я умножете с матрицата. Това, което ще получите, е трансформираният вектор.

редактиране-
Прилагането на трансформацията на (0,1,0) есъщото нещо като вземането на средния ред. Трите реда на матрицата съставляват ортогонална основа на въртящата се система. Имайте предвид, че 3D графичен API използва 4x4 матрици. Така че, за да направите 4x4 матрица от 3x3 ротационна матрица, трябва да добавите "1" в M [3] [3] (ъгъла) и нули в останалата част така:

r r r 0
r r r 0
r r r 0
0 0 0 1

1 за отговор № 2

Това може да не отговори директно на въпроса ви,въпреки че все още може да помогне. Имам безплатен проект с отворен код за XNA, който създава терминал за отстраняване на грешки, който покрива играта ви, докато се изпълнява. Можете да използвате това, за да търсите ценности, да извиквате методи или каквото и да било. Така че, ако имате матрица на трансформацията и искате да извлечете различни части от нея, докато играта се изпълнява, можете да направите това. Проектът може да бъде намерен тук: http://www.protohacks.net/xna_debug_terminal

Нямам много опит в математикатавие използвате, но се надяваме, че Shoosh пост помага на това.Може би отстраняване на грешки терминал може да ви помогне, когато изпробвате неговата идея или в други бъдещи проблеми, които срещате.