Где Android.Graphics.Camera устанавливает свои оси X, Y и Z, когда для canvas задано растровое изображение? - PullRequest
1 голос
/ 09 января 2012

Я хочу получить растровое изображение и манипулировать им следующим образом: enter image description here

Я создал пустое растровое изображение, на этом растровом рисунке я нарисовал то, что мне было нужно.Теперь мне нужно исказить аналогично этому, потому что тогда я буду рисовать все это поверх другого растрового изображения.Думайте об этом как о применении текстуры к коробке.Коробка просто представляет собой изображение коробки.Я вижу, как я делаю это, создавая растровые изображения на основе основного растрового изображения и рисуя их на окончательном растровом изображении с помощью матрицы, модифицированной Graphics.Camera.getMatrix ().У меня уже есть это работает, но моя проблема в том, чтобы понять, как именно манипулировать камерой.Я не знаю, где камера создает свои оси XY и Z в матрице.Или где матрица применяется.Или просто как все это получается вместе.

Когда я рисую на холсте, установленном для просмотра, я знаю, что могу вращать холст и рисовать оттуда, чтобы создать прямую диагональную линию, например, в игровом движке, чтобы нарисовать снаряд, действующий на два вектора.И я знаю, что при работе над OpenGL, существует подход с использованием конечного автомата, и я могу представить, где находится матрица в трехмерном пространстве.Но я просто не понимаю, как камера, матрица и растровое изображение связаны между собой.

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

Может кто-нибудь объяснить, какЯ хотел бы сделать то, что у меня на картинке?Я уже знаю, что буду создавать растровое изображение из региона в исходном растровом изображении.Затем объедините их, чтобы создать то, что находится в правом столбце, а затем поверните холст / растровое изображение и получите другое растровое изображение из зеленой секции и повторите все это снова.

Спасибо

1 Ответ

1 голос
/ 09 января 2012

Камера - это просто служебный класс, который генерирует матрицу, которую вы можете использовать в Canvas.Сгенерированная матрица содержит соответствующее преобразование.Вы сказали это сами:

это на самом деле не объясняет отношения между камерой, матрицей и холстом, за исключением того факта, что камера изменяет матрицу, а затем холст может рисовать что-то на основе этой матрицы.

Это все, что есть на самом деле:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...