polyline offset

polyline offset

offset3.jpg

i offset_rhino.jpg ii offset_maya2.jpg iii offset_microstation.jpg

native offset in rhino, maya and microstation for degree 1 curve/polyline
i) rhino produces additional segments from its cleaning procedure, it handles single island within closed/looped polyline
ii) maya no edge loop removal unless its a degree>1 curve
iii) microstation (red line) works well as expected as a cad software, handles multiple islands

dotted lines in iii shows the possible result from a simple segment paired offset, yielding unwanted result at kinks (2nd local loop in iv)
fig iv wouldn’t work well with post-process edge loop removal, should have either taken into account the directions of the offset vector and previous vector or operating on the curve shattered at kinks by its reflex (orange) and convex (black) vertex (v)

iv loop_issue.jpg v reflex_convex_vertex.jpg vi 090611issue.jpg

vii offset_issue.jpg

previous implementation on 090611 had issues handling situation shown in iv at the 2nd local loop
top image: test implementation on polyline works in most simple cases removing local loops, with known issues shown in vii with global loops

todo: global loops, keep global loops as islands, look at computing weighted offset either based on cgal skeleton for closed-polygon or from own implementation primarily for open polylines

Leave a Reply

Your email address will not be published. Required fields are marked *