# al_calculate_ribbon

void al_calculate_ribbon(float* dest, int dest_stride, const float *points,
int points_stride, float thickness, int num_segments)

Introduced in **5.0.0**

Calculates a ribbon given an array of points. The ribbon will go through all of the passed points. If `thickness <= 0`

, then `num_segments`

of points are required in the destination buffer, otherwise twice as many are needed. The destination and the points buffer should consist of regularly spaced doublets of floats, corresponding to x and y coordinates of the vertices.

*Parameters:*

- dest - Pointer to the destination buffer
- dest_stride - Distance (in bytes) between starts of successive pairs of coordinates in the destination buffer
- points - An array of pairs of coordinates for each point
- points_stride - Distance (in bytes) between starts successive pairs of coordinates in the points buffer
- thickness - Thickness of the spline ribbon
- num_segments - The number of points to calculate

See also: al_draw_ribbon, al_calculate_arc, al_calculate_spline

*Most helpful discussions:*