pyvista.Transform.reflect#
- Transform.reflect(
- *normal: float | VectorLike[float],
- point: VectorLike[float] | None = None,
- multiply_mode: Literal['pre', 'post'] | None = None,
Compose a reflection matrix.
Create a reflection matrix and
compose()it with the current transformationmatrixaccording to pre-multiply or post-multiply semantics.Internally, the matrix is stored in the
matrix_list.- Parameters:
- *normal
float|VectorLike[float] Normal direction for reflection. May be a single vector (one arg) or unpacked vector (three args).
- point
VectorLike[float],optional Point to reflect about. By default, the object’s
pointis used, but this can be overridden. If set, two additional transformations are composed and added to thematrix_list:translate()topointbefore the reflectiontranslate()away frompointafter the reflection
- multiply_mode‘pre’ | ‘post’,
optional Multiplication mode to use when composing the matrix. By default, the object’s
multiply_modeis used, but this can be overridden. Set this to'pre'for pre-multiplication or'post'for post-multiplication.
- *normal
See also
pyvista.DataObjectFilters.reflectReflect a mesh.
Examples
Compose a reflection matrix.
>>> import pyvista as pv >>> transform = pv.Transform() >>> _ = transform.reflect(0, 0, 1) >>> transform.matrix array([[ 1., 0., 0., 0.], [ 0., 1., 0., 0.], [ 0., 0., -1., 0.], [ 0., 0., 0., 1.]])
Compose a second reflection matrix.
>>> _ = transform.reflect((1, 0, 0)) >>> transform.matrix array([[-1., 0., 0., 0.], [ 0., 1., 0., 0.], [ 0., 0., -1., 0.], [ 0., 0., 0., 1.]])