2016-09-13 5 views
0

Матрица в каир графического модуля в Python описывается какКак преобразовать матрицу Cairo Python в матрицу Canvas для Android?

cairo.Matrix(xx = 1.0, yx = 0.0, xy = 0.0, yy = 1.0, x0 = 0.0, y0 = 0.0) 

В Canvas Andorid, в Матрица определяется как,

Класс Матрица имеет матрицу 3х3 для преобразования координат.

Если указаны эти 6 значений аффинного преобразования (xx, yx, xy, yy, x0, y0), то как они могут быть помещены в 9-значную матрицу Android?

+1

Я не знаю Android Canvas, но я предполагаю, что он использует [однородные координаты] (https://en.wikipedia.org/wiki/Transformation_matrix#Other_kinds_of_transformations) для своих матриц преобразования. –

ответ

0

6 значных PyCairo Матрица может быть отображена в 9 значных Android Matrix, как следует,

android.graphics.Matrix() matrix = new android.graphics.Matrix(); 
matrix.setValues(new float[] {xx, xy, x0, yx, yy, y0, 0F, 0F, 1F}); 

В терминах матричной математики, отображение на самом деле выглядел так,

| xx xy x0 | 
| yx yy y0 | 
| 0 0 1 | 
Смежные вопросы