Adaptive sampling/subdivision of quadratic Bezier curves

I wanted to improve the existing library QB curves sampling and came up with a way to sample curves based on how much a curve segment bulges out from a straight line connecting the segment endpoints, so essentially, it’s a division based on the amount of curvature.

The idea is that if the farthest (from the line) curve point is less than, say, a pixel away, the curve should visually appear smooth enough.

I made this tool to test the difference between the built-in curve sampling and this method:

https://jsfiddle.net/tfoller/81qyh0w2/188/

Questions:

  1. Is this method familiar to anyone? I did it off the top of my head.

  2. What do you think of it?

Thank you!

1 Like

Nice, Looking foreword to finished product.

I would filter user input with is_Float && is_Within_Range.

Well, I’m currently writing a converter of Flash timeline-based animations into THREE, so that’d be my finished product.

By itself, one could use points class from the fiddle to create optimized shape outlines.

Here is a simple example of standalone use (change curve_quality to see how it works):

https://jsfiddle.net/tfoller/ajxgheyb/14/

1 Like