> For the complete documentation index, see [llms.txt](https://pahutyakv.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pahutyakv.gitbook.io/docs/randomly/.spatial.md).

# .Spatial

`Randomly.Spatial` provides random spatial values: vectors, quaternions, directions, and points inside/outside geometric shapes.

***

### <mark style="color:$success;">Vector2</mark>

* `Vector2 (min, max) / Vector2 (minX, maxX, minY, maxY)` – Returns a random Vector2 with both components in \[min, max].
* `Vector2Int (min, max) / Vector2Int (minX, maxX, minY, maxY)` – Returns a random Vector2Int with both components in \[min, max].

***

### <mark style="color:$success;">Vector3</mark>

* `Vector3 (min, max) / Vector3 (minX, maxX, minY, maxY, minZ, maxZ)` – Returns a random Vector3 with both components in \[min, max].
* `Vector3Int (min, max) / Vector3Int (minX, maxX, minY, maxY, minZ, maxZ)` – Returns a random Vector3Int with both components in \[min, max].

***

### <mark style="color:$success;">Direction</mark>

* `Direction2D` – Returns a random normalized 2D direction vector.
* `Direction3D` – Returns a random normalized 3D direction vector.

***

### <mark style="color:$success;">Quaternion</mark>

* `Quaternion()` – Returns a random Quaternion using Euler angles in \[0, 360].
* `Quaternion(min, max) / Quaternion(minX, maxX, minY, maxY, minZ, maxZ)` – Returns a random Quaternion using Euler angles in \[min, max].
* `Rotation()` – Returns a random rotation as a uniformly sampled quaternion.

***

### <mark style="color:$success;">Inside</mark>

* `InsideCircle() / InsideCircle(radius)` – Returns a random Vector2 inside a circle of given radius.
* `InsideSphere() / InsideSphere(radius)` – Returns a random Vector3 inside a sphere of given radius.
* `InsideBox() / InsideBox(size)` – Returns a random Vector3 inside a box of given size.

***

### <mark style="color:$success;">On</mark>

* `OnCircle() / OnCircle(radius)` – Returns a random Vector2 on a circle of given radius.
* `OnSphere()(radius) / OnSphere(radius)` – Returns a random Vector3 on a sphere of given radius.
* `OnBox() / OnBox(size)` – Returns a random Vector3 on the surface of a box of given size.

***

{% code title="Example.cs" %}

```csharp
// Random Vector2
Vector2 v2 = Randomly.Spatial.Vector2(0f, 10f);

// Random Quaternion
Quaternion rotation = Randomly.Spatial.Rotation();
```

{% endcode %}
