Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Bezier - Surfaces


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 Oesi   Members   -  Reputation: 122

Like
Likes
Like

Posted 03 March 2000 - 04:17 AM

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

Sponsor:

#2 Spellbound   Members   -  Reputation: 122

Like
Likes
Like

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:

B0 = (1-u)3
B1 = 3u(1-u)2
B2 = 3u2(1-u)
B3 = u3

These can be derived separately:

dB0 = -3(1-u)2
dB1 = 3(1-u)2 - 6u(1-u)
dB2 = 6u(1-u) - 3u2
dB3 = 3u2

One more derivation yields the second derivate:

ddB0 = 6(1-u)
ddB1 = -12(1-u) + 6u
ddB2 = 6(1-u) - 12u
ddB3 = 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:

B0 = (1-u)2
B1 = 2u(1-u)
B2 = u2

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




#3 Oesi   Members   -  Reputation: 122

Like
Likes
Like

Posted 03 March 2000 - 08:49 PM

THX, I think this is just what I need.

I tried to derivate the Bernstein - basis in one thing and failed at n!/(i!*(n-1)!)

Ok, so I have to derive it for each grade I need.

cya Oesi

#4 Spellbound   Members   -  Reputation: 122

Like
Likes
Like

Posted 04 March 2000 - 01:31 AM

That is what I would do.

Tip: Rational B-Spline surfaces are just as easy to implement as bi-quadratic Bezier surfaces, but you have a lot more control over the appearance.

#5 Oesi   Members   -  Reputation: 122

Like
Likes
Like

Posted 04 March 2000 - 07:30 PM

Sorry, but what are B-Splines exactly ?

I read a little about them but I still don''t know really what they are and how to implement.

#6 Spellbound   Members   -  Reputation: 122

Like
Likes
Like

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




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS