# scircle2

Small circles from center and perimeter

## Syntax

```[lat,lon] = scircle2(lat1,lon1,lat2,lon2) [lat,lon] = scircle2(lat1,lon1,lat2,lon2,ellipsoid) [lat,lon] = scircle2(lat1,lon1,lat2,lon2,units) [lat,lon] = scircle2(lat1,lon1,lat2,lon2,ellipsoid,units) [lat,lon] = scircle2(lat1,lon1,lat2,lon2,ellipsoid,units,npts) [lat,lon] = scircle2(track,...) mat = scircle2(...) mat = [lat lon] ```

## Description

`[lat,lon] = scircle2(lat1,lon1,lat2,lon2)` computes small circles (on a sphere) with centers at the points `lat1,lon1` and points on the circles at `lat2,lon2`. The inputs can be scalar or column vectors.

`[lat,lon] = scircle2(lat1,lon1,lat2,lon2,ellipsoid)` computes the small circle on the ellipsoid defined by the input `ellipsoid`, rather than by assuming a sphere. `ellipsoid` is a `referenceSphere`, `referenceEllipsoid`, or `oblateSpheroid` object, or a vector of the form ```[semimajor_axis eccentricity]```. Default is a unit sphere.

`[lat,lon] = scircle2(lat1,lon1,lat2,lon2,units)` and
`[lat,lon] = scircle2(lat1,lon1,lat2,lon2,ellipsoid,units)` are valid calling forms, which use the input `units` to define the angle units of the inputs and outputs. If you omit `units`, `'degrees'` is assumed.

`[lat,lon] = scircle2(lat1,lon1,lat2,lon2,ellipsoid,units,npts)` uses the scalar input `npts` to determine the number of points per track computed. The default value of `npts` is 100.

`[lat,lon] = scircle2(track,...)` uses track to define either a great circle or a rhumb line radius. If `track' = 'gc'`, then small circles are computed. If `track = 'rh'`, then circles with radii of constant rhumb line distance are computed. If you omit track, `'gc'` is assumed.

`mat = scircle2(...)` returns a single output argument where `mat = [lat lon]`. This is useful if a single circle is computed.

Multiple circles can be defined from a single center point by providing scalar `lat1,lon1` inputs and column vectors for the points on the circumference, `lat2,lon2`.

## Examples

collapse all

Plot the locus of all points the same distance from New Delhi as Kathmandu.

```axesm('mercator','MapLatlimit',[0 40],'MapLonLimit',[60 110]); load coastlines % For reference plotm(coastlat,coastlon,'k'); % New Delhi lat1 = 29; lon1 = 77.5; % Kathmandu lat2 = 27.6; lon2 = 85.5; % Plot the cities plotm([lat1 lat2],[lon1 lon2],'b*') [latc,lonc] = scircle2(lat1,lon1,lat2,lon2); plotm(latc,lonc,'b')``` collapse all

### Small Circle

A small circle is the locus of all points an equal surface distance from a given center. For true small circles, this distance is always calculated in a great circle sense. However, the `scircle2` function allows a locus to be calculated using distances in a rhumb line sense as well. An example of a small circle is all points exactly 100 miles from the Washington Monument. 