AffineTransformNormal

Performs an affine transformation of the normal of a 2D or 3D vector or each vector in an array in a Homogeneous coordinate space.

Syntax

IppStatus ippmAffineTransformNormal_m4v2_32f (const Ipp32f* pSrc1, const Ipp32f* pSrc2, Ipp32f* pDst);

IppStatus ippmAffineTransformNormal_m4v3_32f (const Ipp32f* pSrc1, const Ipp32f* pSrc2, Ipp32f* pDst);

IppStatus ippmAffineTransformNormal_m4v2a_32f (const Ipp32f* pSrc1, const Ipp32f* pSrc2, int src2Stride0, Ipp32f* pDst, int dstStride0, int count);

IppStatus ippmAffineTransformNormal_m4v3a_32f (const Ipp32f* pSrc1, const Ipp32f* pSrc2, int src2Stride0, Ipp32f* pDst, int dstStride0, int count);

Parameters

pSrc1
Pointer to the source 4x4 matrix src1.
pSrc2
Pointer to the source vector src2 or array of vectors.
src2Stride0
Stride between the vectors in the source array.
pDst
Pointer to the destination vector dst or array of vectors.
dstStride0
Stride between the vectors in the destination array.
count
The number of vectors in the arrays.

Description

The functions ippmAffineTransformNormal_m4v2_32f, ippmAffineTransformNormal_m4v3_32f, ippmAffineTransformNormal_m4v2a_32f, and ippmAffineTransformNormal_m4v3a_32f are declared in the ippm.h file. These functions perform an affine transformation of the normal of a single vector or each vector in an array in a Homogeneous coordinate space. The transformation is determined by the src1 matrix. The functions whose names contain the v2 or v3 characters in the descriptor, operate on 2D or 3D vectors, respectively. The functions ippmAffineTransformNormal_m4v2a_32f and ippmAffineTransformNormal_m4v3a_32f operate on vector arrays, whereas the other functions operate on vectors.

Because the 4x4 matrix src1 can be represented as a 16-element array, the transformation uses the following formulae, depending on the dimension of the vectors:

Return Values

ippStsNoErr

Indicates no parameter checking.

See Also


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.