exponenta event banner

transformPointsForward

Применение прямого геометрического преобразования

Описание

пример

[x,y] = transformPointsForward(tform,u,v) применяет прямое преобразование геометрического преобразования 2-D tform к точкам, указанным координатами u и v.

[x,y,z] = transformPointsForward(tform,u,v,w) применяет прямое преобразование геометрического преобразования 3-D tform к точкам, указанным координатами u, v, и w.

X = transformPointsForward(tform,U) применяет прямое преобразование tform к входной матрице координат U и возвращает матрицу координат X. transformPointsForward отображает k-ю точку U(k,:) в точку X(k,:).

Примеры

свернуть все

Создание affine2d объект, определяющий преобразование.

theta = 10;

tform = affine2d([cosd(theta) -sind(theta) 0; sind(theta) cosd(theta) 0; 0 0 1])
tform = 

  affine2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

Применить прямое геометрическое преобразование к входу (u,v) точка.

[X,Y] = transformPointsForward(tform,5,10)
X =

    6.6605


Y =

    8.9798

Задайте векторы x и y координат пяти точек для преобразования.

x = [10 11 15 2 2];
y = [15 32 34 7 10];

Определите функции обратного и прямого отображения. Обе функции принимают и возвращают точки в упакованном формате (x, y).

inversefn = @(c) [c(:,1).^2,sqrt(c(:,2))];
forwardfn = @(c) [sqrt(c(:,1)),c(:,2).^2];

Создайте 2-D объект геометрического преобразования, tform, которая сохраняет функцию обратного отображения и необязательную функцию прямого отображения.

tform = geometricTransform2d(inversefn,forwardfn)
tform = 
  geometricTransform2d with properties:

        InverseFcn: @(c)[c(:,1).^2,sqrt(c(:,2))]
        ForwardFcn: @(c)[sqrt(c(:,1)),c(:,2).^2]
    Dimensionality: 2

Примените обратное геометрическое преобразование к входным точкам.

[u,v] = transformPointsInverse(tform,x,y)
u = 1×5

   100   121   225     4     4

v = 1×5

    3.8730    5.6569    5.8310    2.6458    3.1623

Применение прямого геометрического преобразования к преобразованным точкам u и v.

[x,y] = transformPointsForward(tform,u,v)
x = 1×5

    10    11    15     2     2

y = 1×5

   15.0000   32.0000   34.0000    7.0000   10.0000

Создание affine3d объект, определяющий преобразование.

tform = affine3d([3 1 2 0;4 5 8 0;6 2 1 0;0 0 0 1])
tform = 

  affine3d with properties:

                 T: [4×4 double]
    Dimensionality: 3

Применить прямое преобразование 3-D геометрического преобразования к входу (u,v,w) точка.

[X,Y,Z] = transformPointsForward(tform,2,3,5)
X =

    48


Y =

    27


Z =

    33

Задайте векторы координат x, y и z пяти точек для преобразования.

x = [3 5 7 9 11];
y = [2 4 6 8 10];
z = [5 9 13 17 21];

Определите функции обратного и прямого отображения, которые принимают и возвращают точки в упакованном формате (x, y, z).

inverseFcn = @(c)[c(:,1).^2,c(:,2).^2,c(:,3).^2];
forwardFcn = @(c)[sqrt(c(:,1)),sqrt(c(:,2)),sqrt(c(:,3))];

Создайте 3-D объект геометрического преобразования, tform, которая хранит эти функции обратного и прямого отображения.

tform = geometricTransform3d(inverseFcn,forwardFcn)
tform = 
  geometricTransform3d with properties:

        InverseFcn: @(c)[c(:,1).^2,c(:,2).^2,c(:,3).^2]
        ForwardFcn: @(c)[sqrt(c(:,1)),sqrt(c(:,2)),sqrt(c(:,3))]
    Dimensionality: 3

Примените обратное преобразование этого 3-D геометрического преобразования к входным точкам.

[u,v,w] = transformPointsInverse(tform,x,y,z)
u = 1×5

     9    25    49    81   121

v = 1×5

     4    16    36    64   100

w = 1×5

    25    81   169   289   441

Применение прямого геометрического преобразования к преобразованным точкам u, v, и w.

[x,y,z] = transformPointsForward(tform,u,v,w)
x = 1×5

     3     5     7     9    11

y = 1×5

     2     4     6     8    10

z = 1×5

     5     9    13    17    21

Входные аргументы

свернуть все

Геометрическое преобразование, указанное как объект геометрического преобразования.

Для 2-D геометрических преобразований: tform может быть rigid2d, affine2d, projective2d, или geometricTransform2d объект геометрического преобразования.

Для 3-D геометрических преобразований: tform может быть affine3d, rigid3d, или geometricTransform3d объект геометрического преобразования.

x - координаты точек, подлежащих преобразованию, определяемые как числовой массив m-by-n или m-by-n-by-p. Количество измерений u соответствует размерности tform.

Типы данных: single | double

y - координаты точек, подлежащих преобразованию, определяемые как числовой массив m-by-n или m-by-n-by-p. Размер v должен соответствовать размеру u.

Типы данных: single | double

z-координаты точек, подлежащих преобразованию, задаются в виде числового массива m-by-n-by-p. w используется только тогда, когда tform является 3-D геометрическим преобразованием. Размер w должен соответствовать размеру u.

Типы данных: single | double

Координаты точек, подлежащих преобразованию, задаются в виде числового массива l-by-2 или l-by-3. Количество столбцов U соответствует размерности tform.

В первом столбце перечислены координаты X каждой точки для преобразования, а во втором столбце - координаты Y. Если tform представляет собой 3-D геометрическое преобразование, U имеет размер l-на-3, а в третьем столбце указана координата z точек для преобразования.

Типы данных: single | double

Выходные аргументы

свернуть все

x - координаты точек после преобразования, возвращаемые в виде числового массива m-by-n или m-by-n-by-p. Количество измерений x соответствует размерности tform.

Типы данных: single | double

y - координаты точек после преобразования, возвращаемые в виде числового массива m-by-n или m-by-n-by-p. Размер y соответствует размеру x.

Типы данных: single | double

z-координаты точек после преобразования, возвращаемые в виде m-by-n-by-p числового массива. Размер z соответствует размеру x.

Типы данных: single | double

Координаты точек после преобразования, возвращаемые в виде числового массива. Размер X соответствует размеру U.

В первом столбце перечислены координаты X каждой точки после преобразования, а во втором столбце - координаты Y. Если tform представляет собой 3-D геометрическое преобразование, в третьем столбце указана координата z точек после преобразования.

Типы данных: single | double

См. также

|

Представлен в R2013a