code: def through(
      cls, p0: Tensor, p1: Tensor, p2: Optional[Tensor] = None
  ) -> "Hyperplane":
      # 2d case
      if p2 is None:
          # TODO: improve tests
          KORNIA_CHECK_SHAPE(p0, ["*", "2"])
          KORNIA_CHECK(p0.shape == p1.shape)
          # TODO: implement `.unitOrthonormal`
          normal2d = normalized(p1 - p0)
          offset2d = -batched_dot_product(p0, normal2d)
          return Hyperplane(
              wrap(normal2d, Vector3), wrap(offset2d, Scalar)
          )
      # 3d case
      KORNIA_CHECK_SHAPE(p0, ["*", "3"])
      KORNIA_CHECK(p0.shape == p1.shape)
      KORNIA_CHECK(p1.shape == p2.shape)
      v0, v1 = (p2 - p0), (p1 - p0)
      normal = v0.cross(v1)
      norm = normal.norm(-1)
  
      # https://gitlab.com/libeigen/eigen/-/blob/master/Eigen/src/Geometry/Hyperplane.h#L108
      def compute_normal_svd(v0: Tensor, v1: Tensor) -> "Vector3":
          # NOTE: for reason TensorWrapper does not stack well
          m = stack((unwrap(v0), unwrap(v1)), -2)  # Bx2x3
          _, _, V = _torch_svd_cast(
              m
          )  # kornia solution lies in the last row
          return wrap(V[..., :, -1], Vector3)  # Bx3
  
      normal_mask = norm <= v0.norm(-1) * v1.norm(-1) * 1e-6
      normal = where(
          normal_mask,
          compute_normal_svd(v0, v1).data,
          normal / (norm + 1e-6),
      )
      offset = -batched_dot_product(p0, normal)
  
      return Hyperplane(wrap(normal, Vector3), wrap(offset, Scalar))
  
imports: from typing import Optional
  from kornia.core import Module, Tensor, stack, where
  from kornia.core.check import KORNIA_CHECK, KORNIA_CHECK_SHAPE, KORNIA_CHECK_TYPE
  from kornia.core.tensor_wrapper import unwrap, wrap
  from kornia.geometry.linalg import batched_dot_product
  from kornia.geometry.vector import Scalar, Vector3
  from kornia.utils.helpers import _torch_svd_cast
label_desc: Use image node_id 10 for calling the Hyperplane obj's underlying member method code with example usage: obj.through(cls, p0, p1, p2) and returns: Hyperplane, Hyperplane, wrap