logoalt Hacker News

Slicing Bezier Surfaces

27 pointsby fatih-erikli-cglast Thursday at 12:51 PM11 commentsview on HN

Comments

sfpottertoday at 3:04 PM

This is just subdivision of Bernstein polynomials. The unifying way of looking at this is via the blossom of the Bezier curve (Bernstein polynomial). You can derive all manner of shifts, change of basis transformations, and so on using the blossom. Subdivision is just a shift of the domain of definition of the original polynomial.

vintagedavetoday at 10:33 AM

The math for Bezier curves is usually a bit beyond me, but this seems to use a simple lerp (linear interpolation) to split. Why is that valid? I had expected something like moving along the curve and calculating new points and control points (weights?) to get a curve that is a subset of the curve but matching exactly? My possibly incorrect thought was that these are non-linear, therefore, how is lerp suitable?

Or does this retain the original curves but only evaluate a subset, thus, lerp makes complete sense as a simple linear progression along the curve? The curves stay the same, we are evaluating a subset to get the slice?

> It takes the t value between 0 and 1, and returns two bezier curves, one is the half that splitted at t, the other one is other half. Two of them shapes the given bezier curve.

My apologies to the author for finding this unclear -- I am not clear though :D

Also: what an awesome blog post. Interesting topic, straightforward, short, code, diagrams, clearly not AI. Thankyou to the author.

show 4 replies