code: def test_smoke(self, device, dtype, shape):
      p0 = Vector3.random(shape, device, dtype)
      n0 = Vector3.random(shape, device, dtype).normalized()
      pl0 = Hyperplane.from_vector(n0, p0)
      assert pl0.normal.shape == shape or (3,)
      assert pl0.offset.shape == (
          (*shape,) if shape is not None else ()
      )
  
imports: import pytest
  import torch
  from kornia.geometry.plane import Hyperplane, fit_plane
  from kornia.geometry.vector import Vector3
  from kornia.testing import BaseTester
label_desc: Use image node_id 1 for calling the TestHyperplane obj's underlying member method code with example usage: obj.test_smoke(device, dtype, shape) without return types