line_offset

opstool.pre.section.line_offset(points, d)[source]

Offset a distance from a non-closed line ring on its right or its left side.

Parameters

pointslist[list[float, float]]

A list containing the coordinate points, [(x1, y1),(x2, y2),…,(xn.yn)].

dfloat

Offsets non-closed line ring, negative for left side offset, positive for right side offset.

Returns

coords: list[[float, float]]

Examples

>>> import opstool as opst
>>> lines = [[0, 0], [0, 1]]
>>> lines2 = opst.pre.section.line_offset(lines, d=0.1)
>>> lines = [[0, 0], [0, 1], [1, 1]]
>>> lines3 = opst.pre.section.line_offset(lines, d=0.1)
>>> lines = [[0, 0], [0, 1], [1, 0]]
>>> lines4 = opst.pre.section.line_offset(lines, d=0.1)