A lightweight package for generating points on the boundary defined by an 2D ellipse built around Julia implementations of two functions by John D. Cook. It handles cases where the ellipse has been rotated and/or translated, and where either of the x and y axes is the major or minor axis. It provides methods to generate N equally-spaced and clustered points on the ellipse's boundary as well as a method to sample singular points uniformly on the boundary. Resultantly, any distribution defined on [0, 1] can be used to sample points. Calculation of the arc length and circumference of an ellipse uses Elliptic.jl.
This package's creation was motivated by the need to sample points on the boundary defined by an elliptical approximation of the log-likelihood function around the maximum likelihood estimate of a mechanistic model at a particular confidence level. Resultantly, it also provides a method to convert the matrix representation of this approximation into the parameters of the equivalent ellipse. Points can then be sampled from this ellipse.
To install the package, use the following command inside the Julia REPL:
using Pkg
Pkg.add("EllipseSampling")
To load the package, use the command:
using EllipseSampling