thick_line(x,y,thic​kness)

Version 1.2.0.0 (2.74 KB) by Robert
Generates the edge coordinates of a thick line corresponding to an input line
439 Downloads
Updated 11 May 2015

View License

This function returns the coordinates that outline the thick line surrounding an input line at a fixed distance. For an intuitive sense, think of tracing a thin, pencil-drawn line with a thick marker.
The input line is defined by ordered x and y coordinates. The output coordinates are all a specified distance from the closest part of the specified input line. The output is formatted to be used with the patch command.
Each vertex is surrounded by a circle (approximated by a many-sided polygon), and the line segments with rectangle. The polygons are joined with polybool('union',...) from the mapping toolbox.
For example:
cla
axis([0,10,0,10])
axis equal
[x,y] = ginput();
plot(x, y, '*-')
[x_out, y_out] = thick_line(x, y, 0.5);
p_obj = patch(x_out, y_out, [0.7, 0.1, 0.1]);
set(p_obj, 'FaceAlpha', 0.5)

Cite As

Robert (2026). thick_line(x,y,thickness) (https://in.mathworks.com/matlabcentral/fileexchange/50816-thick_line-x-y-thickness), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: 2D Line Curvature and Normals

Version Published Release Notes
1.2.0.0

Made note of poly2fv method for displaying thick-lines from lines that intersect themselves

1.1.0.0

Added image to submission

1.0.0.0