TensorFlow 2.0 RC is available Learn more

tfg.math.vector.reflect

Computes the reflection direction for an incident vector.

tfg.math.vector.reflect(
    vector,
    normal,
    axis=-1,
    name=None
)

Defined in math/vector.py.

For an incident vector \(\mathbf{v}\) and normal

\(\mathbf{n}\)
this function computes the reflected vector as \(\mathbf{r} = \mathbf{v} - 2(\mathbf{n}^T\mathbf{v})\mathbf{n}\).

Note:

In the following, A1 to An are optional batch dimensions, which should be broadcast compatible.

Args:

  • vector: A tensor of shape [A1, ..., Ai, ..., An], where the dimension i = axis represents a vector.
  • normal: A tensor of shape [A1, ..., Ai, ..., An], where the dimension i = axis represents a normal around which the vector needs to be reflected. The normal vector needs to be normalized.
  • axis: The dimension along which to compute the reflection.
  • name: A name for this op which defaults to "vector_reflect".

Returns:

A tensor of shape [A1, ..., Ai, ..., An], where the dimension i = axis represents a reflected vector.