Hi !
I read an article about Bezier surfaces and an algorithm about dynamic LOD of the Bezier surfaces. But for this algorithm I need the second derivate of the Bernstein basis, but I don''t know how to get it.
Bernstein: B (u) = (n!/(i!*(n-i)!)*u^i*(1-u)^(n-i)
If someone has a way, to get the second derive of that function, I''ll need it, no matter how slow it is.
Sorry, for my bad english...
cya Oesi

# Bezier - Surfaces

Started by Oesi, Mar 03 2000 04:17 AM

5 replies to this topic

###
#2
Members - Reputation: **122**

Posted 03 March 2000 - 05:01 AM

What is the grade of your Bezier surface? Bi-quadratic (Nine control points)? Bi-cubic (16 control points)? More?

For the bi-cubic surface you have the following Berstein polynomes:

B

B

B

B

These can be derived separately:

dB

dB

dB

dB

One more derivation yields the second derivate:

ddB

ddB

ddB

ddB

(I believe these are correct but my derivation is a bit rusty so make sure before you use them.)

For a bi-quadratic surface the formulae are even easier:

B

B

B

(You''ll have to do the derivations yourself )

For the bi-cubic surface you have the following Berstein polynomes:

B

_{0}= (1-u)^{3}B

_{1}= 3u(1-u)^{2}B

_{2}= 3u^{2}(1-u)B

_{3}= u^{3}These can be derived separately:

dB

_{0}= -3(1-u)^{2}dB

_{1}= 3(1-u)^{2}- 6u(1-u)dB

_{2}= 6u(1-u) - 3u^{2}dB

_{3}= 3u^{2}One more derivation yields the second derivate:

ddB

_{0}= 6(1-u)ddB

_{1}= -12(1-u) + 6uddB

_{2}= 6(1-u) - 12uddB

_{3}= 6u(I believe these are correct but my derivation is a bit rusty so make sure before you use them.)

For a bi-quadratic surface the formulae are even easier:

B

_{0}= (1-u)^{2}B

_{1}= 2u(1-u)B

_{2}= u^{2}(You''ll have to do the derivations yourself )

###
#6
Members - Reputation: **122**

Posted 05 March 2000 - 02:28 AM

With a Bezier surface each control point in the characteristic polyhedron affects the whole surface according to the Bernstein polynomes. With B-Spline surfaces each control point only affects the immediate surrounding area of the surface. How large this area is is determined by the grade of the B-Spline. A grade of three means that each point on the surface is affected by at most 9 control points.

A B-Spline surface of grade 3 can when rendered be divided into smaller patches, each controlled by 9 control points, and rendered just as the bi-quadratic Bezier surface. With slightly different weight functions of course.

Here is an article on NURB curves. It explains the NURB curve (Duh!). The Non-Uniform part can be a little tricky, but fortunately you'll most likely not need it, at least not anytime soon. The B-Spline is just a specialization of the NURB where the knot-vector is uniform, instead of non-uniform.

Edited by - Spellbound on 3/5/00 8:32:44 AM

A B-Spline surface of grade 3 can when rendered be divided into smaller patches, each controlled by 9 control points, and rendered just as the bi-quadratic Bezier surface. With slightly different weight functions of course.

Here is an article on NURB curves. It explains the NURB curve (Duh!). The Non-Uniform part can be a little tricky, but fortunately you'll most likely not need it, at least not anytime soon. The B-Spline is just a specialization of the NURB where the knot-vector is uniform, instead of non-uniform.

Edited by - Spellbound on 3/5/00 8:32:44 AM