SubD Ex;port
 1-5  6-25  26-44

Previous
Next
 From:  Michael Gibson
478.6 In reply to 478.5 
> trimming works with subsurf also in maya.

Hi Claas - usually this type of trimming is a way to cut polygons into smaller polygon fragments.

This is not the same kind of trimming operation as NURBS-style trimming. In NURBS trimming, the surface itself is not diced into small surface fragments along a trimming boundary, instead the surface stays as it originally was, and new "trim curves" are calculated which live on the surface.

The trim curves can be removed later on to restore the surface.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Crusoe the Painter (CRUSOE)
478.7 
I think the last lil screenshot in that posted forum link IS what he is talking about. It's a hole, trimmed in a subdiv surface, nurbs-style. Both the subd surface, and the hole boundary are editable.

There are many papers on applying nurbs style trimming to subd surfaces, and I'd kill to see such a modeler built ( Other than one real expensive high-end cad package ).

But for now, I'm pretty darn happy with MOI. :)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ELF
478.8 In reply to 478.6 
As a curious newcomer, I have to ask...

When you boolean with NURBS, you simply use a curve to mask out part of surface in a hierarchial fashion (spelled right??), so you can "blend" together several curves to form an objec, did I get that right?
So there is no way (even for the developers) to take such a bunch of surfaces that has been joined together to form a solid, and "collapse" it to an object with control points ad the edges.

I don't know if I'm clear enough. Imagine you have a sphere and a cylinder, the cylinder is halfway inside the sphere, and you boolean subtract it from the sphere.
You then have an object that is made up by 3 surfaces (I guess...) one for the end of the cylinder, one for the side, and one for the sphere.

Is it possible to make a joined surface, like a surface that is only described by control points found on this surface, like points along the edge of the "hole".
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ELF
478.9 In reply to 478.7 
it doesn't seam as that damn advanced, with things like the boolean mental ray shader,
which can make non-polygonal booleans at rendertime...
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
478.10 In reply to 478.9 
> it doesn't seam as that damn advanced, with things like the boolean
> mental ray shader,which can make non-polygonal booleans at rendertime...

Hi ELF - well, a lot of times a boolean is more useful at modeling time than only rendering time, because there are a lot of different additional operations that you might want to apply to the intersection curve, for example rounding it with a fillet, or using it to construct additional shapes by sweeping along it, etc...

With a render-time boolean, you can only get a basic sharp-edged boolean cut and that's it. So that is a lot more limited in terms of model construction options.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
478.11 In reply to 478.8 
Hi ELF, to answer your earlier questions:

> When you boolean with NURBS, you simply use a curve to mask out part of
> surface in a hierarchial fashion

Yes, this is correct - during the boolean the curves where different surfaces intersect is calculated, and then those curves as used as new "trim curves" on the existing surfaces. Trim curves are used as a way to mask out different portions of a surface.


> So there is no way (even for the developers) to take such a bunch of surfaces
> that has been joined together to form a solid, and "collapse" it to an object with
> control points ad the edges.

Yes, this is correct, except in the special case where the trim curve happens to be running parallel to one of the natural edges of the underlying surface.


> Is it possible to make a joined surface, like a surface that is only described by
> control points found on this surface, like points along the edge of the "hole".

No, there is no easy way in general to recalculate the surface to have its points matching the trim curves.

To do it would require a very significant reconstruction of the surface to a totally different shape, it would be very difficult to do this well.

Here is a more general example that shows how difficult this would be:



Here the surface is very simple, just 4 control points forming a simple plane. But you can see how complex the trim curves can be on the surface - there is no easy way to just transform those 4 control points and have them match all those complex edges in the trimming curves.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
478.12 In reply to 478.7 
> I think the last lil screenshot in that posted forum link IS what he
> is talking about. It's a hole, trimmed in a subdiv surface, nurbs-style.
> Both the subd surface, and the hole boundary are editable.

