vsh@etnibsd.UUCP (Steve Harris) (03/09/90)
[This article is being posted (belatedly) for a friend.] [Please see the end of the article for his email address.] Is anyone out there familiar with techniques for approximating Bezier surfaces of degree 4-7 with B-spline surfaces of order 4 (degree == 3, bi-cubic)? Degree 2 and 3 Bezier surfaces can be easily approximated since they are special cases of the bi-cubic B-spline surfaces. Unless I'm mistaken, which is entirely possible, the others, the degree >= 4 cases, are not so obvious. One approach I'm considering is: 1) Generate the points on the Bezier surface (using the conventional approach). 2) Divide these points into sub-regions. a) What criteria should I use to pick the subregions? Number of Control points, Tangency, curvature, other? 3) Create bicubic B-surfaces which approximate these regions. a) Anyone got any good ideas on how to accomplish this with finite workstation-type resources? The ultimate goal here is to produce a B-surface which looks like the Bezier used as input. Other requirements, such as nth order continuity at the joints, although desirable, are not necessities. I've been looking through Faux & Pratt (Computational Geometry ...), but there is not much mention of approximation techniques which produce b-splines. Also I'm trying to get through Bartels, Beatty & Barsky (Intro. to B-splines ...) but I figure it will be sometime in the middle of summer before I've mastered the concepts presented there enough to derive the above desiderata. Can anyone out there suggest a source which might have a direct bearing on this problem? Can anyone offer a suggestion for where I may have gone wrong in my analysis or my approach? Any help appreciated. ____,.,_..,__.,_.,__ Sean Philip McElroy __'..__._,_.__.__.__ Cognition Corp. _,___`_.'__.__.__.__ 755 Middlesex Turnpike, Billerica, MA 01821 ___`..'_,___.__.__,_ dandelion!sean@apollo.com
rhbartels@watcgl.waterloo.edu (Richard Bartels) (03/11/90)
In article <1120@etnibsd.UUCP> dandelion!sean@apollo.com posts the question: > >[cubic Bezier surfaces are] >...special cases of the bi-cubic B-spline surfaces. Unless I'm >mistaken, which is entirely possible, the others, the degree >= 4 >cases, are not so obvious. > There is nothing special about cubics. If a B-spline has as many knots as its order at every joint, it reduces to the Bezier basis polynomial. All Bezier curves and tensor-product surfaces of whatever order are special cases of B-spline curves and tensor-product surfaces of the same order (in the same sense that this is true of the cubic case). Bezier's are simply B's with the highest possible knot multiplicities. Perhaps the person originally posing the question had something else in mind. If the Bezier surface had higher continuity than a Bezier surface has a right to enjoy, for example a cubic Bezier surface with continuity in second derivatives between the patches, then the surface can be re-represented in terms of B-splines with lower knot multiplicity, for example cubic B-splines with single knots (the B-splines most people think of as the "normal and reasonable" ones). The way to get from the Bezier representation to the B-spline representation (or from the "high knot multiplicity B-splines" to the "low multiplicity knot B-splines") is by, you guessed it, "removing knots". We didn't cover that one in the book, but there is a brief mention of the concept in a recent article by Piegl and Tiller in IEEE CG&A on drawing circles with rational splines. -Richard