Просмотр конвейера и 3D-преобразованийJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Просмотр конвейера и 3D-преобразований

Сообщение Anonymous »

Мой вопрос довольно простой в области компьютерной графики, но почему-то я не смог найти ответ.
Пролог:
Я хочу написать программу, которая печатает многоугольники на холсте, и я хотел бы позволить пользователям играть с многоугольниками - масштабировать, перемещать и вращать (вокруг осей x/y/z).
Мне следует использовать только Java AWT; не JOGL (библиотека Java для openGL).

Я получаю многоугольники как трехмерные мировые координаты через входной файл в программу, а также свойства «камеры», такие как координаты камеры, точка просмотра, вектор вверх и размер окна (используется в проекции из 3D в 2D).

Сначала вопрос:
Моя первая проблема — написать конвейер просмотра, чтобы координаты трехмерного мира преобразовывались в координаты просмотра (координаты камеры), затем проецировались на двухмерные координаты и выполняли отсечение для создания перспективы. Я просмотрел бесчисленное количество видео и методов, но не могу определиться с окончательными матрицами.

Второй вопрос:
Моя вторая проблема заключается в том, где применить матрицы 3D-преобразования.
Должны ли преобразования применяться к исходным мировым координатам (а затем, конечно, продолжить конвейер просмотра) или непосредственно для просмотра координат (и продолжить конвейер с этого момента) точка)?
Для пояснения обозначим конвейер просмотра как A->B->C->D, который пересчитывается при каждом пользовательском преобразовании, а преобразование, инициированное пользователем (может быть любым из вышеперечисленных), как T.
Меня беспокоит, следует ли выполнять TA->B->C->D или A->TB->C->D.

Подробнее здесь: https://stackoverflow.com/questions/367 ... formations
Ответить

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

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

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

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

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