I see now - I think that got edited in later. That is interesting that Maya has that feature, I don't think that there is any other sub-d modeler that can handle it like this. But most of the time trimming or booleans in a sub-d modeler does mean dicing polygons into smaller polygon slivers.

I wouldn't be surprised if Maya was actually converting the Sub-d surface internally into a NURBS equivalent for that trimming operation. It is one of the few things out there that has a function to do this kind of a conversion. Note that this is the opposite direction conversion (Sub-d to NURBS) from the one mentioned at the start of the thread (NURBS to Sub-d).


> There are many papers on applying nurbs style trimming to subd surfaces,
> and I'd kill to see such a modeler built ( Other than one real expensive
> high-end cad package ).

It is cool that there is different research happening on trimming subd surfaces, but there is one big problem with implementing any of these, which is data exchange.

There is no common file format that currently exists that can contain subd surfaces with trimming information. If you were to create a modeler using something completely new like this, you would only be able to use your full fidelity geometry within that one environment. That's a pretty significant problem.

On the other hand, there are several common file formats that can hold trimmed NURBS surfaces.

So because of this what I think you will see happening in the longer term, is that NURBS modelers will offer Sub-d type tools as an alternative way of constructing a NURBS surface patchwork. Like instead of doing a sweep to create a surface, you could have a polygon cage that created a set of surfaces from it. But the resulting surfaces will be all NURBS surfaces joined together. Because the result is all NURBS surfaces, they could be trimmed and booleaned, etc.. just like any other NURBS surface. This will then preserve the trimmed surface information for data exchange.

So I wouldn't be too surprised if you see Sub-d trimming appear really mostly inside of NURBS modelers eventually and not really inside of current Sub-d modeling environments.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ELF
478.13 In reply to 478.11 
Thanks for the info :)
That kind of explains why I couldn't find a way to edit any of the control points I thought I'd be able to find along the edges after a boolean in any of the NURBS packages I used ;)


Lightwave also seams to be doing something similar. In lightwave, sub-d is also called metaNURBS,
and it's exactly the same as in Maya, where the poly cage is used to make a sub-D-like NURBS surface.

It shouldn't be so hard to use this in other applications as well...

Isn't it "just" making a NURBS cage with a control point at the location of each vertex in the control mesh?

Seams like sub-d curve algorithms are nearly identical to NURBS' b-spline interpolation algorithm, eh? ;)

One thing I came to think of though. When you use a sub-D model in a NURBS fashion like trimming,
the sub-d surface would act entirely as a NURBS surface (of course) forcing you to rearrange your workflow.

If you want to make a hole for foglights on a car for example, on a sub-D car model, you shape out the hole, and after the hole is made you continue working on the model as a whole, with hole and everything.

If you were to do the same with the convert-to-NURBS-and-trim-technique, you'd have to be able to do the joined-into-one-object-thing, which you just told me was impossible, right?

Therefore, using the car example again, you couldn't use it to cut out the wheel holes or windows or doors or headlights, or in any other way make the general shaping, because these holes would have no effect on the base mesh that describes the general shaping of the car... Am I right? :P

