Просмотр конвейера и 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

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