makeCartBowl
Create evenly distributed Cartesian points covering a bowl.
Syntax
bowl = makeCartBowl(bowl_pos, radius, diameter, focus_pos, num_points)
bowl = makeCartBowl(bowl_pos, radius, diameter, focus_pos, num_points, plot_bowl)
Description
makeCartBowl
creates a 3 x num_points
array of the Cartesian coordinates of points evenly distributed over the surface of a bowl. The bowl points are calculated using Fermat's spiral. The position of the bowl is set by bowl_pos
, which corresponds to the center of the rear bowl surface. The orientation of the bowl is set by focus_pos
, which corresponds to any point on the axis of the bowl (note, this must not be equal to bowl_pos
). It is assumed that the solid angle of the bowl is equal to or less than 2*pi steradians. If the radius is set to inf, a disc is generated. The 3D plot that is displayed after calling makeCartBowl([0, 0, 0], 40e-3, 60e-3, [0, 0, -1], 500, true);
is given below.
Inputs
bowl_pos |
Cartesian position of the centre of the rear surface of the bowl given as a three element vector [bx, by, bz] [m] |
radius |
Radius of curvature of the bowl [m] |
diameter |
Diameter of the opening of the bowl [m] |
focus_pos |
Any point on the beam axis of the bowl given as a three element vector [fx, fy, fz] [m] |
num_points |
Number of points on the bowl |
Optional Inputs
plot_bowl |
Boolean controlling whether the Cartesian coordinates are plotted (default = false) |
Outputs
points |
3 x num_points array of Cartesian coordinates |
See Also
makeBowl
,
makeCartArc
,
makeCartSphere
,
makeCartSphericalSection
,