The reason I ask is because I read the entire thread on the forum F.ip2 (CEKUHNEN) linked to, and that had me confused...
(http://blenderartists.org/forum/showthread.php?t=86077&page=2&highlight=maya+trim)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
478.14 In reply to 478.13 
> Isn't it "just" making a NURBS cage with a control point at the location of each
> vertex in the control mesh?

Well, to begin with a NURBS cage is limited in that it has to have a rectangular grid layout, you can't just connect any arrangement of points together to make a standard NURBS cage. It has to be a regular layout, like a grid of 16 points in a 4 x 4 layout for example. However, the first subdivision for Catmull-Clark results in all quad polygons which then can give a grid layout.


> Seams like sub-d curve algorithms are nearly identical to NURBS' b-spline interpolation algorithm, eh? ;)

It is identical in areas of the sub-d control cage that have a simple quad layout - that is where every vertex is a part of 4 faces around the vertex. The problem is in areas where there is a different number than 4 faces around a single vertex, faces that have these vertices in them are not identical to a NURBS surface and have to have something special done to them to be represented as a NURBS, like some kind of approximation.


> If you were to do the same with the convert-to-NURBS-and-trim-technique, you'd have
> to be able to do the joined-into-one-object-thing, which you just told me was impossible, right?

Yes, sorry I wasn't clear - the convert-to-NURBS-and-trim-technique would not give you any new ability to edit the surface by moving points on trim curves, trim curves would operate the same way as now. What it would give you is a new way to edit the shape of the underlying surface of the trim.


> Therefore, using the car example again, you couldn't use it to cut out the wheel
> holes or windows or doors or headlights, or in any other way make the general
> shaping, because these holes would have no effect on the base mesh that
> describes the general shaping of the car... Am I right?

You could still use trims to cut out wheel holes or windows or doors or headlights just as you can do it now. You just would not edit the surface by yanking on those holes directly, you would edit the surface by editing the control cage, and then the trim curves would either squish with the edits to the underlying surface, or they could be reapplied through new intersection calculations by a construction history operation mechanism.


The only way that I can see for getting trimming plus direct natural editing of the surface by the trim curves is to actually divide the base geometry into smaller pieces during the trim, like polygon trimming does. But this creates a huge problem because after a few trims in the same area you get quite a large number of little teeny-tiny slivery fragments. Tons of little tiny fragments begin to get difficult to work with in several ways - they put a lot more stress on a lot of procedures. For example the more little tiny slivery pieces you have the more likely that a boolean operation is going to have a difficult time processing them and figuring out which pieces are supposed to be sliced cleanly. Fillets are difficult to calculate across a ton of little tiny surfaces instead of across a single larger surface with trim curves on it, etc...

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ELF
478.15 In reply to 478.14 
Yea so it has to be like normal NURBS, where the mesh object is treated as a NURBS suface...

Anyway, the quad cage construction of a NURBS objects, can't you have any number of points on each side of the quad? Like when you make a sweep?
Or did I get something wrong?

Sounds like Max's patch modelling is actually simplified NURBS, but I thought the big advantage of NURBS was that you could define each side of you plane with more points and make it blend with 2-rail sweeps...

And I don't understand the problem with it having to be 4-sided if you can have multiple points on each side of the quad, but you can't??

If you read through the thread I linked to before, you will also find an example where it is shown that Maya can make a sub-D with 3, 4, 5, 6, and 7 sided polies, which is converted to NURBS afterwards, but he also mentions some odd cage topology, so I guess Maya has some special algorithms to handle that.

I wonder if Max's NURMS (Non-Uniform Rational MeshSmooth) is catmull-clark sub-D....
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
478.16 In reply to 478.15 
> Yea so it has to be like normal NURBS, where the mesh object is treated as a NURBS suface...

Except that you would get one of the major benefits of Sub-D over NURBS - your control hull could be set up with a much more arbitrary topology instead of only an M x N grid of points. This would be good for creating things like smooth branching structures. Well, and everything that SubD is good at doing right now.

It would be an alternative method for creating the base NURBS object.


> Anyway, the quad cage construction of a NURBS objects, can't you have any number
> of points on each side of the quad? Like when you make a sweep?

Yes, you can any number on each side, but the points have to be in a grid organization. So that's why you can't take just any polygon mesh and turn it into NURBS by using just the control points of the polygon mesh directly. A random polygon mesh doesn't always have a regular M x N grid layout to it.

For the places in a Sub-D surface that do naturally correspond to a NURBS surface, each quad face of the SubD cage becomes a NURBS surface with a 4x4 control point grid.


> but I thought the big advantage of NURBS was that you could define each
> side of you plane with more points and make it blend with 2-rail sweeps...

That you can define a single patch where each side of the plane with any number of points is a big advantage of NURBS over _Bezier_ surfaces, not over Sub-d surfaces.

Although I guess in a certain sense it does tend to organize things into larger "patch" objects in a natural way which kind of simplifies certain construction-oriented modeling approaches, like there is naturally a longer edge along one side of a sweep instead of a bunch of little tiny edges you would have to chain together for Sub-D. I guess that is kind of a user-interface issue with Sub-Ds - less restriction on topology is not automatically 100% better for all modeling strategies because restrictions on topology have a side effect of creating a type of natural grouping which is suited for certain things.

But for comparison between NURBS and Sub-D, I'd say that the single big advantage to NURBS is the well-defined trim curve mechanism, which is one of the fundamental things that makes stuff like trimming and booleans work well, and having a natural curve-on-surface structure is important to several other operations such as fillets as well.


> so I guess Maya has some special algorithms to handle that.

Yeah, from what I've seen they subdivide a few extra times near the "extraordinary point" (this is what a point shared by other than 4 neighboring faces is called). Each of these subdivisions generates more regular quads and shrinks the difficult area to be smaller and smaller. Then they have some kind of surface fitting mechanism that tries to get a good approximate NURBS surface for the final bit.


> I wonder if Max's NURMS (Non-Uniform Rational MeshSmooth) is catmull-clark sub-D....

I don't know... Probably, it is the most popular subdivision algorithm by far, although there are other methods around.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ELF
478.17 In reply to 478.16 
I'm sorry I keep bringing up the questions, I'm just a very curious guy, I hope it's alright.

Is there a problem with making 3-sided NURBS patches?

And I'm not use I understand why it has to be a grid layout..
Does that mean it's possible to make a 100% quad-based mesh that wouldn't easily be turned to NURBS through this Sub-D method?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
478.18 In reply to 478.17 
> I hope it's alright.

It's alright. :)


> Is there a problem with making 3-sided NURBS patches?

Well, technically there is no problem making 3-sided NURBS patches. There is such a thing where the points are arranged in a kind of triangular grid instead a rectangular grid.

But they are not commonly used because none of the standard file formats allow for them - the standard file formats for transferring NURBS only allow for rectangular style NURBS surfaces.

So that's one reason why the normal way to do a 3-sided patch is to actually do a 4-sided patch with one side compressed down to a point.


> And I'm not use I understand why it has to be a grid layout..

Well, it is fundamentally the way a NURBS surface is defined. Having a grid layout makes the surface behave kind of like a grid network of curves. Like imagine taking one starting curve at one edge, then if you sort of step that curve along the other direction it will sweep out a surface - that's pretty much how a NURBS surface works.

Each NURBS surface has a 2d "parameter space" coordinate system defined along with its 3d points - the rectangular layout is what provides the 2d parameter space portion of the NURBS definition.


> Does that mean it's possible to make a 100% quad-based mesh that wouldn't easily
> be turned to NURBS through this Sub-D method?

I'm not sure if I understand this question, but it is possible to have all quad faces in a mesh but still have points that are shared by more than 4 common faces, like a center point with quads spiraled around it - this again creates an "extraordinary point" that doesn't have a simple automatic NURBS conversion for these faces.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ELF
478.19 In reply to 478.18 

Ah ok, now I get it :) Nearly... :S

