code: def reflection_matrix(point, normal):
      """Return matrix to mirror at plane defined by point and normal vector.
  
      >>> v0 = numpy.random.random(4) - 0.5
      >>> v0[3] = 1.
      >>> v1 = numpy.random.random(3) - 0.5
      >>> R = reflection_matrix(v0, v1)
      >>> numpy.allclose(2, numpy.trace(R))
      True
      >>> numpy.allclose(v0, numpy.dot(R, v0))
      True
      >>> v2 = v0.copy()
      >>> v2[:3] += v1
      >>> v3 = v0.copy()
      >>> v2[:3] -= v1
      >>> numpy.allclose(v2, numpy.dot(R, v3))
      True
  
      """
      normal = unit_vector(normal[:3])
      M = numpy.identity(4)
      M[:3, :3] -= 2.0 * numpy.outer(normal, normal)
      M[:3, 3] = (2.0 * numpy.dot(point[:3], normal)) * normal
      return M
  
imports: import math
  import numpy
label_desc: Use image node_id 4 for calling a global function with example usage: reflection_matrix(point, normal) and returns: M