2
$\begingroup$

I am having great trouble finding a resource that adequately explains the Tiller and Hanson Bezier Curve Offset algorithm. I know this question has been asked, I have read the answers to to the very similar quesiton here Control points of offset bezier curve and I have not been able to understand their answers. I feel like they link to a book that could be very useful provided I understand the terms, the excerpt of this book is below:

Patrikalakis-Maekawa-Cho book explanation

The questions I have about this algorithm as described in the book are as follows:

  1. What is a leg? Is this the linear interpolation between the anchor points and control points?
  2. In relation to point 3, which line am I intersecting and what am I intersecting it with?
  3. What is the the 'true offset' vs the 'approximate offset'

If there is any visual representation or step by step guide that anyone has found useful it would be much appreciated if you could refer it to me here.

I have also tried finding Tiller and Hanson's original paper, only to find it is blocked behind a paywall. It would be helpful even if anyone points me towards resources and book chapters that will enable me to understand the step by step instructions given in the above book! Thanks in advance for the help.

$\endgroup$
1

1 Answer 1

1
$\begingroup$

1) Leg of control polygon means the line segment between each two consecutive control points.

2) After offsetting the legs of the control polygon, resulting in multiple line segments, which might intersect each other, you will have to find the intersections between these line segments and trim the line segments back to intersection points so as to form a new control polygon.

3) In general, a true offset curve of a Bezier curve cannot be represented exactly by a Bezier curve. The Tiller and Hanson algorithm will result in another Bezier curve and therefore is only an approximation to the true offset curve.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .