---
name: "bezierInterpolation"
type: command
status: ok
groups: ["Math"]
arma3_since: "1.92"
locality: {"argument": null, "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/bezierInterpolation
revid: 377844
updated: 2026-01-03T04:36:03Z
---

# bezierInterpolation

*Command · Math · Arma 3 v1.92*

## Description

Gets interpolated value based on [Bézier curve](https://en.wikipedia.org/wiki/Bézier_curve) with given control points (progress value is 0...1 for a curve that starts at pos0 and finishes at posN)

## Syntax

```sqf
progress bezierInterpolation positions
```

**Parameters:**

- `progress`: [Number](../topics/Number.md) - interpolation value
- `positions`: [Array](../topics/Array.md) of [Position3D](../topics/Position.md#introduction)

**Returns:** [Position3D](../topics/Position.md#introduction) - based on progress value

## Examples

### Example 1

Quick demonstration that spawns some spheres around player object:

```sqf
for "_i" from 0 to 1 step 0.05 do {
    createVehicle ["Sign_Sphere10cm_F", (_i bezierInterpolation [
        player modelToWorld [0,0,0],
        player modelToWorld [0,2,2],
        player modelToWorld [2,0,2],
        player modelToWorld [0,0,4]
    ]), [], 0, "CAN_COLLIDE"];
};
```

### Example 2

Create a map marker curve from 4 control points with overlap (progress is -0.5...1.5 instead of 0...1):

```sqf
private _controlPoints = [[100,-90], [200,-30], [150,60], [100,90]] apply { player getRelPos _x };
{
    private _marker = createMarkerLocal [str _x, _x];
    _marker setMarkerTypeLocal "mil_objective";
    _marker setMarkerTextLocal ("P" + str _forEachIndex);
}
forEach _controlPoints;

for "_i" from -0.5 to 1.5 step 0.01 do
{
    private _marker = createMarkerLocal [str _i, _i bezierInterpolation _controlPoints];
    _marker setMarkerTypeLocal "mil_dot";
};
openMap true;
```

## See also

[linearConversion](../commands/linearConversion.md) · [vectorLinearConversion](../commands/vectorLinearConversion.md)

<sub>Source: [BI Community Wiki — bezierInterpolation](https://community.bistudio.com/wiki/bezierInterpolation) (revision 377844).</sub>
