code: def transform_homogeneous(
      matrices: type_alias.TensorLike, vertices: type_alias.TensorLike
  ) -> tf.Tensor:
      """Applies 4x4 homogenous matrix transformations to xyz vertices.
  
      The vertices are input and output as as row-major, but are interpreted as
      column vectors multiplied on the right-hand side of the matrices. More
      explicitly, this function computes (MV^T)^T where M represents transformation
      matrices and V stands for vertices.
      Since input vertices are xyz they are extended to xyzw with w=1.
  
      Args:
        matrices: A tensor of shape `[batch, 4, 4]` containing batches of view
          projection matrices.
        vertices: A tensor of shape `[batch, num_vertices, 3]` containing batches of
          vertices, each defined by a 3D point.
  
      Returns:
        A [batch, N, 4] Tensor of xyzw vertices.
      """
      homogeneous_coord = tf.ones_like(vertices[..., 0:1])
      vertices = tf.concat([vertices, homogeneous_coord], -1)
  
      return tf.matmul(vertices, matrices, transpose_b=True)
  
imports: from typing import List, Optional
  import tensorflow
  from tensorflow_graphics.util import type_alias
label_desc: Use image node_id 4 for calling a global function with example usage: transform_homogeneous(matrices, vertices) and returns: tf