NURBS objects have 2 kinds of points, one kind that can be added along the edge of a patch, and one kind that is the corner of a patch, right?

So it works like bezier patches, just with more advanced edge curves (and different interpolation)?

Do you know anywhere where I can read about the fundamental methematical structure of NURBS? So I can understand how it's handled and interpreted mathematically. Just the concepts, not something where I have to understand some advanced math formulas. Haven't had advanced math for a few years now :)

EDITED: 18 Mar 2007 by ELF

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
478.20 In reply to 478.19 
> NURBS objects have 2 kinds of points, one kind that can be added along the
> edge of a patch, and one kind that is the corner of a patch, right?

Well, not just a corner. I guess one thing that is tricky is the names for things. A full NURBS modeler that supports booleans does not just support NURBS surfaces, but actually something more exactly called "Trimmed NURBS surfaces", which includes multiple parts - a NURBS surface + trim information.

There are a set of points for the NURBS surface, and there are a different set of points for the trimming curve information, so yes those are 2 different kinds of points.

Here for example is a simple NURBS surface without any extra trims. In this case the edges run along the natural edges of the surface. You can see here the control point structure of the surface:



Here is the same surface after it has been trimmed. The same surface is still there "underneath" everything, the trim curves are defined by a different set of points than the ones that make up the surface:



