# Difference between revisions of "Example Code: Random Area Distribution"

Originally from Commy2's forum post, also fully translated on Dedmen's sqf.ovh post.

```private _center = getPosATL player;					// disc center definition

private _angle = random 360;						// angle definition (0..360)
private _distance = random _radius;					// distance from the center definition (0..radius)
private _position = _center getPos [_distance, _angle];

// random position
private _angle = random 360;						// angle definition (0..360)
private _randomSquareRoot = sqrt random 1;			// random square-root to obtain a non-linear 0..1 value
private _distance = _radius * _randomSquareRoot;	// distance from the center definition (0..radius)
private _position = _center getPos [_distance, _angle];

// Gaussian normal distribution
private _angleHalf = random 180;
private _randomGauss = random [-1, 0, 1];
private _distance = _radius * _randomGauss;
private _position = _center getPos [_distance, _angleHalf];
```

```private ["_center", "_radius", "_angle", "_distance", "_offset", "_position"];	// private definitions
_center = getPosATL player;	// disc center definition

_angle = random 360;
_offset = [sin _angle * _distance, cos _angle * _distance, 0];
_position = [_center, _offset] call BIS_fnc_vectorAdd;

// random position
_angle = random 360;
_distance = _radius * sqrt random 1;
_offset = [sin _angle * _distance, cos _angle * _distance, 0];
_position = [_center, _offset] call BIS_fnc_vectorAdd;
```

```private ["_center", "_radius", "_angle", "_distance", "_offset", "_position"];	// private definitions
_center = getPos player;	// disc center definition - getPosASL can be used in Armed Assault

_angle = random 360;
_offset = [sin _angle * _distance, cos _angle * _distance];
_position = [(_center select 0) + (_offset select 0), (_center select 1) + (_offset select 1)];

// random position
_angle = random 360;
_distance = _radius * sqrt random 1;
_offset = [sin _angle * _distance, cos _angle * _distance, 0];
_position = [(_center select 0) + (_offset select 0), (_center select 1) + (_offset select 1)];
```

This is an SQS syntax example.
```private ["_center", "_radius", "_angle", "_distance", "_offset", "_position"]	// private definitions
_center = getPos player		// disc center definition