[Bf-committers] Surface and Volume modeling with new developed Bezier-Surface math

Brecht Van Lommel brechtvanlommel at pandora.be
Sat Sep 21 22:09:39 CEST 2013


In your example it seems you have 6 regular vertices with nice
matching handles, but if you want to do more complex shapes, things
aren't so simple anymore. If a vertex doesn't have 4 neighbours, what
happens then? The tricky thing is extending such a method to arbitrary
topology, while still keeping the surface smooth.

Subdivision surfaces are the most popular extension that support
arbitrary topology, they don't have handles but can support creases.
T-splines are an interesting extension of NURBS to less restricted
topology, with handles, but don't support triangles I think (and
T-splines are patented). There exist Gregory patches though they
aren't as smooth. If you look for research papers about these things
you will find various methods with different properties and
trade-offs.

On Sat, Sep 21, 2013 at 5:48 PM, Roland Adorni <rol at solnet.ch> wrote:
>
> Hello and thank you for your answer
>
> I wonder if I can post pictures?
>
> Let's try this:
>   Imagine 3 Bezier Circles like you can generate them in Blender in 3D
> mode seen in edit mode.
> One horziontal one vertical (90deg rotated in X)  one vertical (90deg
> rotated in Y).
>
> Now let's see/convert it into a Bezier Sphere-Volume.
> You have 6 crossing points of the circles. This will be the 6 bezier
> points of the volume
> At each of those crossing points you have 4 handles/legs 2 from each of
> the crossing circles.
> The Bezier-Sphere-Volume will have the same 4 handles/legs.
>
> Now how to deform/shape that volume?
> You pull at those points or you pull at the handles/legs or change their
> direction same as you do for the Bezier Path..be it 2D or 3D.
>
> You can manipulate the Bezier volume the same way as you modify the
> bezier path.
>
> That's a bit the idea I have in mind. I want the surface have to go
> through the points I modify rather than haveing an enclosing grid like
> with NURMBS. And I like the handles.
>
> As you know the Bezier point and handle system is a very mighty way to
> create accurate curved paths. (accurate in the sense that it will fit
> easy and fast what you really like to have)
>
> So If I can design a volume/surface the same way just with extrema
> points and tangent handles to it (transforms in something like a
> tangential- plane -handle in the surface/volume case)
> then I believe it is simpler for not so talented people like me to
> create (accurate) curved 3D volumes in a very fast and easy way.
>
> The idea about Bezier -Volume is to have them constructed out of bezier
> -triangles or the 4 corner surface (forgot the name) whereas the
> triangle is the more accurate solution.
>
> So I think instead creating a complex curved volume out of normal
> triangles you could do the same with a few bezier-points/triangles or faces.
>
> Sorry if I am a bit raw worded in the description I don't know all the
> words.
>
> So the math is a formula like you know it from the bezier 2D or 3D path
> not so much more complicated.
>
> It's just an enhanced formula to make what I describe above possible.
>
> I don't know if my Bezier-surface/volume modeling idea /formula is
> useful to you. It's just my idea how curved 3D modeling could be done
> better.
>
> The math/formula is the least work of course. I have it and you can have
> it if you are interested to try out something in that direction.
>
> greetings
> rad
>
>
>
> On 21.09.2013 02:31, Brecht Van Lommel wrote:
>> Hi Roland,
>>
>> There's are various known methods to extend 2D curves to 3D surfaces,
>> like NURBS, Catmull-Clark, Loop subdivision surfaces or T-Splines. I
>> can't tell from the description, but maybe you derived a similar
>> algorithm independently? For some new surface representation to be
>> added to Blender I guess it would need to have compelling properties
>> that existing algorithms don't have.
>>
>> Brecht.
>>
>>
>> On Fri, Sep 20, 2013 at 9:04 PM, Roland Adorni<rol at solnet.ch>  wrote:
>>
>>> Dear Blender-Developer-Community
>>>
>>> I am not sure who I have to contact with this but I found this mailing
>>> list in your contact page and so I registered and post it here.
>>>
>>> I am not the most skilled 3D modeler and so I often wondered how 3D
>>> volume modeling could be done better.
>>> I figured out that I can very well shape 2D objects with the Bezier
>>> curves and wondered how they can be enhanced to model surfaces and volume.
>>>
>>> So I took a look at the math and did some first calculations and tests
>>> with octave (matlab clone)  and wxMaxima (mathematica clone) and the
>>> first results look promising to me.
>>>
>>> Different to the known Bezier surface you can find in the wiki the
>>> surface in my approach will not use a grid. It's defined by the corner
>>> points and legs like we have it in the 2D case.
>>>
>>> With it it's possible forexample to create a sphere out of 6 such
>>> points. (same leg length value as you have it in the 2D case)
>>> ->  The 4 points as you have it in your 2D-Bezier circle and an
>>> additional point on x (0,0,1) and one on (0.0,-1) building 8
>>> Bezier-surface triangles.
>>>
>>> In basics the Bezier surface I calculate is a bit a more natural
>>> enhancement of the 2D Bezier curve reduced to the really required points
>>> only. The math behind it is not too complicated and should be well
>>> implementable.
>>>
>>> Let me know who to contact if you have interest.
>>>
>>> best regards
>>> rad
>>>
>>>
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
>>
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list