# local2globalcoord

Convert local to global coordinates

## Syntax

`gCoord = local2globalcoord(lclCoord,OPTION)gCoord = local2globalcoord(___,localOrigin)gCoord = local2globalcoord(___,localAxes)`

## Description

`gCoord = local2globalcoord(lclCoord,OPTION)` returns the global coordinate `gCoord` corresponding to the local coordinate `lclCoord`. `OPTION` determines the type of local-to-global coordinate transformation.

`gCoord = local2globalcoord(___,localOrigin)` specifies the origin of the local coordinate system.

`gCoord = local2globalcoord(___,localAxes)` specifies the axes of the local coordinate system.

## Input Arguments

`lclCoord`

Local coordinates in rectangular or spherical coordinate form. `lclCoord` is a 3-by-1 vector or 3-by-N matrix. Each column represents a local coordinate.

If the coordinates are in rectangular form, the column represents (X,Y,Z) in meters.

If the coordinates are in spherical form, the column represents (az,el,r). az is the azimuth angle in degrees, el is the elevation angle in degrees, and r is the radius in meters.

`OPTION`

Type of coordinate transformation. Valid strings are in the next table.

OPTIONTransformation
`'rr'`Local rectangular to global rectangular
`'rs'`Local rectangular to global spherical
`'sr'`Local spherical to global rectangular
`'ss'`Local spherical to global spherical

`localOrigin`

Origin of local coordinate system. `localOrigin` is a 3-by-1 column vector containing the rectangular coordinate of the local coordinate system origin with respect to the global coordinate system.

Default: `[0; 0; 0]`

`localAxes`

Axes of local coordinate system. `localAxes` is a 3-by-3 matrix with the columns specifying the local X, Y, and Z axes in rectangular form with respect to the global coordinate system.

Default: `[1 0 0;0 1 0;0 0 1]`

## Output Arguments

 `gCoord` Global coordinates in rectangular or spherical coordinate form. The origin of the global coordinate system is at [0; 0; 0]. That system's axes are the standard unit basis vectors in three-dimensional space, [1; 0; 0], [0; 1; 0], and [0; 0; 1].

## Examples

Convert between local and global coordinate in rectangular form.

```gCoord = local2globalcoord([0; 1; 0], ... 'rr',[1; 1; 1]); % Local origin is at [1; 1; 1] % gCoord = [1 1 1]+[0 1 0];```

Convert local spherical coordinate to global rectangular coordinate.

```gCoord = local2globalcoord([30; 45; 4],'sr'); % 30 degree azimuth, 45 degree elevation, 4 meter radius```

expand all

### Azimuth Angle, Elevation Angle

The azimuth angle is the angle from the positive x-axis toward the positive y-axis, to the vector's orthogonal projection onto the xy plane. The azimuth angle is between –180 and 180 degrees. The elevation angle is the angle from the vector's orthogonal projection onto the xy plane toward the positive z-axis, to the vector. The elevation angle is between –90 and 90 degrees. These definitions assume the boresight direction is the positive x-axis.

 Note:   The elevation angle is sometimes defined in the literature as the angle a vector makes with the positive z-axis. The MATLAB® and Phased Array System Toolbox™ products do not use this definition.

This figure illustrates the azimuth angle and elevation angle for a vector that appears as a green solid line. The coordinate system is relative to the center of a uniform linear array, whose elements appear as blue circles.

## References

[1] Foley, J. D., A. van Dam, S. K. Feiner, and J. F. Hughes. Computer Graphics: Principles and Practice in C, 2nd Ed. Reading, MA: Addison-Wesley, 1995.