1
$\begingroup$

I've seen how subdivision surfaces are good for 3D curves/modeling, but haven't seen anything on if it's good, or even usable, in 2D.

My question is just that, if (a) you can even use subdivision surfaces in 2D, and (b) if you can use it for 2D, if it's a good solution for modeling curves in 2D, or if not, what a good solution for modeling curves in 2D might be (if it's just bezier curves, or ideally something better / more powerful).

Here it suggests subdivision surfaces could be used in 2D, but not sure if they would be considered good for it.

enter image description here

$\endgroup$
2
$\begingroup$

Subdivision can be used for curves in 2D just as easily as for surfaces in 3D. Usually the subdivision algorithms applied to 2D are called subdivision curves. Subdivision curves do not suffer from the problem that subdivision surfaces have around extraordinary points and therefore all subdivision surfaces can easily be converted to (uniform) B-splines. This means that it equals to working with Bézier curves in most cases. This latter representation might be more advantageous as it possesses a closed form representation, such that curves can be evaluated easily at arbitrary parameter values.

A simple subdivision algorithm for curves is the following. Consider a polyline consisting out of $n$ points $P_0 \ldots P_{n-1}$. Than for every iteration do the following steps:

Every exisiting position $P_i => (P_{i-1} + 6 P_{i} + P_{i+1})/8$ then add new positions on every edge between existing points using $(4 P_i + 4 P_{i+1})/8$ and repeat. In the limit this procedure will converge to uniform cubic B-splines.

Some useful extensions for subdivison curves exists such as (semi-sharp) creases and boundary conditions

$\endgroup$

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.