Титла: 3D rotation Публикувано от: zxz в Dec 01, 2012, 21:11 Здравейте,
от доста време се мъча да направя ротация по оста у . На кратко искам да направя нещо като 3Д шутър. В езика който ползвам имам готова ротация на у обаче там ротира около кординати 0,0,0 а аз искам да ротира от позицията в която съм аз. Пробвах с няколко формули за вектори работят обаче не знам защо аз се въртя в кръг. Качил съм една версия за линукс без ротация . Моля само да ми кажете дали работи и при възможност да ми помогнете , защото вече 2 дена се мъчим с един приятел. http://dox.bg/files/dw?a=6d63eb42d0 Титла: Re: 3D rotation Публикувано от: clegg в Dec 02, 2012, 17:21 Здравей,
Видях че използваш java. Бих ти препоръчал да започнеш, използвайки готови библиотеки/engine-и вместо имплементираш математиката сам (не че ще ти се размина ученето на математиката защото все пак ще трябва да разбираш какво правиш, но поне имплемнтацията ще е правилна). Виж: http://en.wikipedia.org/wiki/Java_OpenGL#See_also Аз лично съм не съм експерт но съм се заигравал със LWJGL и Ardor и мисля че освен готовите имплементирани неща и работата с OpenGL, също ще можеш по лесно да намериш помощ за конкретни проблем във форумите на сътотвентите библиотеки както и готов код, макар да ти отнеме известно време в началото за да навлезеш. Колкото до ротация около ос паралелна на y и минаваща през дадена точка, при положение че имаш функция, която прави ротация около y, струва ми се най-лесно би могъл да го направиш (не съм сигурен за най-правилно обаче) ако транслираш обекта, който искаш да завъртиш, така че точката от обекта коята искаш да е стационарна съвпадне с (0,0,0) , демек вадиш от всички точки на обекта си координатите на стационарната точка, правиш завъртането и после ги добавяш обратно. |