wanger@hpfcdq.HP.COM (Leonard Wanger) (04/19/88)
A short time ago on in this notesgroup someone had a way to create a perfect sphere out of rational b-splines. Can someone repost how it is done? Len Wanger -- HP GTD
spencer@spline.eecs.umich.edu (Spencer W. Thomas) (04/22/88)
Here is one answer (and, hey, it was over a month ago...): Date: Fri, 18 Mar 88 10:24:10 MST From: jcobb%gr@cs.utah.edu (Jim Cobb) Subject: Re: Defining a sphere with Bezier patches It is impossible to exactly parametrize a sphere with polynomial patches. I will describe here a simple rational quadratic Bezier patch that is exact. This patch covers an octant of the sphere. Let sq = sqrt(2)/2. Define homogeneous control points P_ij as P_00 = [ 0 0 -1 1 ] P_01 = [ sq 0 -sq sq ] P_02 = [ 1 0 0 1 ] P_10 = [ 0 0 -sq sq ] P_11 = [ 0.5 0.5 -0.5 0.5 ] P_12 = [ sq sq 0 sq ] P_20 = [ 0 0 -1 1 ] P_21 = [ 0 sq -sq sq ] P_22 = [ 0 1 0 1 ] A note about the interpretation of these coefficients: There are two conflicting conventions for the meaning of control points for a rational Bezier curve or surface. I am using the convention that denotes the components of the points as [ X Y Z W ], with resulting surface evaluation given by sum [X_ij Y_ij Z_ij] theta_i(u) theta_j(v) S( u, v ) = ------------------------------------------ sum W_ij theta_i(u) theta_j(v) There is a slight problem with this parametrization: the patch is degenerate along one of its edges (an entire edge curve collapses into a single point). There are alternative schemes to avoid this difficulty, and there are ways of dealing with the degeneracy (see Faux & Pratt p. 235 ff.). Jim =Spencer (spencer@crim.eecs.umich.edu)