Version (2.74 KB) by Robert
Generates the edge coordinates of a thick line corresponding to an input line
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:
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 (2024). 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

Inspired by: 2D Line Curvature and Normals

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

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

Added image to submission