Advertisement

Maximum Point on a Bezier/B-Spline Curve

Started by January 18, 2003 09:09 AM
10 comments, last by NeXius 22 years ago
I noticed that is a Catmull-rom spline. Are you the one I told that you couldn't convert between catmull-rom and beziers. If so I was wrong. Here is a link showing how to do so.

I don't see any reason for a numeric method here. Numeric methods have their place, but this doesn't seem to be one of them. I don't think it will be quite as simple as you are thinking and I suspect it will be more computationally expensive than just using the derived formula. You can simplify deriving the formula by using a substitution so that you have the equation a*t^3+b*t^2+c*t+d. The derivative is the same whether a, b, c and d are scalars or vectors of constants since they are just coefficents. The advantage of using vectors and the dot product is that it isn't limited to just the y direction but rather can be any direction you please.

It occured to me that it might worth mentioning that since the dot product is distributive (a*t^2 + b*t + c).n = (a.n)*t^2 + (b.n)*t + (c.n) so you can apply the quadradic formula without expanding it out. Also you are finding the max/min with respect to a plane and the direction is simply the normal for that plane. The quadradic equals zero is a plane passing through the origin. That may be useful if you want to find if the curve crosses a plane (max one side, min the other) that does not pass through the origin.

[edited by - LilBudyWizer on January 20, 2003 12:44:27 AM]
Keys to success: Ability, ambition and opportunity.
Hi again

I''ve been away for the past week, so I''ve begun working on again on this problem

And using your simplified derivation (substitution somehow did not occur to me...) I got it working perfectly

First time I''ve used calculus out of the classroom =)

Nice to know all those hours spent studying didn''t go to waste!
MSN: stupidbackup@hotmail.com (not actual e-mail)ICQ: 26469254(my site)

This topic is closed to new replies.

Advertisement