Quadratic Bezier Strand Curves

Plugins linking to this thread: (hide)

Quadratic Bezier Strand CurvesAuthor: Rob Chapman
»3 point« beziers computing faster than the factory bezier compound. Download link contains an article with a bit of theoretical background on the subject.

local backup: Quadratic Bezier_curves.xsicompound

User avatar
Tekano
Posts: 488
Joined: 09 Jun 2009, 14:49
Location: London, UK

Quadratic Bezier Strand Curves

Post by Tekano » 30 Jul 2011, 12:41

here is a compound and details can be found here

Quadratic Bezier Curve Compound details
You do not have the required permissions to view the files attached to this post.
Gossip is what no one claims to like, but everybody enjoys.

User avatar
Mathaeus
Posts: 1763
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia

Re: Quadratic Bezier Strand Curves

Post by Mathaeus » 04 Aug 2011, 00:59

Nice one !

btw I've also used '3 point' Bezier in Kristinka Hair, because of speed. Probably this a fastest way of interpolation. There is compound called 'kH Cross Sections' or something, which spans quadratic curve along more than 3 points - if this can help in your work, be free to do whatever you want with it.

Cheers

User avatar
Tekano
Posts: 488
Joined: 09 Jun 2009, 14:49
Location: London, UK

Re: Quadratic Bezier Strand Curves

Post by Tekano » 04 Aug 2011, 11:53

awesome, will definitely take a look at your compound see how you spanned the quadratic bezier along more points, this stuff is pretty damn interesting and always a nice surprise when it works :D
Gossip is what no one claims to like, but everybody enjoys.

User avatar
Mathaeus
Posts: 1763
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia

Re: Quadratic Bezier Strand Curves

Post by Mathaeus » 05 Aug 2011, 03:59

btw I remember I had a tons of resources about one segment creation, and exactly nothing about joining the segments :) seems to be implementation specific stuff.
I don't want to be against your exploration experience, anyway I'll take look if there is any question in this thread :)

cheers

User avatar
Tekano
Posts: 488
Joined: 09 Jun 2009, 14:49
Location: London, UK

Re: Quadratic Bezier Strand Curves

Post by Tekano » 05 Aug 2011, 12:29

Thanks Mathaeus, I know that you have gone infinitely further with developing Strands in building Kristinka, and I very much appreciate the offer of assistance and also not to spoil the journey :) I guess that is part of the process, the delight of seeing something applied in ICE and working as it should whereas before it was for me some vague unknown mathematical equation. I will try and publish more thoughts & tutorials on learning ICE and will not hesitate to ask questions here, but if you have stuff that you want to show or describe in the process of researching, please do! :D
Gossip is what no one claims to like, but everybody enjoys.

User avatar
Mathaeus
Posts: 1763
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia

Re: Quadratic Bezier Strand Curves

Post by Mathaeus » 05 Aug 2011, 14:56

Here is a basic example, mentioned compound from kHair has a lot of system related stuff. Basically, steps are;

1.create an array of 3d vector inputs ( it can be existing strand array )
2.linearly subdivide this array
3 interpolate on result. For spanning, miltiply the output of 'Build Linearlt Interpolated Array' over 1, modulo it by 1.

Because this one ( and probably another 'ICE way') uses a good bit of rounding, rounding errors can happen, that's a reason of subtract by 0.001, here and there.
Compound called 'kH interpolate array on array' is basically the same as 'get position from strand' from Mt strands/Melena, but with built in 'rounding error avoidance'.

Imho all that stuff (at least when you are with bezier curves) rely much more on skill, instead of some rocket science. Example is for 2 segments or more, for something between 1 and 2 you'll need to build something else (because 'first' subdivision' skip the first and last point). To get something close to even distribution, first and least segment has to be 2 times shorter.

Afaik 'Fit Bezier Curve' creates a Catmull-Rom curve, which is much more complex. I think 'Fit Bezier Curve' has one more level (or two...) of 'pre-subdivision', so it's slower to execute.

cheers

User avatar
Tekano
Posts: 488
Joined: 09 Jun 2009, 14:49
Location: London, UK

Re: Quadratic Bezier Strand Curves

Post by Tekano » 05 Aug 2011, 16:51

excellent, had a quick look, will dissect it more thoroughly later, seems its not as simple with all the pop from arrays and rounding errors stuff but probably is if I follow through the tree, thanks very much!
Gossip is what no one claims to like, but everybody enjoys.