Richard Baker Posted October 28, 2021 Posted October 28, 2021 My son asks How do I enforce continuity in a grid of Bezier surfaces? I know that the two adjacent control points at the border of a Bezier curve have to be co-linear in the one-dimensional case. But how do I extend this to surfaces in three dimensional space? Which points would have to be co-planar?
Richard Baker Posted November 5, 2021 Author Posted November 5, 2021 If it is not possible to readily enforce continuity, then let me know and I will have to learn about NURBS. Thank you.
Richard Baker Posted November 5, 2021 Author Posted November 5, 2021 I added weights to my Bernstein polynomials and now I believe I will have more freedom in the shapes I can create. But the original question still stands; given a NURBS surface defined by control points and weights under what conditions will an adjacent NURBS surface have g1 continuity?
Sensei Posted November 7, 2021 Posted November 7, 2021 (edited) On 10/29/2021 at 12:30 AM, Richard Baker said: How do I enforce continuity in a grid of Bezier surfaces? A bezier consists of two endpoints and two control points. The endpoint from one bezier must be in the same position as the endpoint from the other bezier. The control point-endpoint line from one bezier must form a straight line with the control point-endpoint from the other bezier. An equal slope means a smooth transition between patches. Edited November 7, 2021 by Sensei
Sensei Posted November 7, 2021 Posted November 7, 2021 (edited) OK. I used a 3D application to visualize it in 2 dimensions. Below we can see 3 beziers. A straight line (just to visualize) is going from the control point of the 1st bezier, then through the endpoint shared by 1st and 2nd bezier, then to the control point of the 2nd bezier. A bezier patch must be created from four beziers, which have 4 endpoints and 8 control points. Move the control points so as to break the straight line (slope) between them, and you will lose smoothness: Edited November 7, 2021 by Sensei
Richard Baker Posted November 7, 2021 Author Posted November 7, 2021 I had to explain what you graphed, so it is iffy whether he has the mental picture of what you graphed. I took the tensor product of two bezier curves where U and V are the parameters and now I have a bezier surface that gives the X,Y,and Z coordinates in terms of U and V. Now that gives me (for the cubic case) four control points times four control points which is sixteen control points where you have four control points going in the V direction and four going in the U direction. I am already aware of the case where we are dealing with a two dimensional curve. But how do I generalize these results to the three dimensional case of the surface?
Sensei Posted November 7, 2021 Posted November 7, 2021 (edited) 2 hours ago, Richard Baker said: I had to explain what you graphed, so it is iffy whether he has the mental picture of what you graphed. I took the tensor product of two bezier curves where U and V are the parameters and now I have a bezier surface that gives the X,Y,and Z coordinates in terms of U and V. Now that gives me (for the cubic case) four control points times four control points which is sixteen control points where you have four control points going in the V direction and four going in the U direction. I used the word "endpoint" to make distinction from a control point that not lie on the bezier curve. 2 hours ago, Richard Baker said: I am already aware of the case where we are dealing with a two dimensional curve. But how do I generalize these results to the three dimensional case of the surface? I made these four beziers (on the left), it has four endpoints (as you can see), and some control points flying in a void (the curve does not go through them *), and frozen to polygons version (on the right). *) they can be disconnected ("unweld" tool in 3D app), and instead of 4, we will have 8 of them.. Is this what you want to achieve? (and you call it "Bezier patch"?) Are you doing it in some programming language like C/C++ with OpenGL/DirectX for visualization? Routine can look like: freeze each bezier to well-defined number of points and interpolate frozen points. Edited November 7, 2021 by Sensei
Richard Baker Posted November 7, 2021 Author Posted November 7, 2021 (edited) Acting as his scribe is not working. I am going to have a zoom call with him on Wednesday. I will show him your illustrations then. We have to work out something more direct. Edited November 7, 2021 by Richard Baker
Richard Baker Posted November 10, 2021 Author Posted November 10, 2021 Just finished talking with him. I think he can get a good idea of what you are showing him from zoom visits. He is now using NURBS. He showed me an ouroboros he had made, so he thinks he has figured it out. Thanks. More questions coming with next audio call.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now