The paraboloid module

Supplies an infinite paraboloid as a base, and two derived parabolic dishes, with circular or hexagonal aperture.

class tracer.paraboloid.HexagonalParabolicDishGM(diameter, focal_length)

A paraboloid that marks rays outside a regular hexagon perimeter as missing. The parameters for the paraboloid’s equation are determined from the focal length. The hexagon is oriented with two parallel to the Y axis.

Arguments

  • diameter: of the circle bounding the regular hexagonal aperture of the dish.
  • focal_length: distance of the focal point from the origin.
class tracer.paraboloid.ParabolicDishGM(diameter, focal_length)

A paraboloid that marks rays outside its diameter as missing. The parameters for the paraboloid’s equation are determined from the focal length.

Arguments

  • diameter: of the circular aperture created by cutting the paraboloid with a plane parallel to the xy plane.
  • focal_length: distance of the focal point from the origin.
mesh(resolution)

Represent the surface as a mesh in local coordinates. Uses polar bins, i.e. the points are equally distributed by angle and radius, not by x,y.

Arguments

  • resolution: in points per unit length (so the number of points returned is O(A*resolution**2) for area A)

Returns

x, y, z - each a 2D array holding in its (i,j) cell the x, y, and z coordinate (respectively) of point (i,j) in the mesh.

class tracer.paraboloid.Paraboloid(a=1.0, b=1.0)

Implements the geometry of a circular paraboloid surface

Arguments

a, b - describe the paraboloid as z = (x/a)**2 + (y/b)**2 (sorry, legacy)

Private attributes: a, b - describe the paraboloid as z = a*x**2 + b*y**2

get_ABC(ray_bundle)

Determines the variables forming the relevant quadric equation, [1]

Previous topic

The sphere_surface module

Next topic

The cylinder module

This Page