Raycasting

lyceanem.raycasting.rayfunctions.visiblespace(source_coords, source_normals, environment, vertex_area=0, az_range=None, elev_range=None, shell_range=0.5)[source]

Visiblespace generates a matrix stack of visible space for each element, indexed by source_coordinate.

Parameters:
  • source_coords (numpy.ndarray of float) – xyz coordinates of the sources with shape (n,3)

  • source_normals (numpy.ndarray of float) – normal vectors for each source point with shape (n,3)

  • environment (lyceanem.base_classes.triangles) – blocking environment

  • vertex_area (numpy.ndarray of float) – the area associated with each source point, defaults to 0, but can also be specified for each source

  • az_range (numpy.ndarray of float) – array of azimuth planes in degrees

  • elev_range (numpy.ndarray of float) – array of elevation points in degrees

  • shell_range (float) – radius of point cloud shell

Returns:

  • visible_patterns (numpy.ndarray of float) – 3D antenna patterns

  • resultant_pcd (meshio.Mesh) – colour data to scale the points fractional visibility from the source aperture