SubD vs X-splines and NURBS

edited October 2020 in General

It seems that SubD has some similarities with NURBS and T-splines
So, I open this page for discussing similarities and differences of SubD with NURBS, THB-splines, T-splines, B-splines, ...

Opus

Comments

  • JQLJQL
    edited October 2020

    The main difference for me is that SubD geometry isn't accurate. You build your control geometry and can base it on accurate measurements. However when you subdivide it the control geometry vertexes change position (on a cube they would shrink) and keep changing with further subdivisions. The final geometry's position will not be accurately known.

    Also multiple subdivisions of a square will not result in a circumscribed geometry, only something close to that. A cube will not result in a sphere, only something aproximated to it.

    There might be some additional methods for SubD that might be more predictable. If those methods exist already I don't know. If they did it would be great. Usual methods use an eyeballing approach that I'm not fond of.

    What's great about Subd is the texturing proccess. And texturing is a very important part of an architectural conceptual approach, not only geometry.

    I have to say that the representation of materiality, is where BIM lacks the most and Computer Graphics Industry is leading the way.

    That's why I love BlenderBIM's potential.

    ReD_CoDE
  • I’ve played more with Rhino and Clayoo sub-d conversion than T-Splines or Fusion, but here’s my take on the differences. As far as I know, all three are based on the Catmull Clark subdivision system, so the sub-d smoothing part should similar, except T-splines treats “star points”, and “triangles” a little different than the other two, and will not produce G2 continuity at these junctions. Nurb conversion is very different between the three programs, with Clayoo producing at least four patches per sub-d face similar to polygon based programs such as Lightwave or MODO, except in nurb format. Rhino will produce one nurb patch per sub-d face for all quads even at star points, except for “triangles”, which become three smaller nurb patches to maintain continuity. In T-Splines I believe you have two options for nurb conversion, where on quads at least, you get one patch per sub-d face, or you can simplify the surface, and bridge patches across multiple faces as long as they do not contain any star points of triangles. The plus side to this method is you get a “lighter” nurb model, but with some loss in accuracy especially at sharper corners. If I remember right, by default T-Splines splits nurb patches into tiny sections near star point junctions, it also creates a form of “edge loops” that span from one star point to another across a surface, which i remember not liking that much. Although Rhino maintains a 1:1 sub-d to nurb patch ratio, it’s not perfect either, as does add more isocurves to patches located at star point junctions or triangles, but the isocurve count is reduced for each patch as they become further away from the star point junction. Personally I found the Rhino system to be the best compromise of the three for overall surface accuracy with it’s 1:1 patch ratio, and can verify that the nurb polysurface is an exact clone of the sub-d surface with full G2 continuity, (even across most triangles). 'Hope that little explanation helps


    When I say Rhino is not perfect, it’s more of an “ideological comment”, as it would nice if every patch had 2 rows of control points for each edge regardless of shape, but I know that’s not mathematically possible in sub-d patches that are not “square”. I understand why the extra isocurves are required as they have to follow the flow of the the sub-d edge lines which must converge at some point in a triangle or arrowhead shaped quad. I spent many hours trying to manually simplify or rebuild patches in these areas, and don’t think there’s any geometric way around it without destroying the flow of the edge loops. I was was lucky enough to connect with Dale when he was writing the code for the conversion, and I think he’s he’s pretty much nailed it in that almost all patch conversions are 1:1, and he made the isocurve density gradually decrease as each patch gets further away from the triangle or star point rather than continue on toward the next star point in the loop. In that area I would say your system is the best all around compromise as the patch counts are much less than what you get from Clayoo, and more consistent than what you get with T-Splines without manually trying to clean them up. Even though you can merge patches in T-splines during conversion which is kind of nice, that technique only works on square patches flowing in straight lines, and star point or triangulated areas still end up being messier (and lumpier) than with Rhino.
    What I’m waiting for are a decent set of cage hull creation tools in Rhino. While not impossible to use, I find the toolset in that area to be so disparate and inefficient that I make all of my cages in Lightwave, (MODO would be my 2nd choice) and then port them over to subdivide and patch after. If I have to make small changes, then I’ll stay in Rhino, but if it’s fairly major, then I’ll go back to LW, and re do it there. I’m curious of one thing relating to all of this. When you finally release your sub-d system, will it be just another part of the base program, or will it be purchased as a separate plug in like you do with the render packages?


    One thing I’ve noticed with sub-d modelling is there seems to be two distinctly different modelling styles, so each one has their own preferred tool set and workflow. It seems that T-Spline and Alias guys like to model by “growing” patches, so they want more sweep and bridge type of tools, but if you’re from the old school , Lightwave-MODO or Blender camp, you’re likely more of a “push-pull” box modeler and would probably want more extrude and slice-n-dice type of tools. I’ve never used Blender, but with MODO being a Lightwave offshoot, I know their workflows are very similar.


    Reference: https://discourse.mcneel.com/t/subd-vs-t-spline-geometrical-differences/77876


  • What's the purpose of asking a question and then reference all that info here?

  • Gathering information and sharing with all is the best way to orchestrate all around the topic
    This topic is not an easy topic

Sign In or Register to comment.