> So it works like bezier patches, just with more advanced edge curves (and different interpolation)?

Bezier patches are related and very similar, except there is a much more strict limitation on the number of points that can be in one single Bezier patch. So to make a big long flowing surface only out of beziers will require making a bunch of smaller Beziers stuck together. NURBS surfaces improve on this by allowing any number of points (in one of the grid directions) so it makes it easier to make one big flowing surface.

Actually it is possible to dice up a NURBS surface into smaller Bezier pieces. NURBS are kind of like a method to manage a string of Beziers but in such a way that each Bezier is guaranteed to connect up to one another in a smooth manner.

Then the "more advanced edge curves" part is the trimming mechanism. This is kind of an additional mechanism layered on top of the basic NURBS surface.


About shared edges - that is another level of information to the trim curves. If you have 2 trim curves from different surfaces that touch one another (like they were calculated from an intersection between the surface for example), there can be some information stored that keeps track that these 2 surfaces share a common edge. This is what provides for making a logical "solid" out of a bunch of trimmed surfaces - if every edge is a common edge shared between 2 surfaces you have a connected skin of surfaces that defines a volume.

> Do you know anywhere where I can read about the fundamental methematical structure of NURBS?

Hmmm, maybe Wikipedia?

A lot of computer graphics textbooks will cover it.

This is kind of a high level overview: http://rhino3d.com/nurbs.htm

I think this one is one of the best online articles about how NURBS curves work: http://devworld.apple.com/dev/techsupport/develop/issue25/schneider.html

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ELF
478.21 In reply to 478.20 
Thanks for the info :) Though I kind of understood all of that...
What I kind of didn't get was whether or not you could have points places like thpose in the attachment.

Because if you make a 2-rail sweep, you can have any number of points on each side.. but is that because the 2-rail sweep actually makes an entire grid of patches? Damn I just realised that :S Stupid me...

What I don't get then is why you can't do the same with bezier patches... have 1 side made of 2 points, one parallel maybe of 4 points, and 2 conneting those with sides with 3 and 5 points, and still get the computer to automatically generate a perfect smooth surface...


Oh and BTW... Aren't solids modelers often just NURBS modelers with good trimming? :P Like solidworks, or PowerNURBS/PowerSolid...

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
478.22 In reply to 478.21 
> What I kind of didn't get was whether or not you could have
> points places like thpose in the attachment.

No, not in a standard NURBS surface. This is the kind of thing that the T-Spline guys are working on as an extended type of NURBS surface, but the classic standard style does not allow for single additional points anywhere in the middle like that, if you want to add a point to a standard NURBS surface you have to add an entire row or column of points.


> Because if you make a 2-rail sweep, you can have any number of
> points on each side.. but is that because the 2-rail sweep actually makes an
> entire grid of patches?

I guess the confusing part here is that there is a point matching and refining process that happens during the 2-rail sweep.

So even though your initial rails of the 2 rail sweep can have any number of points, the resulting surface does not use those control points directly, there is a process where the swept surface is shaped to conform to those curves by an ongoing refinement. On each step of the refinement, there is an entire row of points added to the surface being calculated.

So if you turn on the points of a swept surface, you will see that they are in a grid and that they don't match the original rails for example. For multiple profiles there is a process where all the points of the profiles are merged together so that there is a common number in that direction as well.

So the initial curves with different numbers of points don't just go directly into making up the surface.


