Как я могу сделать для 2D-изображения и вращать его вокруг своей оси X, Y или Z, как если бы это было 3D-изображение. В Java? - PullRequest
0 голосов
/ 25 апреля 2009

Я хочу добиться эффекта двумерного изображения, которое у меня есть, но немного наклонено, например, плоскость, я хочу, чтобы изображение можно было вращать вокруг своей оси Y. Любой может помочь мне с некоторыми представлениями о том, как это сделать. .. **

Ответы [ 2 ]

2 голосов
/ 25 апреля 2009

В основном вам нужна небольшая линейная геометрия / алгебра и / или пакет, чтобы сделать их для вас.

С геометрической точки зрения вы думаете, что изображение находится на плоскости в пространстве; вы смотрите на него так, как будто оно обратно проецируется на ваш монитор. Если картинка точно параллельна этому экрану и имеет одинаковый размер, каждая точка отображается на пиксель на экране. В противном случае вам нужно выполнить вычисление, которое делает это отображение, которое включает в себя функцию триггера для углов в направлениях x, y, z между этой плоскостью и плоскостью экрана. Появляется линейная алгебра, потому что простой способ справиться с этим вычислением - это серия умножений на 4 & times; 4 матрицы.

Теперь вы можете запрограммировать все это сами, и для того, что вы думаете об этом, не будет так уж сложно. Посмотрите любой хороший текст компьютерной графики, например Ширли или Фоли и ван Дамм .

Что касается пакета, в Java есть хорошая трехмерная графика. Еще лучше, есть хорошие учебники:

0 голосов
/ 25 апреля 2009

В каком контексте? Использование 3D API, такого как OpenGL через JOGL, кажется мне самым простым способом достижения этого. В противном случае, если угол будет переменным, вам понадобится какой-либо вид программного рендерера.

...