> What I don't get then is why you can't do the same with bezier patches... have 1
> side made of 2 points, one parallel maybe of 4 points, and 2 conneting those with
> sides with 3 and 5 points, and still get the computer to automatically generate a
> perfect smooth surface...

Well, the computer has to manipulate something to make a perfectly smooth surface.

If you have a bezier surface made up of just 2 points for example, that is limited in the type of shapes it can make, you can make a plane with it or a kind of limited curve if the points are not on the same plane, but there are not enough points available in a 2-point structure to adjust it to make it connect up smoothly to something that is wiggling around a lot.

It's like saying you should be able to take a 2-point line segment in the middle of something and make it smooth by changing the points. But you can only connect 2 points in a straight line, you can't make 2 points form a smooth curve.

It is possible to make Beziers have more points to give the computer something to edit to manipulate the shape. But this tends to be clumsy because it means you have to lock down the location of a whole bunch of points to make them smooth with the adjacent patch. Pretty soon you can only make clumsy edits because most of the points are locked down to provide smoothness.


> Oh and BTW... Aren't solids modelers often just NURBS modelers with good trimming?
> :P Like solidworks, or PowerNURBS/PowerSolid...

Yes, 99% of "solids" modelers are NURBS based, with trimmed NURBS surfaces and "B-Reps" (Boundary-representation) which is the name for trimmed surfaces + the ability to have shared edges beween surfaces.

But a lot of solids modelers tend to incorporate other layers of mechanisms in them such as constraint-based solvers where you can tag certain dimensions to be rigid and have it calculate other dimensions for you, and many of them sort of present a particular style of user interface for how you interact with objects. By this I mean they don't tend to give you access to stuff like the individual control points on the NURBS surfaces even though they are using those behind the scenes.

So there tends to be a package of additional mechanisms and certain types of workflow associated with the "solids" modelers.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ELF
478.23 In reply to 478.22 
Ah damn, I don't get it :S I don't get why you can't 2-rail sweep-generate a bezier controlled patch surface... in all it's simplicity, is it because the points are too complex? B-splines are only defined by a point in space, while beziers are 4 vectors in space, right?

I'm sorry, I just didn't understand anything of what you wrote :S
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
478.24 In reply to 478.23 
> Ah damn, I don't get it :S I don't get why you can't 2-rail sweep-generate a
> bezier controlled patch surface...

It's just more difficult to create longer surfaces out of Beziers because each individual Bezier is limited in the number of points it can have in it, so you would have to use a bunch of them stuck together, with the points carefully arranged to try and make them smooth.

NURBS was basically invented to solve this problem, it is a way to have a longer string of points than a bezier can have in it.


> B-splines are only defined by a point in space, while beziers are 4 vectors in space, right?

No, Beziers are also defined by points in space. Sometimes they may be displayed with stuff that looks like vectors but those are just lines connecting between the points.

A Bezier surface looks the same as a NURBS surface, it is a rectangular grid of points just like a NURBS surface.

But a bezier can only have as many points as its "Degree" + 1. The "Degree" is one part of the definition of a NURBS or Bezier, it defines the highest exponent of the math function used for the blending calculations.

So a degree 3 bezier curve is made up of 4 points. You can only make so many shapes with 4 points, to make more intricate shapes you need to use more points, which for beziers means trying to stick together a bunch of separate beziers.

NURBS allows for more points, if you have a NURBS curve of degree 3, it can have a minimum of 4 points (which makes it equivalent to a bezier), but it can have any number more than that. The NURBS blending method makes it easier to get a smooth result curve from a longer chain of points, it is built in to the smoothing formula, instead of being something that you have to do manually by arranging points which you have to do if you stick small bezier curves next to one another.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ELF
478.25 In reply to 478.24 
Hmm, I THINK I got it now...

What do you mean with an individual bezier? a bezier point? patch?

Damn this is hard to grasp :S I might have more questions for your reply later...
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1-5  6-25  26-44